WindowsにMRTG設置手順

最近ネットワークの繋がりにくい日が時々発生するようになったので、原因究明のためインターネット接続の使用量を調べることにしました。
ルーターにDD-WRTを使えばグラフ表示機能はあるので現状を把握するのは可能ですが、経過を残したかったのでフリーソフトのMRTG(The Multi Router Traffic Grapher)を使うことにしました。
サーバーにインストールしておけば、smnpを使ってルーターのトラフィック等を記録してグラフ化してくれるソフトです。
ルーターは YAMAHA NVR500、サーバーには Windows7 proを使用しました。

ルーター(YAMAHA NVR500)設定

snmpエージェント機能を有効にし、Community名は「public」とする

snmp host any
snmp community read-only public

Windows7 pro 64bit の設定

【IISのインストール】
IIS(インターネットインフォメーションサービス)はWindowsPCをwebサーバーにするソフトです
コントロールパネル→プログラム→Windowsの機能の有効化または無効化
インターネットインフォメーションサービス配下のWorld Wide Webサービスをチェック
同Web管理ツールのIIS管理コンソールをチェック
ブラウザを開いて
http://localhost/
でiisのページが表示されれば設定成功

【ファイアーウォールの設定】
コントロールパネル→システムとセキュリティー→Windowsファイアウォールによるプログラムの許可
World Wide Webサービス(HTTP)をローカルのみ許可
ここにない時は
コントロールパネル→システムとセキュリティー→Windowsファイアウォール→詳細設定(左にある)→
受信の設定を押して一覧の中から World Wide Webサービス(HTTP)を有効化
他のPCからブラウザで
http://サーバーPC名またはIP/
でiisのページが表示されれば設定成功

【ActivePerlインストール】
http://www.activestate.com/
ActivePerl-5.24.0.2400-MSWin32-x86-64int-300560.exe

【METGインストール】
http://oss.oetiker.ch/mrtg/
mrtg-2.17.4.zip
c:\に解凍
コマンドプロンプトで
c:\mrtg-2.17.4\binに 移動し、次のように入力
perl mrtg

C:\mrtg-2.17.4\bin>perl mrtg
Usage: mrtg
mrtg-2.17.4 - Multi Router Traffic Grapher
..........
などと表示されれば動作確認OK


ワークディレクトリとしてc:\www\mrtgを作成
ここではルーターのipは192.168.11.1として設定しています。環境に合わせて書き換えます。
perl cfgmaker public@192.168.11.1 --global "WorkDir: c:\www\mrtg" --output mrtg.cfg
で新しい設定ファイル「mrtg.cfg」がC:\mrtg-2.17.4\binに作成される
c:\www\mrtgをiisのエイリアスに追加
コンピュータの管理→サービスとアプリケーション→インターネットインフォメーションサービス
サイトのDefaultWebSiteを選んで右にある仮想ディレクトリの表示を押す
仮想ディレクトリの追加を押し出てきたダイアログでエイリアスにmrtg、物理パスにc:\www\mrtgを設定してOK

perl mrtg mrtg.cfg

とすることで実際に走らせて結果を見てみることができます。
このコマンドを起動した最初の2回はエラーが出力されるのが普通です。
そのエラーとは、ログファイルがないというものです。
3回目何もエラーが出なかったら準備OK

c:\www\mrtg内に192.168.11.1_3.htmlなどというファイルや画像ファイルが作成されていればOK
他PCから
http://サーバーPC名またはIP/mrtg/192.168.11.1_3.html
でグラフ画面が表示されば成功

欲しい結果を得るためには5分ごとにMRTGを起動しなければならない。
一旦起動したら 停止せずに5分間待っては走るように設定にする。

mrtg.cfgに
RunAsDaemon: yes
というオプションを加え、次のように起動します。

start /D C:\mrtg-2.17.4\bin wperl mrtg --logging=eventlog mrtg.cfg

止めたい場合はタスクマネージャーを起動してプロセスからwperl.exeを終了させる

【スタートアップにショートカットを作成】
電源投入時に自動的に起動するようにします。
最初作成時C:perl\bin\wperl.exeで作成
リンク先 C:perl\bin\wperl.exe mrtg --logging=eventlog mrtg.cfg
作業フォルダー C:\mrtg-2.17.4\bin

【MRTG設定ファイルオプション】
mrtg.cfgにオプションを加えます
(注意)設定ファイルをいじる場合は、RunAsDaemon: yesをコメントアウトして、
perl mrtg mrtg.cfg で起動しないとエラーメッセージが確認できない。(当たり前だけど)

growrightmrtg
グラフの横軸(時間)を左から右方向にとる(左が過去で右にいくほど現在に近い)。
この設定をしないとき(デフォルト)は、右から左方向にとる
Options[_]: growright

XSize
作成するグラフの画像ファイルの横幅のピクセル数を指定する。
20〜600まで指定できる。デフォルトは400
XSize[_]: 320
(注意)値を大きくするとグラフも大きくなるが、表示される時間数も多くなる。
例えば600にすると2日分以上表示される
320にすると24時間分表示されるのでここは320に設定

YSize
作成するグラフの画像ファイルの縦幅のピクセル数を指定する。
20以上の値を指定できる。デフォルトは100
YSize[_]: 300
(注意)値を大きくするとグラフも大きくなる、スケールなどに変化はない

XScale YScale
もっと大きくしたい場合、拡大倍率を指定
XScale[_]: 2
YScale[_]: 1
(注意)YScale値を大きくするとグラフも大きくなるが時間項目の数字が見切れてしまう
YScaleは1にしてYSizeを300とかにしたほうがよい
XScaleに小数点以下があるとグラフが汚くなるので整数にしたほうが良い。

なのでここの設定は
XSize[_]: 320
YSize[_]: 300
XScale[_]: 2
YScale[_]: 1
としてみた


作成されたグラフです。


おまけ

うちの回線はADSLで、良くて2Mbpsが上限なので200KB/sあたりで頭打ちになっているのが分かります。
1週間分、1か月分、1年分のグラフも作成してくれるので、これで過去の使用状況を把握することができるようになりました。
ちなみに今回多量のトラフィックが発生したのはWindows10のアップデートが一斉に行われたのが原因ではないかと思われます。

参考サイト

フリーソフトウェアによるネットワーク監視

Tobi Oetiker's MRTG - The Multi Router Traffic Grapher

snmp+mrtgの設定のメモ

reference - MRTG 2.9.22設定リファレンス


TOPに戻る
2016/10/2