MRTG

最終更新日時:2010-12-10 00:00:00
その他UNIX系

MRTG は数値から統計をとってグラフ化し、画像を作成するツールです。
SNMP を使用してネットワークトラフィック等のシステム情報を取得し、グラフ化することによく使われます。

インストール


mrtg-2.15.1 の例です。
※2.16.4 も同様。

MRTGはPerlのプログラムなので、当然Perl環境が整備されていることが前提となります。
また、グラフを作成する部分でGDを使っているので、GDがインストールされていない場合には、GDを前もってインストールしておく必要があります。

まず、MRTG の公式サイトからアーカイブを取得し、展開します。

 % gzip -dc mrtg-2.15.1.tar.gz |tar xvf -
 % cd mrtg-2.15.1


あとはお決まりのパターンです。

 % ./configure
 % make
 % su
 # make install


設定


MRTG は設定ファイルに従って処理を行うので、必ず設定ファイルを作成する必要があります。
全てを手で書いてももちろんOKなのですが、設定ファイルを作成する cfgmaker という便利なコマンドがあるので、通常はそれを使用します。

 % /usr/local/mrtg-2/bin/cfgmaker public@server1 > mrtg.cfg


cfgmaker は標準出力に設定内容を出力するのでリダイレクトします。
上記の例では server1 の public というコミュニティからネットワークトラフィックの情報を取り出すという設定を作成します。
中身を見てみれば分かりますが、コメントアウトされているものも含めると全てのネットワークインターフェイスに対しての設定が出力されます。
これ以外に最低限必要な設定は「WorkDir」です。
これは、MRTGがデータを出力するディレクトリを指定します。
グラフは HTML で見る形なので、Web サーバが参照できる場所に出力しておくと便利です。

 WorkDir: /home/www/MRTG


とりあえず、これだけで実行は可能な状態です。
他に通常は設定しそうな主な項目を参考までに挙げておきます。

設定例設定内容
IconDir: imagesMRTG のロゴとかがあるディレクトリ。別に MRTG のバナーがエラーになったりしても気にしないのであれば全然問題無し。
Interval: 5mrtg を実行する分数。グラフの横軸に関わってくる(?)
Refresh: 300ブラウザを更新する秒数。MRTG の出力した HTML はブラウザに対して自動更新するように書かれている。
Language: eucjp出力を EUC-JP 対応にする
"Options[_]:growright bits"Options は各ターゲットで指定するもので、[_] という書き方は、全てのターゲットで共通という意味になる。growright は右に向かって進んでいく形式、bits はトラフィックの単位を bits に設定。


実行方法


グラフを作成するには、単に設定ファイルを指定して mrtg を実行するだけです。

 % /usr/local/mrtg-2/bin/mrtg mrtg.cfg


何やらズラズラと Warning が表示されると思いますが、これは1回目と2回目は出力されるものなので気にしなくてOKです。
従って、とりあえず2回は手動で実行してみます。
3回目には何も表示されなくなると思います。
2回実行したところで、ブラウザで見てみるとグラフが作成されているはずです。

インデックス作成


ターゲットがいくつか存在すると HTML ファイルも複数作成されます。
このままでは閲覧が面倒なので、これらのグラフのインデックスを作成すると便利です。
MRTG には標準で indexmaker というインデックスを作成するツールがありますので、これを使用します。

 % /usr/local/mrtg-2/bin/indexmaker --title 'koumei2 Analysis' mrtg.cfg > index.html


--title でインデックスのタイトルを指定できます。

自動更新


さて、手動でグラフが出力されるのが確認できたら、自動的に更新されるように設定します。
自動更新には2通りの方法があります。
cron を使う方法と、mrtg をデーモンとして起動する方法です。
cron の方は普通に mrtg を起動するタイミングを crontab で設定すればOK。
例えば5分起きに実行するのであれば、

 */5 * * * * /usr/local/mrtg-2/mrtg /home/koumei2/mrtg/mrtg.cfg


というような感じ。

mrtg をデーモンとして起動する方は、以下を設定ファイルに記述します。

 RunAsDaemon:Yes


RunAsDaemon を有効にして mrtg を実行すると、mrtg はデーモンとして起動され、Interval で設定した分数ごとにグラフを更新するようになります。

リンク


サイト名概要
MRTG.JPMRTG公式日本語サイト。MLあり
MRTGによるネットワーク監視MRTG のインストール、設定の解説があります。CPU、メモリ、ディスク用の設定ファイル例もあります。
MRTG編MRTG の解説。かなり細かい部分まで解説されています。


お問い合わせは 掲示板 にて。