【CPU温度やI/Oの監視】Rapberry Pi4サーバにMonitorixをインストールする方法
前書き:ラズパイサーバが停止するので監視したい
Raspberry Pi4にPLEXマルチメディアサーバを導入して、約一ヶ月ほど運用した結果、2〜3日の稼働でシステム停止してしまう問題に遭遇しています。
この問題の対症療法として、Watch Dog Timerとheartbeatを用いてシステム停止時に自動再起動を行う対応を実施しました。
今回はシステムが停止する原因を探るため、Raspberry Pi4にMonitorixをインストールして、システムリソースの変化をモニタリングできるようにします。そこで、本記事では「Monitorixのインストール方法」と「Raspberry Pi向けの設定」に関して説明します。
Monitorixとは
Monitorixは、軽量なシステムリソースモニタリングツールであり、Webブラウザ経由でリソースの使用状況を表したグラフを確認できます。Perlスクリプトで実装されており、Monitorixが生成するリソース監視ログ(rrdバイナリ)をrrdtoolでグラフ化(画像化)するという仕組みのようです。
公式サイトに、
Take control over your small server
と書かれている通り、小規模なシステム用かつ使いやすい(分かりやすい)ツールです。
Monitorixのメリットは導入の楽さであり、デメリットはグラフの地味さ。
Monitorixはaptパッケージマネージャーでインストールできますが、他のツール(例:netdataやgrafana)はインストール方法がやや煩雑です。例えば、Dockerをインストールした後に、モニタリングする内容を選別するためにDashboardをカスタマイズする必要があります。
インストール方法の簡便さと引き換えに、Monitorixはモニタリング結果の表示画面が古臭いです。他のツールはモダンな見た目をしていますが、Monitorixは一昔前のWebサイトのような色使いをしています。THE・原色といった感じ。
以下に、サンプル画像を示します。
Monitorixの画面
netdataの画面
grafanaの画面
私のように「何をモニタリングすれば良いか決めていない」「監視に手間を掛けたくない」という方はMonitorixを選択し、「いやいや、見た目大事っしょ」という方は他のツールを選択すれば良いと思います。
検証環境
Raspberry Pi4(RAM8GB)、Raspberry Pi OS環境で検証します。
Monitorixのインストール
2020年11月現在、aptパッケージマネージャーでmonitorix-3.10.1がインストールできます。
Raspberry Piの固定IP化
Monitorixのモニタリング結果は、IPアドレス指定で確認する事になるため、DHCPで動的にIPアドレスが変わると運用しづらいです。そのため、以下の記事を参考にしてRaspberry Pi4を固定IP化します。
Raspberry Pi4 CPU/温度/電圧モニタリング有効化
Monitorixの設定ファイル/etc/monitorix/monitorix.confを編集して、Raspberry Pi4のCPU使用率、温度、電圧のモニタリング(センサ情報のモニタリング)を無効から有効に変更します。
まずは、Raspberry Piセンサログ情報のグラフ化フラグをYes(有効)に変更します。
次に、バグ対応を実施します。MonitorixはvcgencmdコマンドでRaspberry Pi4のセンサ情報を取得していますが、vcgencmdコマンドのインストールPATHを間違えています。間違えた状態では、グラフが作成できません。
以下、修正手順です。
monitorix.confの修正頻度が高そうなパラメータ
下表に、Monitorix設定ファイル/etc/monitorix/monitorix.confのパラメータの中から、修正する可能性が高そうなものをピックアップして紹介します。下表に登場しないパラメータは、公式ドキュメントで確認してください。
パラメータ名 | 役割 |
title | Webブラウザでモニタリング結果確認時、Webブラウザのタブに表示されるタイトル |
hostname | サーバのhostname |
theme_color | モニタリング結果を白背景(white)で表示するか、黒背景(black)で表示するか |
refresh_rate | Webブラウザに表示するモニタリング結果のリフレッシュレート([s]単位) リフレッシュ間隔を早めると、画面がカクついた印象を受ける |
max_historic_years | モニタリング結果の保存期間(年単位、上限値なし) 調子に乗って50年と設定したらメモリの半分を食い尽くしたので注意 |
port(httpd_builtin) | モニタリング結果を表示する際に使用するポート番号(デフォルト8080番) |
ポート番号に関しては、既に8080番を他のサービスが使用している場合、別の値に変更が必要です。
モニタリング結果の確認
Monitorixの設定変更を行ったため、まずはsystemdを用いてMonitorixを再起動します。デフォルトでMonitorixは有効化されていると思いますが、有効化(enable)してから再起動(restart)します。
次に、Webブラウザに”http://(ラズベリーパイのIPアドレス):8080/index.html”を入力して、モニタリング結果画面を確認します。ポート番号の設定を変更している場合は、8080の部分を適宜変更してください。
Monitorixが正しく動作している場合は、以下の画面がWebブラウザに表示されます。
Dailyのモニタリング結果(一部)は、以下のように表示されます。下図は抜粋であり、実際にはファイルシステム使用率やネットワーク統計情報なども出力されています。
Raspberry Pi4のCPU使用率、温度、電圧のモニタリング結果は、以下の通りです。大きいファンを使用、かつ全く負荷がかかっていない環境のため、温度が40℃ぐらいしかありません(下図の右上)。
ロシア人と国際結婚した地方エンジニア。
小学〜大学院、就職の全てが新潟。
大学の専攻は福祉工学だったのに、エンジニアとして就職。新卒入社した会社ではOS開発や半導体露光装置ソフトを開発。現在はサーバーサイドエンジニアとして修行中。HR/HM(メタル)とロシア妻が好き。サイトに関するお問い合わせやTwitterフォローは、お気軽にどうぞ。
“We absolutely like Monitorix for its user friendliness and lightweight. They are a must-try for those who are looking for a free and easy-to-use system monitoring tool.” – Jerry HostScore.net