OpenWRT GL-AR750S vnstat導入からレポートメール送信まで

公開 | 更新 
図1.LUCIでのvnstatグラフ

前回、SDカードをマウントして、そこそこ信頼性のある大容量(!?)ストレージを確保した、 GL-iNet GL-AR750S OpenWRT ルータに vnstat を入れて、永続的なトラフィック監視を実現します。

導入とLUCIでの使い方

vnstat の導入自体はとても簡単、以下のパッケージを opkg で入れるだけです。

  • vnstat
  • luci-app-vnstat

インストール後、サービス開始させることで記録が始まり、LuCI上でグラフを閲覧できます。

図1.LUCIでのvnstatグラフ

図1.LUCIでのvnstatグラフ

記録したいインターフェースは隣りの設定タブで選択します。

図2.LUCIでのvnstat設定

図2.LUCIでのvnstat設定

データベース保存先の変更

但し、 vnstat のデータベースはこのままでは、 /var/lib/vnstat/ という tmpfs の領域に配置されているので、機器を再起動してしまうとこれまでのデータは消え去り、またまっさらなデータベースから記録が始まってしまいます。

そこで、OpenWRT公式サイトに挙げられている、Persistent stats (1) に沿って、データベースのパスをSDカード上に変更します。まず、 vnstat サービスを停止させ、

SDカード上にフォルダを作成し、既存のデータベースをそこへ移してから、設定ファイルを編集します。

サービスを再開させ、

念の為、元の場所にもうデータベースが生成されていないことを確認。以上で再起動しても失われないデータベースになりました。

 

レポートメール送信

次にレポートメール送信の仕組みです。これは既にRaspberry Piで使っているPythonスクリプトを流用します。 vnstati でグラフ画像を生成、それをメールに貼り付け送信というとてもシンプルなものです。

上記はGmailの587番ポートを例にしていますが、ロリポップなど465番を指定してくるところでは、以下の要領へ変更するだけです。

 

このスクリプトを cron へ登録しておけば毎日、次のようなメールで使用状況を確認することが出来ます。

図3.受信メール

図3.受信メール

まずはWAN、LANを監視対象にしていますが、負荷を見ながらWiFiなどにも対象拡大してみるつもりです。

 

参考

 

追記

メール送信スクリプトを動かすに必要なPythonパッケージを確かめようと最小限でこれらをいれるも、

  • python-base
  • python-email
  • python-openssl

結局、 encodings はどこやねんと怒られ、素直に以下を入れました。

  • python

 

created by Rinker
¥5,039 (2024/03/05 04:25:18時点 Amazon調べ-詳細)
created by Rinker
¥11,199 (2024/03/04 13:45:08時点 Amazon調べ-詳細)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA