KUSONEKOの見る世界

ZabbixでHDDの温度を監視する

ZabbixでCPU温度やFAN回転数などを監視していましたが、今回はHDDの温度も監視できるようにします。

HDDを監視する理由は、HDDの温度が50℃を超えると故障率が上がるそうなので、自宅サーバのHDDが長持ちするよう温度を監視したいためです。

環境:
CentOS 8.2.2004
Zabbix 5.0.5

hddtemp

HDDの温度を取得するために、hddtempをインストールします。

# dnf install hddtemp
=======================================================================================================================
 パッケージ                アーキテクチャー        バージョン                            リポジトリー            サイズ
=======================================================================================================================
インストール中:
 hddtemp                   x86_64                  0.3-0.43.beta15.el8                   epel                     62 k
依存関係のインストール中:
 usermode                  x86_64                  1.113-1.el8                           BaseOS                  202 k

トランザクションの概要
=======================================================================================================================
インストール  2 パッケージ

インストール後は以下のコマンドで取得が可能です。

# hddtemp
/dev/sda: TOSHIBA MG06ACA800E: 41°C

以下のようにすると値のみの取得ができます。Zabbixで扱うのにとても便利です。

# hddtemp /dev/sda -n
41

Zabbix

コマンドの許可

Zabbix 5.0では、EnableRemoteCommands=1は非推奨になり、代わりに AllowKeyでコマンドを許可するようになったようです。

 zabbix_agentd.conf にhddtempのコマンドを追加します。

# vi /etc/zabbix/zabbix_agentd.conf
↓末尾に追加
AllowKey=system.run[/bin/hddtemp /dev/sda -n]

コマンドのテスト

Zabbixエージェントでコマンドが打てるか確認してみます。

# zabbix_agentd -t "system.run[/bin/hddtemp /dev/sda -n]"
system.run[/bin/hddtemp /dev/sda -n]          [t|42]

問題なく"42"という値が取れています。
"t"というのはテキスト形式のことを表しますが、今のZabbixではアイテムでデータ型を数値などにしても問題なく数値として取り込んでくれるようです。

アイテムの作成

[設定]→[ホスト]→[Zabbix server]→[アイテム]
[アイテムの作成]を押下。

名前:任意
タイプ:Zabbixエージェント
キー:system.run[/bin/hddtemp /dev/sda -n]
データ型:数値 (浮動小数)
単位:℃
更新間隔:1m

[追加]を押下。

既存グラフに追加

[設定]→[ホスト]→[Zabbix server]→[グラフ]
既存のグラフを押下。

アイテム:
    [追加]を押下。
    アイテムで作成した名前を選択。
    グラフの形式:線

[更新]を押下。

記事トップの画像のようにHDDの温度が追加されます。