nt-guide - MRTG 2.9.22をWindows NTで使うためのガイド
Windows NTもしくはWindows 2000へのMRTGのインストールは、 ある種の人々が求めているようなクリック&ポイントではできません。 しかし、以下の手引に従えばそれほど大したことでもありません。
Windows NTでMRTGを動かすためにはまず以下のことが必要です。
MRTGを動かそうとしている計算機−この場合はまたWebサーバでもあります− で以下のことをしてください。全ての例はローカルマシン上でやるためのものです。
MRTGをC:\mrtg-2.9.22にunzipします。
同じNTマシンにPerlを入れます。Perlのバイナリディレクトリがシステムパス
C:\Perl\bin;%SystemRoot%\system32;%SystemRoot%;...
に入っていることを確認します。これは[コントロールパネル]->[システム]->[環境変数]で チェックできます。
全てがうまくいったことを確認するために、コマンドプロンプトを開いてc:\mrtg-2.9.22\binに 移動し、次のように入力してください。
perl mrtg
MRTGの設定ファイルがないという親切なメッセージを受け取ることでしょう。 これでMRTGとPerlのインストールは完了です。
さぁ、MRTGの設定を行ないましょう。ただし、始める前に以下の情報を知っておいてください。
監視したいデバイスのIPアドレスもしくはホスト名とSNMPポート番号(標準と異なる場合)。
バイト数の出入り以外のものを監視したい場合にはそいつのSNMPOIDも知っておく必要があります。
最後に、読み出し専用のSNMPコミュニティストリングも知っておく必要があります。 もしわからなければ、デフォルトのpublicを試してみましょう。
これ以降では10.10.10.1(CISCOのCatalyst 5000)というデバイスを使っているとします。 コミュニティストリングはpublicです。トラフィックとCPUのロードを監視したいとします。 さぁ、はじめましょう。
MRTGの設定でまず最初にやることはデフォルトの設定ファイルを作ることです。 コマンドプロンプトでc:\mrtg-2.9.22\binに移り以下のコマンドを入力します。
perl cfgmaker public@10.10.10.1 --global "WorkDir: c:\www\mrtg" --output mrtg.cfg
これで最初のMRTG設定ファイルが生成されます。このファイルにはルータの全ての インタフェースが番号で書き出されます。面倒なことに、ルータの設定を変える と、この番号も変わるかもしれません。そこで、cfgmakerを使ってIP番号もしくは インタフェース記述に基いた設定を生成するようにします。cfgmakerをチェックしてください。
もしno such nameやno responseといったエラーメッセージが出力されたら、 恐らくコミュニティ名が間違っています。
さて、生成されたmrtg.cfgを見てみましょう。
Perlでは#
から始まるところはDOSにおけるREM
と同じようにコメントです。
以下の行をmrtg.cfgの先頭に加えます。
WorkDir: D:\InetPub\wwwroot\MRTG
これはWebページがどこに生成されるか、通常はWebルート、を指定します。
###################################################################### # Description: LCP SUWGB # Contact: Administrator # System Name: LC-Bridge # Location: Here #.....................................................................
ターゲットデバイスのIPアドレス:インタフェース番号:コミュニティ:IPアドレス
Target[10.10.10.1.1]: 1:public@10.10.10.1
これはインタフェースの速度です(デフォルトは 10 Mbpsで、100Mbpsのデバイスの場合には12500000にしてください)。
MaxBytes[10.10.10.1.1]: 1250000
Title[10.10.10.1.1]: LC-Bridge (sample.device): ether0
このセクションではWebページのヘッダを指定します。
PageTop[10.10.10.1.1]: <H1>Traffic Analysis for ether0</H1> <TABLE> <TR><TD>System:</TD><TD>LC-Bridge inAndover</TD></TR> <TR><TD>Maintainer:</TD><TD>Administrator</TD></TR> <TR><TD>Interface:</TD><TD>ether0(1)</TD></TR> <TR><TD>IP:</TD><TD>sample.device(10.10.10.1)</TD></TR> <TR><TD>Max Speed:</TD> <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR> </TABLE>
Target[10.10.10.1.2]: 2:public@10.10.10.1 MaxBytes[10.10.10.1.2]: 1250000 Title[10.10.10.1.2]: LC-Bridge (): ulink0 PageTop[10.10.10.1.2]: <H1>Traffic Analysis for ulink0</H1> <TABLE> <TR><TD>System:</TD><TD>LC-Bridge inAndover</TD></TR> <TR><TD>Maintainer:</TD><TD>Administrator</TD></TR> <TR><TD>Interface:</TD><TD>ulink0(2)</TD></TR> <TR><TD>IP:</TD><TD>()</TD></TR> <TR><TD>Max Speed:</TD> <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR> </TABLE>
#---------------------------------------------------------------
これは非常に基本的なMRTGの設定ファイルで、c:\mrtg-2.9.22\binディレクトリで
perl mrtg mrtg.cfg
とすることで実際に走らせて結果を見てみることができます。
このコマンドを起動した最初の2回はエラーが出力されるのが普通です。 そのエラーとは、ログファイルがないというものです。
生成されたWebページを見ても、まだこの時点では大して興奮することはな いでしょう。欲しい結果を得るためには5分ごとにMRTGを起動しなければな らないのです。数分後にもう一度走らせてみてください。グラフに最初の 線が描かれることと思います。
毎回手動で起動するというのは嬉しくないことだと思います。
MRTGの設定ファイルには特別なオプションがあって、一旦起動したら 停止せずに5分間待っては走る、ということができるのです。
mrtg.cfgに
RunAsDaemon: yes
というオプションを加え、次のように起動します。
start /Dc:\mrtg-2.9.22\bin wperl mrtg --logging=eventlog mrtg.cfg
もしperlの代わりにwperlを使っているなら、コンソールウィンドウが 出てこないでしょう。MRTGは今やバックグラウンドで走っているのです。 もし何か問題があったら、イベントログを通して知らせてくれます。MRTGを止めるには タスクマネージャを開いてwperl.exeのプロセスを終了させます。 MRTGが報告したいことがある場合にはイベントログでメッセージを見ることができます。
以下のようなショートカットをスタートアップフォルダに入れておけば NT箱にログインした時にMRTGが起動します。
Target: wperl mrtg --logging=eventlog mrtg.cfg Start in: c:\mrtg-2.9.22\bin
MRTGを起動するためだけにNT箱にログインするのがいやだと場合には http://www.firedaemon.com/mrtg-howto.htmlをご覧ください。 ここには全てのプログラムをサービスとして起動するフリーのツール がありますし、このページにはMRTG用のインストラクションもあります。
Jennie Brown < JennieB@MIKEALBERT.com>より:
Windows 2000ではコントロールパネルの「タスク」を利用する
ことにより、プログラムの実行をスケジュールすることができま
す。「スケジュールされたタスクの追加」をダブルクリックして
ウィザードを起動するか、「タスク」ウィンドウ内を右クリック
して新規を選ぶことで追加できます。
「タスク」タブで「参照」をクリック、c:\perl\bin
と辿り、「実行するファイル名」にwperl.exe
を選び
ます。
「開始」に"mrtg --logging=eventlog mrtg.cfg"
が
"c:\mrtg-2.9.22\bin"
から起動するように
追加します。
このタスクを実行させるユーザーアカウントを選びパスワードを設定
します。「スケジュール」タブでは[システム起動時]を選びます。
「設定」タブでは[タスクの継続時間を指定する ]のチェックをはずし
ます。また「セキュリティ」タブではスケジュールされたタスクにアク
セス可能なユーザーを制御することができます (タスクを起動するため
に選択したユーザーが適切なパーミッションを持っていることを確認し
てください。適切でない場合、タスクは起動しません)。
この方法には wperl.exe
がタスクマネージャに現われ
ないという欠点があります。ただし、スケジュールされたタスクは「実
行中」として表示され、アプリケーションのイベントログにはイベント
が記録されます。
さて、架空のCISCO Catalyst 5000を監視するための設定ファイルを見てみましょう。 このファイルではポート3、5、10そして24の利用状況とCPUのロードを監視しますが、 たくさんのオプションとともに非標準的なMRTGの設定もあります。
WorkDir: D:\InetPub\wwwroot\MRTG
###################################################################### # Description: LCP SUWGB # Contact: Administrator # System Name: LC-Bridge # Location: Here #.....................................................................
Target[10.10.10.1.1]: 3:public@10.10.10.1 MaxBytes[10.10.10.1.1]: 1250000 Title[10.10.10.1.1]: LC-Bridge (sample-device): ether0 PageTop[10.10.10.1.1]: <H1>Traffic Analysis for ether0</H1> <TABLE> <TR><TD>System:</TD><TD>LC-Bridge inAndover</TD></TR> <TR><TD>Maintainer:</TD><TD>Administrator</TD></TR> <TR><TD>Interface:</TD><TD>ether0(3)</TD></TR> <TR><TD>IP:</TD><TD>sample-device(10.10.10.1)</TD></TR> <TR><TD>Max Speed:</TD> <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR> </TABLE>
#---------------------------------------------------------------
Target[10.10.10.1.2]: 5:public@10.10.10.1 MaxBytes[10.10.10.1.2]: 1250000 Title[10.10.10.1.2]: LC-Bridge (): ulink0 PageTop[10.10.10.1.2]: <H1>Traffic Analysis for ulink0</H1> <TABLE> <TR><TD>System:</TD><TD>LC-Bridge inAndover</TD></TR> <TR><TD>Maintainer:</TD><TD>Administrator</TD></TR> <TR><TD>Interface:</TD><TD>ulink0(5)</TD></TR> <TR><TD>IP:</TD><TD>()</TD></TR> <TR><TD>Max Speed:</TD> <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR> </TABLE>
#---------------------------------------------------------------
Target[10.10.10.1.1]: 10:public@10.10.10.1 MaxBytes[10.10.10.1.1]: 1250000 Title[10.10.10.1.1]: LC-Bridge (sample-device): ether0 PageTop[10.10.10.1.1]: <H1>Traffic Analysis for ether0</H1> <TABLE> <TR><TD>System:</TD><TD>LC-Bridge inAndover</TD></TR> <TR><TD>Maintainer:</TD><TD>Administrator</TD></TR> <TR><TD>Interface:</TD><TD>ether0(10)</TD></TR> <TR><TD>IP:</TD><TD>sample-device(10.10.10.1)</TD></TR> <TR><TD>Max Speed:</TD> <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR> </TABLE>
#---------------------------------------------------------------
Target[10.10.10.1.2]: 24:public@10.10.10.1 MaxBytes[10.10.10.1.2]: 1250000 Title[10.10.10.1.2]: LC-Bridge (): ulink0 PageTop[10.10.10.1.2]: <H1>Traffic Analysis for ulink0</H1> <TABLE> <TR><TD>System:</TD><TD>LC-Bridge inAndover</TD></TR> <TR><TD>Maintainer:</TD><TD>Administrator</TD></TR> <TR><TD>Interface:</TD><TD>ulink0(24)</TD></TR> <TR><TD>IP:</TD><TD>()</TD></TR> <TR><TD>Max Speed:</TD> <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR> </TABLE>
#---------------------------------------------------------------
# Router CPU load % Target[cpu.1]:1.3.6.1.4.1.9.2.1.58.0&1.3.6.1.4.1.9.2.1.58.0:public@10.10.10.1 RouterUptime[cpu.1]: public@10.10.10.1 MaxBytes[cpu.1]: 100 Title[cpu.1]: CPU LOAD PageTop[cpu.1]: <H1>CPU Load %</H1> Unscaled[cpu.1]: ymwd ShortLegend[cpu.1]: % XSize[cpu.1]: 380 YSize[cpu.1]: 100 YLegend[cpu.1]: CPU Utilization Legend1[cpu.1]: CPU Utilization in % (Load) Legend2[cpu.1]: CPU Utilization in % (Load) Legend3[cpu.1]: Legend4[cpu.1]: LegendI[cpu.1]: LegendO[cpu.1]: Usage Options[cpu.1]: gauge
これは、OIDさえわかればどんなSNMPデバイスも監視できるという良い例になっています。 MRTGのもっと進んだ機能についての解説が欲しい場合にはTobiasのドキュメントを参照してください。
David S. Divins <ddivins@moon.jic.com>, Steve Pierce <MRTG@HDL.com>, Tobi Oeitker <oetiker@ee.ethz.ch>
花井 浩之 <e2j@mrtg.jp>