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

投稿者: | 2020年5月24日

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

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でグラフ画像を生成、それをメールに貼り付け送信というとてもシンプルなものです。

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

図3.受信メール

図3.受信メール

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

参考)

 

追記)

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

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

結局、encodingsはどこやねん、と言われて折れ、安易に以下を入れました。

    • python

 

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA