今回説明したMRTGのトラフィック監視はメインルータのポート監視を例に説明しています。ルータはレイヤ3のIPパケットの転送を行う装置のため、必ずIPアドレスが振られており、各セグメントの出口になるのでbb-hostsには登録されています。
ここでネットワーク機器のすべてのポートにIPアドレスが振られるのかというと実はそうではありません。例えばレイヤ3以下の装置であるスイッチやブリッジのポートがそれに該当します。
これらのポートはIPアドレスで監視はできず、SNMPトラップなどでの「link up/down」イベントで状態変化を監視することになります。トラフィックという観点ではスイッチのEthernetポートも重要な監視ポイントです。この部分をbbmrtg.plで監視するには少々工夫が必要です。
まず前提条件として、bbmrtg.plはMRTG設定ファイルに埋め込んだ「bb*host[]:」タグの監視対象がbb-hostsに登録されていなければ監視できません。そこでスイッチのポートでトラフィック監視するために、画面表示させるためのダミーのホスト名を割り振ることで解決します。
dmz-sw0にてポートトラフィック監視する場合のbb-hostsをリスト7に、dmz-sw0のMRTG設定をリスト8に示します(ちなみにリスト8ではスイッチでの計測を想定して測定ターゲットの指定はインターフェース名称をキーに計測するような指定「ex: "#Fa0"」となっています)。
各ポートの名称はホスト名称+ポート名という形でエントリーを作ります。各エントリー自体にはIPは設定されていませんが、bb-hostsでは対象のIPアドレスが必須となるので、ここはサーバのループバックアドレスを仮に設定します。この上でIP死活監視をしないという「noping」設定をオプションに埋め込みます。
これでトラフィック監視のためのエントリーが作成されます。あとはホスト名とインターフェース名をあわせた監視項目名を個別に割り振って、リスト8のようにMRTG設定ファイルの中の「bb*host []:」を同じ名前にあわせればいいことになります。
リスト7:bb-hostsの抜粋
172.17.201.30 dmz-sw0
127.0.0.1 dmz-sw0_Fa0 # noping
127.0.0.1 dmz-sw0_Fa1 # noping
127.0.0.1 dmz-sw0_Fa2 # noping
127.0.0.1 dmz-sw0_Fa3 # noping
127.0.0.1 dmz-sw0_Fa4 # noping
127.0.0.1 dmz-sw0_Fa5 # noping
127.0.0.1 dmz-sw0_Fa6 # noping
127.0.0.1 dmz-sw0_Fa7 # noping
リスト8:mrtg-dmz-sw0.cfgの一部抜粋
#### mrtg-dmz-sw0.cfg : MRTG config for dmz-sw0 : 172.17.201.30
WorkDir: /usr/local/mrtg/data/dmz-sw0
### Interface 1 >> Descr: 'Fa0'
Target[dmz-sw0_Fa0-bps]: #Fa0:ComReadOnly@172.17.201.30:
MaxBytes[dmz-sw0_Fa0-bps]: 12500000
Title[dmz-sw0_Fa0-bps]: dmz-sw0 BPS for Fa0
PageTop[dmz-sw0_Fa0-bps]: <H1>dmz-sw0 BPS for Fa0</H1>
Options[dmz-sw0_Fa0-bps]: growright, bits
YLegend[dmz-sw0_Fa0-bps]: Bits/Sec
bb*host[dmz-sw0_Fa0-bps]: dmz-sw0_Fa0
bb*svc[dmz-sw0_Fa0-bps]: mrtg
bb*yellow[dmz-sw0_Fa0-bps]: 60%
bb*red[dmz-sw0_Fa0-bps]: 80%
bb*unit[dmz-sw0_Fa0-bps]: bytes/sec
Target[dmz-sw0_Fa0-pps]: ifInUcastPkts#Fa0&ifOutUcastPkts#Fa0:ComReadOnly@172.17.201.30:
MaxBytes[dmz-sw0_Fa0-pps]: 180000
Title[dmz-sw0_Fa0-pps]: dmz-sw0 PPS for Fa0
PageTop[dmz-sw0_Fa0-pps]: <H1>dmz-sw0 PPS for Fa0</H1>
Options[dmz-sw0_Fa0-pps]: growright
YLegend[dmz-sw0_Fa0-pps]: Packets/Sec
ShortLegend[dmz-sw0_Fa0-pps]: p/s
bb*host[dmz-sw0_Fa0-pps]: dmz-sw0_Fa0
bb*svc[dmz-sw0_Fa0-pps]: mrtg-pps
bb*yellow[dmz-sw0_Fa0-pps]: 60%
bb*red[dmz-sw0_Fa0-pps]: 80%
bb*unit[dmz-sw0_Fa0-pps]: packets/sec
(以降省略)
リスト9:bbmrtg-dmz-sw0.plの変更部分
32行目: my $MRTGCFG = '/usr/local/mrtg/cfg/mrtg-dmz-sw0.cfg';
42行目: my $HTMLDIR = 'mrtg/dmz-sw0';
45行目: my $IMGDIR = 'mrtg/dmz-sw0';
設定が完了すると図5のようにスイッチのポートでもトラフィック監視できるようになります。

図5:スイッチポートのトラフィック監視 (画像をクリックすると別ウィンドウに拡大図を表示します)
|