OpenWrtでbandwidthモニタリング

2014年10月13日月曜日

ルーター

t f B! P L
Bandwidthの記録を取りたいことありますよね。
しかもその結果がグラフ表示できたら最高です。

標準GUIでStatus→Realtime Graphs→Trafficで3分間のグラフは見えますが、これはその瞬間瞬間のデータを、このグラフを表示している間だけ出している物で、後から確認しようと思っても、記録が残っていません。

そこで、bmonをぶち込むといいとあったのでやってみました。そうしたら、こんな感じで使えます。バーグラフはちょっと冴えない感じですが、最大60日分記録できて、なかなか便利そうです。これをしばらく使ってみましょう。


インストール手順。まずはSystem→Softwareから、bmonを検索してインストールします。ここでインストールされるのは2.1です。最新版は3.5らしいのですが、そちらはhtmlにグラフ出力する機能がなくなってるので、2.1でいいです。


起動は、コマンドラインから。まず書き込み先を設定して、その後起動です。
# mkdir /tmp/bmon
# ln -s /tmp/bmon /www
# bmon -o null -O html:path=/www/bmon 2>&1 >/dev/null &
http://openwrt/bmonにアクセスすると記録が出てきます。最初はデータが無いので全て空で、動かしておけば秒単位、分単位、時間単位、日単位と埋まっていきます。

記録は最大60日です。年単位で記録できて、更にリブートしても情報が残ったりすると嬉しかったんですが、そういう用途ではないようです。

実行してロードアベレージを見るとデフォルトの設定では18%も食ってます。重すぎですので、設定を変更します。/etc/bmon.confに以下を書き込みます。
output null
secondary_output html:path=/www/bmon;interval=3;height=10
policy br-lan,pppoe-wan
htmlの出力の更新を3秒毎に変更して、かつ更新する情報をbr-lanとpppoe-wanだけに絞っています。これでロードアベレージが1%〜3%程度に収まり実用的になりました。ついでにグラフも縦軸をデフォルトの6から10に。

policyで指定しているデバイス名は、利用しているルーターによって変わります。必要に応じて調整下さい。デバイス名は、ifconfigを見るか、一度bmonを動かしてから決めるといいですね。

自分で使っているbmon.confでは、htmlのrefreshも追加して、10秒毎に自動リフレッシュさせてます。head以外の場所に打ち込んでるので、動くか動かないかはブラウザ依存かな。chromeでは動いてます。
secondary_output html:path=/www/bmon;interval=3;height=10;title=Traffic Rate Estimation and Monitoring <meta http-equiv="refresh" content="10">

最後は、起動時に自動で立ち上がるように、/etc/rc.localに書き込みます。
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

mkdir /tmp/bmon
ln -s /tmp/bmon /www
bmon 2>&1 >/dev/null &
exit 0

ラベル

AndroidTV (1) chromebook (2) DIY (4) docker (1) git (4) Ingress (4) llvm (3) MacBook (1) MVNO (1) narou (1) PS4 (2) QNAPNAS (9) SIMD (9) SmartBand (8) Ubuntu (9) VAIO (1) Windows (2) wsl (2) wsl2 (1) Xperia (20) トルネ (3) プログラム (26) ルーター (18) 音楽 (6) 家事 (2) 自炊 (2) 電子書籍 (2) 洋食 (4)

フォロワー

QooQ