夏になってラズパイの熱暴走が心配になってきたので、ZabbixでCPU温度を監視できるようにしてみました。
CPU温度は、Zabbixのリモートコマンド機能で、下記コマンドを実行して取得します。
1 2 |
$ cat /sys/class/thermal/thermal_zone0/temp 39166 |
単位は℃の1000倍なので、これをZabbixで1/1000にして取得します。
「vcgencmd measure_temp」コマンドでも取得できますが、一般ユーザーでは設定変更が必要なこと、temp=40.5’Cのように単位付きで出力されてしまうことから、不採用としました。
環境は以下の通り
ハードウェア
・Raspberry Pi 3
・外付けHDDドライブ(USB)
OS
・RASPBIAN JESSIE LITE(Raspbian GNU/Linux 8.0)
アプリケーション
・lighttpd-1.4.35
・mysql-server-5.5.53
・zabbix-3.2.6
Zabbixエージェントの設定を変更
監視されるRaspberry Pi側で、Zabbixエージェントの設定を行います。
1 2 3 |
# EnableRemoteCommands=0 ↓ 変更 EnableRemoteCommands=1 |
アイテムを追加
Zabbix管理画面で、アイテムを追加します。
- Zabbixの管理画面に、管理者権限でログイン
- 「設定」→「ホスト」をクリック
- 設定を追加するホストの「アイテム」をクリック
- 画面右上「アイテムの作成」をクリック
- 以下の通り入力
- 「追加」をクリック
項目 | 値 |
---|---|
名前 | CPU temperature |
タイプ | Zabbixエージェント |
キー | system.run[cat /sys/class/thermal/thermal_zone0/temp] |
データ型 | 数値(浮動小数) |
単位 | ℃ |
乗数を使用 | 0.001 |
※「キー」はsystem.runでコマンドを実行させています。
※「乗数を使用」は0.001を乗算して℃に換算しています。
※上記以外はデフォルトでOK
エラーが発生せず「アイテムを追加しました」と表示されることを確認
グラフを追加
- 「設定」→「ホスト」をクリック
- 設定を追加するホストの「グラフ」をクリック
- 画面右上「グラフの作成」をクリック
- 以下の通り入力
- 「追加」をクリック
項目 | 値 |
---|---|
名前 | CPU temperature |
アイテム | CPU temperature |
※「アイテム」は「追加」をクリックして該当アイテムを選択
※上記以外はデフォルトでOK
確認
「監視データ」→「グラフ」で該当グラフを選択し、数分待つとグラフに折れ線が表示されるようになります。
初めは表示されないかもしれませんが、「監視データ」→「最新データ」でアイテムの値が取得できていれば心配ありません。グラフの縦軸が適切な範囲に調整されるには複数の値が必要なようですので、5分~10分ほど待機してください。アイテムの「更新間隔」を長く設定していると、表示されるまでの時間も長くなります。
一定温度以上で通知したい場合は、トリガーも追加してください。
感想
値の精度は定かではないですが、気温に合わせて増減しているところを見ると、監視に問題ないレベルで測定できているようです。
Raspberry Pi 3には2.5cm角ファンを取り付けているため、40℃前後で安定しています。
ファンを取り付けていないRaspberry Pi B+は、50℃弱まで上昇していました。B+の方がCPUパワーが大幅に低いのにこの差ですので、ファンの効果は十分に出ているようです。
最後までご覧いただきありがとうございました。よろしければ広告もご覧ください。