MRTG の設定


MRTG は、各ターゲットごとに *.cfg ファイルを作る必要があります。そのための支援スクリプトが cfgmaker という perl スクリプトです。MRTG のモジュールはこの他にも perl のスクリプトが多く、だからたいていの UNIX系OS や Windows系OSで動くわけですが、たとえば FreeBSD 2.x で perl5 を追加した場合には perl のフルパスが標準のものと異なります(というか、path 環境変数の設定の都合上、単に perl とすると perl4 が呼び出されてしまいます)ので、こういった場合には注意が必要です。



・Webサーバ側の準備

Web サーバのどのディレクトリにファイルを置くのか決めておく必要があります。たとえば、 http://www1.mydomain/mrtg/ 以下で見せるとすると、実際のファイルは今の場合 /usr/local/apache/htdops/mrtg/ 以下に置くことになります。(もちろん、httpd のドキュメントディレクトリの設定に依存します。適当に読み変えてください)

まずは MRTG のアイコンなどを WWW サーバのしかるべきディレクトリにコピーします。


% cp /usr/local/src/mrtg-2.9.17/images* \ /usr/local/apache/htdocs/mrtg/

・cfgmaker を使う

いよいよ設定ファイルを作ります。といっても何も難しいことはないです。測定対象は予め起動しておき、SNMP に反応するようにしておく必要があります。

たとえば、switch.mydomain というネットワーク機器が SNMP のコミュニティ名 "public" で設定されているとすると、


% cd /usr/local/mrtg % ./bin/cfgmaker public@switch.mydomain

うまく動くと、画面上(標準出力)にずらずらと設定ファイルが表示されます。そこで、これを /usr/local/mrtg-2/switch.cfg などへリダイレクトします。(下は mrtg 2.8.9 + Cisco Catalyst 2924XL の例です)


WorkDir: /usr/local/apache/htdocs/mrtg ###################################################################### # Description: Cisco Internetwork Operating System Software IOS (tm) C2900XL Sof tware (C2900XL-H2S-M), Version 11.2(8.1)SA6, MAINTENANCE INTERIM SOFTWARE Copyri ght (c) 1986-1999 by cisco Systems, Inc. Compiled Fri 14-May-99 17:35 by jchrist y # Contact: # System Name: switch # Location: #..................................................................... Target[switch.mydomain]: 1:public@switch MaxBytes[switch.mydomain]: 1250000 Title[switch.mydomain]: switch (switch.mydomain): VLAN1 (以下略)

リダイレクトした後で、WorkDir: 以下に Web サーバ上でファイルを実際に置くディレクトリを指定します。
かつては生成した直後のコメントを見ると「IconDir: 」というのも指定できるようになっていますが、これをたとえば /usr/local/apache/htdocs/mrtg と指定すると、ブラウザから見たときにこのローカルディレクトリを参照しようとしてうまく動きません。最近のバージョンではこのオプションが無効になっているようです。
そして実際に mrtg にかけてみます。


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

最初はエラーが表示されますが、これは過去の履歴がないためです。3度目からはエラーが表示されなくなるはずです。3度目以後もエラーが出る場合にはその内容をよく読んで cfg ファイルの点検をしてみてください。

これで、Webサーバの指定したディレクトリに

switch_15.html switch_21.html switch_17.html switch_25.html switch_18.html switch_5.html switch_2.html switch_7.html switch_20.html
といった HTML ファイルが作成されます。もちろん、この他に実際の画像データも生成されます。上の例は 2.9.12a ですが、古いバージョンでは switch.15.html という形のファイル名で生成されていました。
この例の場合はLANスイッチでしたので、switch の後ろの 15 とか 17 とかいう数字は、各ポートのトラフィック状況を示しています。このあたりは cfg ファイルを読んで頂くと理解が深まるでしょう。

なお、生成される HTML ファイルには
<META HTTP-EQUIV="Refresh" CONTENT="300">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
の指定が自動的に入りますので、ブラウザ側は5分に1回最新のデータを読み取ります。


うまくいけば、cron に登録しましょう。

MRTG は通常5分間隔でデータをポーリングしますので、たとえば switch.cfg と router.cfg ができていれば次のように crontab で登録します。

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/mrtg-2/bin/mrtg /usr/local/m rtg/switch.cfg 1,6,11,16,21,26,31,36,41,46,51,56 * * * * /usr/local/mrtg-2/bin/mrtg /usr/local/m rtg/router.cfg (実際には改行しません)

今回テストしている Pentium 166MHz のマシンであれば負荷もほどほどですが、もう少し早いマシンであれば余裕がありますので、測定機器が5つ以上に増えて同時に mrtg を起動しても問題なさそうです。ただし、486マシンなどですと3つ4つ測定するだけで負荷が厳しい状態になります。これは 画像ファイルの生成に CPU が使われるみたいです。

次は、標準的な値以外のものをグラフ化する手段について説明します。



←前へ      ↑戻る       次へ→