skucky.com
MRTG(Multi Router Traffic Grapher)とは、簡単に言えばトラフィック量の描画ツールのようなもんです。私のHPの様なアクセス数も少なく、自己満足でしか運営していないサイトなどは、利用する意味があまりありませんが、ワームやらスパムメールやらが原因でトラフィックが増えていないよね?ということの確認くらいには使えます。
MRTGについての詳細はこちらなどをご参照下さい。
まず、MRTGを使用する前に、SNMPエージェントとテスト用ツールがインストールされているか確認します。私の場合、両者ともインストールされていなかったので、インストールします。
quark:~# dpkg -l | grep snmp |
quark:~# ←インストールされていないらしい・・・ |
quark:~# apt-get install snmp snmpd |
snmpdの方がSNMPエージェント、snmpの方には設定後に使用するユーティリティツール等が格納されています。
インストールが終ったら、SNMPの設定を行います。設定ファイルは/etc/snmp/snmpd.confです。例によってコメントばかりの設定ファイルですが、設定すべき箇所は少ないです。以下は設定した箇所のみの抜粋です。
com2sec local localhost private |
group MyRWGroup v1 local |
group MyRWGroup v2c local |
group MyRWGroup usm local |
view all included .1 80 |
access MyRWGroup "" any noauth exact all all all |
syslocation Debian GNU/Linux (Clare) |
syscontact root <root@skucky.com> |
設定が終ったら、SNMPエージェントsnmpdを起動してから、snmpwalkコマンドを使用して動作確認をしてみましょう。
quark:~# /etc/init.d/snmpd start |
quark:~# snmpwalk -v 1 -c private localhost |
snmpwalkコマンドを実行して、ズラズラとそれらしい出力がされていたら、SNMPは正常に動作しています。もし、暫くの間ダンマリ状態が続いて、タイムアウトした場合、シスログ/var/log/syslogを見てみます。
quark:~# cat /var/log/syslog |
〜中略〜 |
Nov 29 01:28:06 quark snmpd[10896]: Connection from 127.0.0.1 REFUSED |
〜中略〜 |
上記のようなメッセージが出ていた場合、TCP Wrapperの機能により、ローカルホストからのアクセスが、拒否されている可能性があります。もし、/etc/hosts.allowに以下の記述が無かったら、追記してから、再度snmpwalkコマンドを実行してみましょう(私の場合、これで上手くいきました)。
ALL:127.0.0.1 |
上記ファイルを編集した際、変更を反映するには、inetdを再起動しておく必要があります。
quark:~# /etc/init.d/inetd restart |
MRTGのインストールは、debパッケージが用意されているので、例によってapt-getコマンドでインストールすればOKです。
quark:~# apt-get install mrtg |
MRTGの設定ファイルは、/etc/mrtg.cfgですが、デフォルトのままでは使用できません。そこで、cfgmakerという設定ファイルを一発で作成してくれる便利ツールを利用します。なお、以下の手順では作成前にデフォルトファイルを念のためバックアップしています。
quark:~# cd /etc |
quark:~# cp mrtg.cfg mrtg.cfg.org |
quark:~# cfgmaker private@localhost > mrtg.cfg |
作成された/etc/mrtg.cfgの中身を見ると、ネットワークデバイス(eth0など)のNIC一つ一つに対して何やらHTMLタグで記述された設定があるのがわかると思います。私の場合は特に設定をいじらず、以下の箇所のみ修正しました。グラフの表示単位をbps(bit per second)にするための設定です。
〜中略〜 |
Options[_]: bits |
〜中略〜 |
あとは、作成した/etc/mrtg.cfgファイルを指定してmrtgコマンドを実行し、グラフ描写のための元データ作成作業を裏で実行させるわけですが、どうやらMRTGインストール時にデフォルトでcronに設定されているようです。
quark:~# cat /etc/cron.d/mrtg |
0-55/5 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then env LANG=C /usr/bin/mrtg /etc/mrtg.cfg >> /var/log/mrtg/mrtg.log 2>&1; fi |
適当な時間もしくは日が経った後、/etc/mrtg.cfgファイルの中でWorkDirに指定したディレクトリの中を見ると、いくつかファイルが作成されているのが分かると思います。この中のhtmlファイルを参照すると、以下のような図が見れます。私のHPなどG○○gleのロボットくらいしか見に来てくれないので、トラフィック量も少なく、平坦で寂しいもんです。
参考記事:Linux World 2002年1月号
MRTGがお絵描きできるのは、トラフィック量だけではございません。SNMPで取得している各種リソース的な情報もお絵描きできちゃいます。例えば、ロードアベレージとかメモリ使用率とか。それぞれの設定情報をここでお披露目して説明できるだけの技量も持ってないので、こんな感じで設定してみれば?ということで終わりにします。なお、参考にしたサイトはこちらです。
MRTGには、各種リソース的な情報等をまとめて1ページの中で表示してくれるhtmlファイルを作成してくれる便利なコマンドがあります。上記の設定例のようにいくつかの情報を描画してくれるように設定したら、以下のコマンドを実行します。
quark:~# indexmaker /etc/mrtg.cfg > hogeindex.html |
すると、下図のようなインデックスページが作成されます。
どれも平坦で見てて面白くないな・・・