名称

nt-guide - MRTG 2.9.22をWindows NTで使うためのガイド


概要

Windows NTもしくはWindows 2000へのMRTGのインストールは、 ある種の人々が求めているようなクリック&ポイントではできません。 しかし、以下の手引に従えばそれほど大したことでもありません。


はじめに

Windows NTでMRTGを動かすためにはまず以下のことが必要です。


インストール

MRTGを動かそうとしている計算機−この場合はまたWebサーバでもあります− で以下のことをしてください。全ての例はローカルマシン上でやるためのものです。

1)

MRTGをC:\mrtg-2.9.22にunzipします。

2)

同じNTマシンにPerlを入れます。Perlのバイナリディレクトリがシステムパス

 C:\Perl\bin;%SystemRoot%\system32;%SystemRoot%;...

に入っていることを確認します。これは[コントロールパネル]->[システム]->[環境変数]で チェックできます。

全てがうまくいったことを確認するために、コマンドプロンプトを開いてc:\mrtg-2.9.22\binに 移動し、次のように入力してください。

 perl mrtg

MRTGの設定ファイルがないという親切なメッセージを受け取ることでしょう。 これでMRTGとPerlのインストールは完了です。


MRTGの設定

さぁ、MRTGの設定を行ないましょう。ただし、始める前に以下の情報を知っておいてください。

これ以降では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 nameno 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を常に動かす

毎回手動で起動するというのは嬉しくないことだと思います。

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]: &nbsp;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>