MRTG でネットワーク機器の管理

能書き
MRTG とは、SNMP(Simple Network Managment Protocol)対応機器が発信する情報 (Trapと呼ぶ)を収集するソフトです。もともとUNIX用らしく、Perlで書かれています。
ちなみに Perl とは、UNIX系のOSで標準装備されているスクリプト言語です。

入手
公式日本語サイトからダウンロードできます。 また、MRTG は Perl スクリプトで書かれていますので、Windows上で動作する Perlインタープリター が必要になります。こちらから「ActivePerl」 というソフトを入手します。

インストール
先に「ActivePerl」をインストールします。インストーラのメッセージに従って適当にやれば終わり。 「MRTG」の方は、ZIPパッケージをディレクトリ構造付きでC:\に解凍します。 C:\mtrg-*.*.** 以下にインストールされます。フォルダ名の「*.*.**」はバージョンナンバーです。

設定
コマンドプロンプトを開いて c:\mrtg-*.*.**\bin に移動し、次のようにコマンドを実行する。

 perl cfgmaker public@192.168.11.1 --global "WorkDir: c:\temp" --output mrtg.cfg

ここで、

 「public」・・・ SNMP のコミュニティ名。とりあえず「public」を指定。
 「192.168.11.1」・・・監視する機器のIPアドレス。ここではルータを指定。
 「c:\temp」・・・データを置くフォルダ名の指定。

作成された「mrtg.cfg」が設定ファイルになる。一定時間ごとにデータを収集して監視するには、 「mrtg.cfg」に次の1行を追加する。

 RunAsDaemon: yes

起動
c:\mrtg-*.*.**\bin で次のコマンドを実行する。

 start /Dc:\mrtg-****\bin wperl mrtg mrtg.cfg

すると、trap を受信した結果が C:\temp にHTMLファイルとし出力される。 開いてみると、トラフィックの変化が1日間、1週間、1年間の3種類のグラフで表示される。 放っておくと、5分毎にデータが更新される。

ということで、とりあえずルーターのトラフィックを取得できるようになった。 然るべき設定をすれば、トラフィック以外にいろいろ情報を取得できるらしい。