MRTGのインストール
バージョン | MRTG 2.9.17 | |
OS | Red Hat Linux 7.2 (Kernel 2.4.7-10) | |
ホームページ | https://oss.oetiker.ch/mrtg/ | |
ホームページ(日本語) | http://www.mrtg.jp/doc/ |
MRTGはネットワークの状態などをグラフ化するSNMPマネージャです。これにより、ネットワークの状態が視覚的に把握できるようになります。
SNMPエージェントが監視対象となります。SNMP対応のネットワーク機器、またはSNMPエージェントが稼動しているマシンが必要です。
必要な周辺ソフトのインストール
MRTGにはPerl、gd、zlib、libpngが必要です。Perlはほとんどのシステムに入っていると思いますが、他は入っていない場合もありますので、確認してください。Perlのインストールはこちらを参照して頂くとして、他のソフトのインストール手順は次の通りです。(この順序でインストールしてください)
zlib
ダウンロード:ftp://sunsite.cnlab-switch.ch/mirror/infozip/zlib/
$ tar xvfz zlib-1.1.3.tar.gz $ cd zlib-1.1.3 $ ./configure $ make $ make test $ su # make install # exit
libpng
ダウンロード:http://www.libpng.org/pub/png/src/
$ tar xvfz libpng-1.2.1.tar.gz $ cd libpng-1.2.1 $ cp scripts/makefile.linux makefile $ make test $ su # make install # exit
GD
ダウンロード:http://www.boutell.com/gd/
$ tar xvfz gd-1.8.4.tar.gz $ cd gd-1.8.4
筆者の環境ではライブラリが不足していて標準のMakefileのままではコンパイルできなかったので、調整してオプションを最低限にしました。
CFLAGS=-O -DHAVE_LIBPNG INCLUDEDIRS=-I. -I/usr/local/include LIBDIRS=-L. -L/usr/local/lib
続いてmake、make installです。
$ make $ su # make install # exit
MRTGのインストール
MRTGのインストール自体は簡単で、普通のconfigure、make、make installの手順です。
$ tar xvfz mrtg-2.9.17.tar.gz $ cd mrtg-2.9.17 $ ./configure $ make $ su # make install
MRTGの設定
MRTGが生成するHTMLファイルなどが置かれるディレクトリを作ります。
# cd /usr/local/mrtg-2 # mkdir data
次に設定ファイルを作ります。これにはcfgmakerというスクリプトを使います。引数として「コミュニティ名@SNMPエージェントのIPアドレス」を指定します。すると標準出力に設定が出力されるので、リダイレクトして設定ファイルを作ります。
# bin/cfgmaker [email protected] > data/mrtg.cfg
SNMPエージェントが複数ある場合は、>>でリダイレクトします。
# bin/cfgmaker [email protected] >> data/mrtg.cfg
このようにして作成した設定ファイルは雛形なので、設定を調整する必要があります。まず必ず設定しなくてはならないのが、WorkDirです。data/mrtg.cfgに次のような行を加えてください。
WorkDir: /usr/local/mrtg-2/data
MRTGの起動
設定ファイルを引数に指定し、MRTGを起動します。これでレポートHTMLファイルが生成されます。
# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/data/mrtg.cfg
さらに進んだ設定
ネットワークのトラフィックだけでなく、CPU負荷率、メモリ使用量、ディスク使用量についてもグラフ化してみます。
設定ファイルの内容については、SNMPの知識が要求され複雑なので、ここでは解説を割愛し設定ファイルのサンプルを掲載しておきます。(SoftwareDesign 2002年1月号を参考にしました)
traffic.cfg | ネットワーク転送量の監視 |
cpu.cfg | CPU負荷率の監視 |
memory.cfg | メモリ使用量の監視 |
disk.cfg | ディスク使用率の監視 |
traffic.cfgのMaxBytesには環境に合わせて設定します。例えば10Mbpsであればバイトに変換して、1250000バイトになります。
memory.cfgのMaxBytes1、MaxBytes2はそれぞれ実メモリの最大値、スワップの最大値を設定します。これはsnmpgetを使って次のように取得します。
$ snmpget localhost private enterprises.ucdavis.memory.memTotalReal.0
$ snmpget localhost private enterprises.ucdavis.memory.memTotalSwap.0
このサンプル設定ファイルでは、MRTGをデーモンとして起動するように設定されています。正しく配置したら、MRTGを起動します。
# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/data/traffic.cfg # /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/data/cpu.cfg # /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/data/memory.cfg # /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/data/disk.cfg
HTMLのインデックスを生成
このようにして作成されるレポートは、監視対象ごとにHTMLファイルが生成されるため、HTMLファイルへのアクセスが面倒です。そこで、各レポートへアクセスするためのインデックスページを生成することができます。
インデックスページを生成するには、indexmakerというスクリプトを使用します。
# bin/indexmaker data/traffic.cfg > data/traffic.html # bin/indexmaker data/cpu.cfg > data/cpu.html # bin/indexmaker data/memory.cfg > data/memory.html # bin/indexmaker data/disk.cfg > data/disk.html