【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

“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

と書かれている通り、小規模なシステム用かつ使いやすい(分かりやすい)ツールです。

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 Piに固定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℃ぐらいしかありません(下図の右上)。

                              

おすすめ