会社の無線LAN APは、YAMAHA WLX302を使っています。
WLX302はsnmpを話せますので、cactiのAssociated Data QueriesでSNMP – Interfaces Statistics追加することで、Interfaceの監視が出来ます。
他にもCPU loadやメモリ使用率、wireless associationなども監視したいのですが、snmpの項目が見当たりません。
しかし、ブラウザで見ると(http://wlx302/cgi-bin/admin/manage-system.sh)、内部的には、情報を持っているようなので、その情報をcurlやwgetを利用し取得して、cactiに渡すようにします。
今回データの取得には、curlを利用しました。
取得する情報の行数を確認し、設定する。
例えば、temptureだと、186行目にあるので、
sed -e '186,186!d'|sed '$s/.$//'
とすれば、温度の数値のみ取り出せます。
WLX302のファームウェアなどの変更で、情報取得行の変更があれば、この行数を変更する。
cactiにscriptを設置する。
ubuntu なので、/usr/share/cacti/site/scripts/wlxget.shを配置する。
#!/bin/sh #CPU load #Memory Usage #Tempture #2.4G Assosiation #5G Assosiation #Change to Your WLX302 address and userID,password /usr/bin/curl -o /tmp/wlxlog -u [userID]:[passwd] http://[wlx302]/cgi-bin/admin/manage-system.sh wlxload=`cat /tmp/wlxlog |sed -e '182,182!d'|sed '$s/.$//'` wlxmem=`cat /tmp/wlxlog |sed -e '186,186!d'|sed '$s/.$//'` wlxtemp=`cat /tmp/wlxlog |sed -e '202,202!d'|sed '$s/.$//'` wlx24as=`cat /tmp/wlxlog |sed -e '237,237!d'|sed '$s/.$//'` wlx5as=`cat /tmp/wlxlog |sed -e '264,264!d'|sed '$s/.$//'` printf ' wlxload:'$wlxload printf ' wlxmem:'$wlxmem printf ' wlxtemp:'$wlxtemp printf ' wlx24as:'$wlx24as printf ' wlx5as:'$wlx5as exit 0
設置できたら、実際に情報を取得してみる。
$ /usr/share/cacti/site/scripts/wlxget.sh
wlxload:1 wlxmem:36 wlxtemp:37 wlx24as:2 wlx5as:3
のように、表示出来れば情報の取得は出来ています。
念のため、/tmp/wlxlogを削除しておく。
$ rm /tmp/wlxlog
あとは、templateを流し込み、Graph Managementからaddすれば、グラフの描画が始まります。
Graph templateとdata templateを置いておく。
cacti_template_wlx302_-_system
wlx302には、見える化ツールという機能があるのですが、これをONにするとCPU負荷がスゴク高くなります。もうすこし負荷が下がると常時ONに出来るのですがね。
ネットワークだと、こんな感じに仕上がった。
今後、必要に応じて、tholdを設定すればOKだ。ちなみに、今はRTX1200とQNAPの温度監視とプリンタ トナーの監視を行っている。
一通り、cactiの設定は出来たが、あと自宅で使っているBrother MFC-960DNのインクレベルのsnmpデータがわからない。