こつこつと

2008/09/06

MuninでTimeCapsuleのトラフィックを見る

TimeCapsuleは、SNMPに対応してるみたいなので、
我が家のルータとして、どれくらいがんばってるのかをグラフにしてみた。

使うのは、Munin
debianなので、
# aptitude install munin munin-node

これだけで、apacheがはいってたら、cronで5分ごとに、htmlが
/var/www/muninに生成されるようになるみたい。
使えるpluginとかは、munin-node-configureとか実行しなくても、
ローカルホスト分は、インストール時に設定してくれるらしい。

ただ、ホスト名が、localhost.localdomainで格好悪いので、
/etc/munin/munin-node.conf で

host_name xxx

を、適切に設定しておく。

んで、本題のTimeCapsule向けの設定追加。
ここで、ちょっと混乱したのは、Muninの動作の仕方。
ここまで、簡単に設定できすぎたので、よくわかってなかったのだけど、
Muninは、munin-nodeに接続して、各種情報を取得し、HTMLを生成するという形らしい。
つまり、SNMPを直接読むようなことにはならない。
ということで、SNMPから値を取得して、gateway的に動くmunin-nodeが必要ということらしい。
これがわかってなくて、munin.confのaddressの設定を直接TCのIPにして動かなくて、5分くらいはまった。

というわけで、気を取り直して。
まず、snmp周りのプラグインを有効にするためにも、
# munin-node-configure-snmp [TCのIPアドレス]
と実行すると、シンボリックリンクを張るためのコマンドが表示される。
注意は、実行されるわけじゃないこと。
# munin-node-configure-snmp [TCのIPアドレス] | sh
とかやるほうがいいかも。
うちの設定では、gec0, wlan0, vlan0のtraffic,errorsが追加された。
snmpwalkで見る限り、TimeCapsuleには、

1 gec0
2 mv0
3 pflog0
4 lo0
5 wlan0
6 vlan1
7 pppoe0
8 bridge0

という8つのIFがあるように見える。
なんで、上の3つだけ選ばれたのかは、謎。

うちのTimeCapsuleは、PPPoEでセッション張ってるので、
pppoe0
だけは、手動で追加した。
# ln -s /usr/share/munin/plugins/snmp__if_ /etc/munin/plugins/snmp_tc_if_7
# ln -s /usr/share/munin/plugins/snmp__if_ /etc/munin/plugins/snmp_tc_if_err_7
/etc/munin/pluginsのファイル名は、上のコマンドで実行されたものにあわせる。
最後の数字は、SNMPから取得できるintを使う。(上のリストアップの数字と一緒)

んで、/etc/munin/munin.confの設定。
以下を追加。munin-nodeが動いているホストのIPをaddressで設定。
バーチャルなノードなので、ノード名とホスト名はちがうので、use_node_nameはnoで。

[tc]
address 127.0.0.1
use_node_name no


とりあえず、これで、munin-nodeが動いているホスト以外にも,
tcというのができるはず。

gec0 -> 有線LAN(internal)
wlan0 -> 無線LAN
vlan1 -> 有線LAN(external)
pppoe0 -> PPPoE

かなぁ、とトラフィックを眺めて想像してみたけど、あってるかなぁ。。。
まあ、とりあえず、ウチのルータであるTimeCapsuleが
どれくらいトラフィック食っているかが、一目瞭然になって楽しい。
そして、Muninのほかのプラグインも試してみたくなるくらい簡単ですばらしいすな。

0 件のコメント: