Raspberry PiにしろNanoPi NEOにしろおもちゃなので常時稼働させるのはちょっと心配。ときどき稼働状況を見たいということがある筈。
あまり大がかりなのではなく簡単にシステムの稼働状況を見るツールとしてRPi-MonitorとnetdataをNanoPi NEO2に入れてみた。
RPi-Monitor
NanoPi NEO2とarmbianの組み合わせでは以前にも書いたがRPi-Monitor (rpimonitor)が簡単に使えるようになっている。RPi-Monitorインストール用コマンドがarmbianmonitorに用意されているので実行するだけ。
RPi-Monitorインストール
# armbianmonitor -r
中略
[ ok ] Restarting rpimonitor (via systemctl): rpimonitor.service.
Processing triggers for libc-bin (2.24-11+deb9u1) ...
Now you're able to enjoy RPi-Monitor at http://:8888
#
そんなに大したものではなさそう(失礼)なのにいろいろ展開されるので個人的にはrpimonitorは好きじゃない。
インストール後に自動的にサービス起動まで行うのでブラウザで開くだけの筈なんだけど、ネットワーク系のモニタ設定がワザと無効になっているので設定ファイルを変更する。
設定変更
/etc/rpimonitor/template/network.conf1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | [code lang="plain"]
dynamic.10.name=net_received
dynamic.10.source=/sys/class/net/eth0/statistics/rx_bytes
dynamic.10.regexp=(.*)
dynamic.10.postprocess=$1*-1
dynamic.10.rrd=DERIVE
dynamic.10.max=0
dynamic.11.name=net_send
dynamic.11.source=/sys/class/net/eth0/statistics/tx_bytes
dynamic.11.regexp=(.*)
dynamic.11.postprocess=
dynamic.11.rrd=DERIVE
dynamic.11.min=0
web.status.1.content.8.name=eth0
web.status.1.content.8.icon=network.png
#web.status.1.content.8.line.1="To activate network monitoring, edit and customize <font color='#AA0000'><b>network.conf</b></font>"
#web.status.1.content.8.line.2="Help is available in man pages:"
#web.status.1.content.8.line.3="<font color='#AA0000'><b>man rpimonitord</b></font> or <font color='#AA0000'><b>man rpimonitord.conf</b></font>"
web.status.1.content.8.line.1="Ethernet Sent: <b>"+KMG(data.net_send)+"<i class='icon-arrow-up'></i></b> Received: <b>"+KMG(Math.abs(data.net_received)) + "<i class='icon-arrow-down'></i></b>"
web.statistics.1.content.2.name=eth0
web.statistics.1.content.2.graph.1=net_send
web.statistics.1.content.2.graph.2=net_received
web.statistics.1.content.2.graph_options.yaxis={ tickFormatter: function (v) { if (Math.abs(v) > 1048576) return (Math.round(v*10/1024/1024)/10) + " MiB/s" ; if (Math.abs(v) > 1024) return (Math.round(v*10/1024)/10) + " KiB/s" ; else return v + " B/s" }, }
web.statistics.1.content.2.ds_graph_options.net_send.label=Upload bandwidth (bytes)
web.statistics.1.content.2.ds_graph_options.net_send.lines={ fill: true }
web.statistics.1.content.2.ds_graph_options.net_send.color="#FF7777"
web.statistics.1.content.2.ds_graph_options.net_received.label=Download bandwidth (bytes)
web.statistics.1.content.2.ds_graph_options.net_received.lines={ fill: true }
web.statistics.1.content.2.7ds_graph_options.net_received.color="#77FF77"
|
基本的には設定ファイルのヘッダ部以外でコメント行を非コメントに、非コメント行をコメントに入れ替え、 web.status.1.content.数字.name=network を web.status.1.content.数字.name=eth0にすれば良い筈。
rpimonitorを再起動
# service rpimonitor restart
RPi-Monitorを見る
ウェブブラウザでrpimonitorを開く。http://192.168.6.16:8888
上の例では192.168.6.16はNanoPi NEO2のIPアドレスとする。
ステータス画面。わかりやすいけどこんなに広い表示エリアを使って表示する程のことじゃない。一番下のネットワークの状態は送受信速度ではなく送受信した通信量。
Statistics画面。下側の小さなグラフで表示した範囲をマウスで選択すると上側の大きなグラフにその範囲が表示されるというのは良い機能かも。
上の画像ではCPUの温度を表示させている。右寄りで温度が下がって6度台になっているのはNanoPi NEO2のヒートシンクに風を当てたから。風を当てる前も15度前後という低い温度だが、これは室温が4度という寒い部屋だから。
netdata
netdataは以前にFreeBSD用に書いたけど、これもNanoPi NEO2とarmbianの組み合わせで動く(パッケージが用意されている)。
netdataインストール
# apt-get update # apt-cache search netdata ←netdataを検索 netdata - real-time charts for system monitoring ←該当3つが表示されるが、これを入れたい netdata-data - real-time charts for system monitoring (Data) netdata-dbgsym - Debug symbols for netdata # apt-get install netdata ←netdataインストール Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: fonts-font-awesome libjs-bootstrap libyaml-0-2 netdata-data python-yaml Recommended packages: nodejs The following NEW packages will be installed: fonts-font-awesome libjs-bootstrap libyaml-0-2 netdata netdata-data python-yaml 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. Need to get 2,091 kB of archives. After this operation, 7,808 kB of additional disk space will be used. Do you want to continue? [Y/n] y ←確認を求められたらyを押す 後略
設定ファイルの変更
/etc/netdata/netdata.conf1 2 3 4 5 6 7 | [global]
run as user = netdata
web files owner = root
web files group = root
# Netdata is not designed to be exposed to potentially hostile
# networks.See https://github.com/firehol/netdata/issues/164
bind socket to IP = *
|
bind socket to IP が初期値は127.0.0.1になっていて外部から閲覧できないので * にでも変えておく。他は特に変更不要かと。
netdataを起動する
# service netdata start
netdataを見る
ウェブブラウザでnetdataを開く。http://192.168.6.16:19999
上の例では192.168.6.16はNanoPi NEO2のIPアドレスとする。
netdataはリアルタイム性がウリなのでグラフやメーターがガンガン動く、だけじゃなくてグラフの表示範囲を弄り倒せる。そのせいで特にモバイル環境で表示すると例えばスクロールさせようとしてうっかりグラフに触れるとグラフ操作になったりというウザさもある。
ブラウザ画面の縮小表示。初期設定状態では表示項目が多すぎる。似たようなのが繰り返し表示されるので自分が見たいのがどれか混乱する。
RPi-Monitor、netdata共に稼働させてるホストで情報収集してそのホストで表示させるタイプなので別の監視用ホストに情報を集約させるようにはできていない。(ただし、カスタムDashboardを作ってその中に別のホストの「情報を表示すること」は可能。)
でも、難しさが皆無なので手軽に入れられるし、どちらもWebUIなので見るのも簡単なのよね。
- NanoPi NEO3にGPSモジュールを接続してNTPサーバとして使用する
- アッチッチなNanoPi NEO3を冷やしたい パッド交換
- NanoPi NEO3冷却力強化後のUnixBench
- アッチッチなNanoPi NEO3を冷やしたい
- NTPサーバの時刻ソースに対するズレの調整
- NanoPi NEO3をv6プラスのルーターにする systemd-networkd + nftables
- NanoPi NEO3のUSB3.0ポートのネットワーク速度
- NanoPi NEO3でArmbian よきところでUnixBench
- NanoPi NEO3が届いた
- NanoPi NEOにRTCモジュールを付ける
- 新しい中華GPSモジュールとChronyで作るNTPサーバ (中編)
- 新しい中華GPSモジュールとChronyで作るNTPサーバ (前編)
- Prometheus2とGrafana6によるシステム監視 シングルボードコンピュータの温度表示
- NanoPi NEOでNTPサーバ再構築 (全まとめ)
- NanoPi NEO2をv6プラスのルーターにする 後編
- NanoPi NEO2をv6プラスのルーターにする 前編
- ELK Stackでシステム監視 FilebeatでNTP統計ログ取得 Logstashで加工
- NanoPi NEO2(arm64)用にFilebeatをビルド
- NanoPi NEO2を超コンパクトなアルミケースに入れる
- NanoPi NEO2用armbian 5.41 Debian 9 Stretch next 4.14.18
- NanoPi NEO2を100均の灰皿に入れてみた
- NanoPi NEO2のシステム監視 RPi-Monitorとnetdata
- NanoPi NEOとGPSモジュール用アルミケースを作る
- NanoPi NEO2 + DACで音楽プレーヤーVolumioを使う
- NanoPi NEO2にDACを接続
- NanoPi NEO2の最大クロック引き下げ後のUnixBench 再び
- NanoPi NEO2用armbian 5.32 Debian 9 Stretch 4.13.0-RC6
- NanoPi NEO2用armbian 5.32 Debian jessie 4.13.0-RC6
- NanoPi NEOをSIP電話機にする 後編 (その2)
- NanoPi NEO2とICカードリーダーでタイムレコーダーを作る(実用化編)