OpenWRTにNetdataを導入してリアルタイムモニタリング

公開 | 更新 
図6.LuCIへ組み込んだNetdata

Glafanaのようなスタイリッシュなダッシュボードを備えた、 リアルタイムモニタリング ツールである Netdata を OpenWRT に導入、手作業でLuCIへも組み込んでみました。

Netdata

OpenWRTの解説動画でよく登場するこの洗練されたダッシュボードは、Netdataと呼ばれるリアルタイムモニタリングツールで、OpenWRTのみならず広範なLinuxシステムで利用可能です。

図1.Netdataダッシュボード

図1.Netdataダッシュボード

 

OpenWRTへパッケージから導入

OpenWRTではパッケージが利用可能なので、インストールはとても簡単(以下、FriendlyElec NanoPi R2Sを例に進めます。R2S関連記事はこちら)。

インストールを終えたら、ブラウザでOpenWRTルータのアドレスを19999番ポートで開くだけ。

図2.Netdata(ライトテーマ)

図2.Netdata(ライトテーマ)

画面はデフォルトで2秒毎にデータが更新され、その項目もシステム諸情報からインターフェイスなど多岐にわたります。

この類のリッチなモニタリングツールでは、どうしてもリソースの消費具合がが気になるところ。Netdata表示更新中にターミナルでプロセスを確認すると、NetdataのCPU使用率は1%、メモリは40MB程度を消費していました。

図4.Netdataのプロセス

図4.Netdataのプロセス

CPU4コア、RAM1GBのNanoPi R2Sでは問題有りませんが、ハードウェアによっては無視できないリソース消費かもしれません。インストール前にハードウェアリソースの余剰具合を確認するか、常用しないのであれば必要な時にだけサービスを稼働させるという手もあります。

図5.サービスの起動停止と再起動

図5.サービスの起動停止と再起動

LuCIへの組み込み

このままではOpenWRTのLuCIからNetdataのページへ辿れず、URLのカスタムポート番号を思い出せる自信も無いので、こちらの記事を参考にNetdata用ページをLuCIへ新設し、メニューへ組み込んでみます(鳴謝!)。

ターミナルからOpenWRTシステムへ入ったらまず、 /usr/lib/lua/luci/controller/netdata.lua と言うファイルを以下の内容で新規作成します(これが追加されるメニューに)。

そして /usr/lib/lua/luci/view/netdata.htm を新規作成し、その中に次のhtmlを記すことで、iframeの中にNetdataページを呼び出すよう仕向けます。

LuCIのウェブサービスを再起動し、ブラウザでページを読み直すとメニューの Status 項に NetData が追加されました(もし反映されない場合は、一度ログアウトしてからログインし直しましょう)。

図6.LuCIへ組み込んだNetdata

図6.LuCIへ組み込んだNetdata

こうして作成した2つのファイルが今後のシステムアップグレード時に復元出来るよう、バックアップの対象に加えておきました(OpenWRTにおけるバックアップ設定に関する記事はこちら)。

図7.バックアップターゲットへ追加

図7.バックアップターゲットへ追加

 

このNetdataはローカルで完結するモニタリングツールなので、ネットワーク外からアクセスするにはルータのファイヤウォールに穴を開ける必要があります。

そこでいずれは、PrometheusInfluxDBGrafanaといった流行りのツールを駆使して、時系列DBとダッシュボード部をインターネット上に配する手法に、挑んでみたいと思います。

 

created by Rinker
¥8,990 (2024/03/29 06:12:00時点 Amazon調べ-詳細)

コメントを残す

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

CAPTCHA