[eproot トップページへ]

MRTG の手引


目次

1. MRTG とは?
2. ソースの入手
3. MRTG 設定ファイルの作成と編集
4. 実行テストと cron の設定
5. カスタマイズ
6. 参考文献


1. はじめに

MRTG (Multi Router Traffic Grapher) は, SNMP に対応したネットワークデバイスから取得したトラフィック情報を監視し, グラフ化するソフトウェアである. 取得した情報の統計は HTML ファイルと画像ファイル (デフォルトでは PNG) に出力されるので, それを閲覧するためには MRTG を起動ホストにおいて別途 web サーバを起動しておく必要がある. また監視対象のホストには SNMP エージェントの設定が必要である.

2. ソースの入手

ソースコードは http://oss.oetiker.ch/mrtg/pub/ から入手できる. Debian GNU/Linux を利用している場合,
# apt-get install mrtg
としてインストールできる.

3. MRTG 設定ファイルの作成

設定ファイルの作成は cfgmaker コマンドを用いて行う.
$ cfgmaker COMMUNITY@hostname
[COMMUNITY] には SNMP エージェントホストで設定したコミュニティ名を指定する. 実行結果は標準出力に表示されるので, リダイレクトさせてファイルに保存する.
$ cfgmaker COMMUNITY@ringo > ~eproot/lib/mrtg_ringo.conf $ chmod 640 ~eproot/lib/mrtg_ringo.conf
設定ファイルは /home/eproot/lib/mrtg_ringo.conf とした. 設定ファイルには SNMP コミュニティ名が生書きされているので セキュリティの観点から設定ファイルのパーミッションを変更しておく.

設定ファイル内において MRTG が作成する HTML ファイル, PNG 画像の格納先を指定する行を追加する. 書式は
Workdir: directory
である. ここでは格納先ディレクトリを /home/eproot/public_html/mrtg/ とする.

4. 実行テストと cron の設定

MRTG をコマンドラインで実行してみる. これは root 権限で行う.
# mrtg /home/eproot/lib/mrtg_ringo.cof
警告メッセージが表示されるが気にしなくてよい. /home/eproot/public_html/mrtg/ 以下に統計情報が出力されているかどうか確認する (出力例はこちら) .

今回の利用では監視するネットワークデバイスが 2 つある. そこでそれぞれのデバイス情報を出力した HTML ファイルをたばねる目次ファイル を作成する. 目次ファイルは indexmaker コマンドで作成される.
# indexmaker -b "#ffffff" -t "Summary of Network Traffic on Ringo" /home/eproot/lib/mrtg_ringo.conf > /home/eproot/public_html/mrtg/summary.html
目次ファイルの作成例はこちら.

最後に MRTG を定期的に実行する設定を行う. ここで 5 分に一回起動することにする. root 権限で
# crontab -e
とし, 以下のリストを加える.
*/5 * * * * /usr/bin/mrtg /home/eproot/lib/mrtg_ringo.conf

5. カスタマイズ

設定ファイルに加筆, 修正してカスタマイズを行う

1) 出力ファイルの仕分け

MRTG によって作成されるファイルは WorkDir: で指定されたディレクトリ直下にフラットに並ぶ. これを監視デバイス毎に異なるディレクトリに格納させるため, 設定ファイル /home/eproot/lib/mrtg_ringo.conf 内において各監視デバイス毎に Directory[ ]: オプションを追加する.

Target[ringo.ep.sci.hokudai.ac.jp]: 2:(コミュニティ名)@ringo
Directory[ringo.sci.hokudai.ac.jp]: eth0
...
Target[ringo.ep.sci.hokudai.ac.jp]: 3:(コミュニティ名)@ringo
Directory[ringo.sci.hokudai.ac.jp]: eth1

あらかじめ Workdir/ 以下のにeth0, eth1 ディレクトリを作成しておくこと.

# mkdir /home/eproot/public_html/mrtg/eth0
2) グラフの時間軸の設定

MRTG の作成するグラフの時間軸はデフォルトでは左向きにとられている. これを右向きに変更する.

Option[_]: growright
3) アイコンディレクトリの指定

MRTG の作成される HTML ファイルに張り込まれるアイコン gif ファイルの置場所 を指定する.

IconDir: /var/www/mrtg
4) 日本語化

MRTG の作成する HTML ファイルで日本語を表示できるようにする. HTML ファイルは Perl スクリプトである /usr/sbin/mrtg によって作成される. そこで /usr/sbin/mrtg 内で HTML ファイルの文字コードを指定している部分を直接書き換える. 具体的には "charset=iso-8859-1" となっている部分を "charset=iso-2022-jp" とする.

'<META HTTP-EQUIV="Content-Type" CONTENT="text/html;'.&$LOC('charset=iso-2022-jp')."\">\n";

目次作成コマンド indexmaker も同様に書き換える.

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-2022-jp">

これに対応し設定ファイル /home/eproot/lib/mrtg_ringo.conf 内の表記も変更する.

PageTop[ringo.sci.hokudai.ac.jp]: <H1> EPネットワークルータトラフィック解析 (eth0) </H1>
<TABLE>
<TR><TD>装置名:</TD><TD>ringo (Cisco Catalyst 3560G-24)</TD></TR>
<TR><TD>管理者:</TD><TD>eproot <eproot@ep.sci.hokudai.ac.jp></TD></TR>
<TR><TD>インターフェース:</TD><TD>eth0 (2)</TD></TR>
<TR><TD>IP アドレス:</TD><TD>ringo.ep.sci.hokudai.ac.jp (133.50.134.141)</TD></TR>
<TR><TD>回線最大速度:</TD> <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR>
</TABLE>
...
PageTop[ringo.sci.hokudai.ac.jp]: <H1>EPネットワークルータトラフィック解析 (eth1)</H1>
<TABLE>
<TR><TD>装置名:</TD><TD>ringo (Cisco Catalyst 3560G-24)</TD></TR>
<TR><TD>管理者:</TD><TD>eproot <eproot@ep.sci.hokudai.ac.jp></TD></TR>
<TR><TD>インターフェース:</TD><TD>eth1 (3)</TD></TR>
<TR><TD>IP アドレス:</TD><TD>ringo.ep.sci.hokudai.ac.jp (133.50.160.22)</TD></TR>
<TR><TD>回線最大速度:</TD> <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR>
</TABLE>
4) 再起動
最後に MRTG を再起動し, 目次ファイルの再作成を行う.
# mrtg /home/eproot/lib/mrtg_ringo.cof # indexmaker -b "#ffffff" -t "EP ネットワークルータトラフィック" /home/eproot/lib/mrtg_ringo.conf > /home/eproot/public_html/mrtg/summary.html

6. 参考文献


最終更新日: 2002/08/05 小高正嗣 新規作成
2011/10/21 小高正嗣 Debian GNU/Linux 6.0 用に更新
Copyright © 2002- EPnetFan. All rights reserved.