新規導入した無線 LAN ルータ(BUFFALO AirStation WZR-G54)で、
MRTG を使ってパケット量のデータを取得する。
- ルータ WWW 機能の『管理』→『通信パケット情報』で表示される
パケット流量の数値を、スクリプト /etc/snmp/airstation.sh にて抜き出す。
- この値を snmpd の exec 機能を使って snmp により参照できるように設定する。
- 以下の snmpd.conf を用いると、MIB の .1.3.6.1.4.1.2021.50.101.1 ~ 以降で参照できるようになる。
- この snmp の監視結果を、MRTG によってグラフ化する。
以前のルータでも同様の方法でパケット量のデータ取得はできていたが、
不思議な事に時折、MRTG のグラフ上に巨大なパケット流量が観測されていた。
今回ルータを機種変更したら、この異常な巨大パケットが頻繁に観測された。
調べると、airstation.sh でデータが取れない時がたまにある様子。
一応、MRTG の Options の unknaszero 設定(データ取得に失敗したとき0として扱う)
で、逃げる。しかし、これでもダメ。
ルータのWWW設定を使っていると、時々『他に設定しているときはダメ』という
メッセージが出ていたので、『ログアウト』処理をすればいいと推測。
≪/etc/snmp/airstation.sh≫
# パケット流量を HTML 形式で読み取り、必要な部分だけ切り抜く。
/usr/bin/w3m -dump_source -no-proxy \
http://root:パスワード@アドレス/advance/ad-admin-packet.htm 2>&1 \
| /bin/sed -n "/bgColor=#a7f3cf/ s/^.*\([0-9]*\)<\/STRONG>.*$/\1/ p"
# Logout を強制実行
/usr/bin/w3m -dump_source -no-proxy \
http://root:パスワード@アドレス/advance/apply.cgi?action=Logout \
>/dev/null 2>&1
≪/etc/snmp/snmpd.conf≫
exec .1.3.6.1.4.1.2021.50 airstation /bin/sh /etc/snmp/airstation.sh
≪/etc/mrtg.cfg≫
# WAN側 流量
Target[localhost_WAN]: .1.3.6.1.4.1.2021.50.101.3&.1.3.6.1.4.1.2021.50.101.1
:public@localhost:
Options[localhost_WAN]: bits,unknaszero
# LAN側 流量
Target[localhost_LAN]: .1.3.6.1.4.1.2021.50.101.7&.1.3.6.1.4.1.2021.50.101.5
:public@localhost:
Options[localhost_LAN]: bits,unknaszero
# 無線側 流量
Target[localhost_WV]: .1.3.6.1.4.1.2021.50.101.11&.1.3.6.1.4.1.2021.50.101.9
:public@localhost:
Options[localhost_WV]: bits,unknaszero