skucky.com


HOME


MRTG

  1. MRTGとは?
  2. SNMPのインストールと設定
  3. MRTGのインストールと設定
  4. その他設定

MRTGとは?

MRTG(Multi Router Traffic Grapher)とは、簡単に言えばトラフィック量の描画ツールのようなもんです。私のHPの様なアクセス数も少なく、自己満足でしか運営していないサイトなどは、利用する意味があまりありませんが、ワームやらスパムメールやらが原因でトラフィックが増えていないよね?ということの確認くらいには使えます。

MRTGについての詳細はこちらなどをご参照下さい。

▲TOP


SNMPのインストールと設定

まず、MRTGを使用する前に、SNMPエージェントとテスト用ツールがインストールされているか確認します。私の場合、両者ともインストールされていなかったので、インストールします。

コマンド1. SNMPのインストール
quark:~# dpkg -l | grep snmp
quark:~# ←インストールされていないらしい・・・
quark:~# apt-get install snmp snmpd

snmpdの方がSNMPエージェント、snmpの方には設定後に使用するユーティリティツール等が格納されています。

インストールが終ったら、SNMPの設定を行います。設定ファイルは/etc/snmp/snmpd.confです。例によってコメントばかりの設定ファイルですが、設定すべき箇所は少ないです。以下は設定した箇所のみの抜粋です。

設定1. /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コマンドを使用して動作確認をしてみましょう。

コマンド2. SNMP起動と動作確認
quark:~# /etc/init.d/snmpd start
quark:~# snmpwalk -v 1 -c private localhost

snmpwalkコマンドを実行して、ズラズラとそれらしい出力がされていたら、SNMPは正常に動作しています。もし、暫くの間ダンマリ状態が続いて、タイムアウトした場合、シスログ/var/log/syslogを見てみます。

コマンド3. シスログの確認
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コマンドを実行してみましょう(私の場合、これで上手くいきました)。

設定2. /etc/hosts.allow
ALL:127.0.0.1

上記ファイルを編集した際、変更を反映するには、inetdを再起動しておく必要があります。

コマンド4. inetdの再起動
quark:~# /etc/init.d/inetd restart

▲TOP


MRTGのインストールと設定

MRTGのインストールは、debパッケージが用意されているので、例によってapt-getコマンドでインストールすればOKです。

コマンド5. MRTGのインストール
quark:~# apt-get install mrtg

MRTGの設定ファイルは、/etc/mrtg.cfgですが、デフォルトのままでは使用できません。そこで、cfgmakerという設定ファイルを一発で作成してくれる便利ツールを利用します。なお、以下の手順では作成前にデフォルトファイルを念のためバックアップしています。

コマンド6. /etc/mrtg.cfgの作成
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)にするための設定です。

設定3. /etc/mrtg.cfg
〜中略〜
Options[_]: bits
〜中略〜

あとは、作成した/etc/mrtg.cfgファイルを指定してmrtgコマンドを実行し、グラフ描写のための元データ作成作業を裏で実行させるわけですが、どうやらMRTGインストール時にデフォルトでcronに設定されているようです。

コマンド7. デフォルトで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のロボットくらいしか見に来てくれないので、トラフィック量も少なく、平坦で寂しいもんです。

図1. MRTGのグラフィカルな絵
mrtg.png

参考記事:Linux World 2002年1月号

▲TOP


その他設定

MRTGがお絵描きできるのは、トラフィック量だけではございません。SNMPで取得している各種リソース的な情報もお絵描きできちゃいます。例えば、ロードアベレージとかメモリ使用率とか。それぞれの設定情報をここでお披露目して説明できるだけの技量も持ってないので、こんな感じで設定してみれば?ということで終わりにします。なお、参考にしたサイトはこちらです。

MRTGには、各種リソース的な情報等をまとめて1ページの中で表示してくれるhtmlファイルを作成してくれる便利なコマンドがあります。上記の設定例のようにいくつかの情報を描画してくれるように設定したら、以下のコマンドを実行します。

コマンド8. index ページの作成
quark:~# indexmaker /etc/mrtg.cfg > hogeindex.html

すると、下図のようなインデックスページが作成されます。

図2. MRTGのインデックスページ
mrtg_index.png

どれも平坦で見てて面白くないな・・・

▲TOP


Valid XHTML 1.0 Strict


Copyright(C)2002-2008 skucky.com
webmaster@skucky.com