監視目的で SmartCTL を使用して RAID からハード ディスクのステータスを取得する方法を教えてください。

監視目的で SmartCTL を使用して RAID からハード ディスクのステータスを取得する方法を教えてください。

私は 3 つのハード ディスクで動作する RAID を備えた FreeBSD を持っています。その RAID を監視するという課題が与えられました。ハード ディスクに障害が発生したり、何らかの問題が発生したりした場合にそれを知る必要があります。

そこで、今私がやっている最初のことは、SmartCTL がどのように機能するかを理解することです... これまでに使用したコマンドは次のとおりです。

smartctl --scan -j - To scan my devices and generated a JSON Structured list.
smartctl -i /dev/device_name - To list informations about a single device
smartctl -a /dev/your-device - More information like errors and etc (I think i can use this in some way to grep only errors sections...)

ディスクが書き込み可能で、動作していて、正常状態が正常であるかどうかを確認する SmartCTL の他のパラメーターはありますか?

この理解の主な目的は、主に SmartCTL を使用して、Zabbix 監視ソフトウェアの低レベル検出による pfSense RAID 監視のテンプレートで使用されるデータを生成することです...

どのような助けでも感謝します。

答え1

では答えると、smartctl --isDiskOK /dev/sda私の知る限りでは、取れるアプローチはありません。

smartctl でこれに最も近いのは、再割り当てされたセクター数のレポートです。詳しく説明するつもりはありませんが、基本的にディスクが故障し始めると、読み取り/書き込みが困難なセクターがスペア セクターに再配置されます。再割り当てがさらに発生している場合、ドライブが完全に故障に近づいていることを意味します。

  1. Zabbix は次のユーザー パラメータを活用できます。
$ sudo cat /etc/zabbix/zabbix_agent2.d/userparameter_hdd.reallocated.sectors.conf
# get current HDD reallocated sectors count && needs sudoers
UserParameter=hdd.reallocated.sectors[*],sudo smartctl -a /dev/$1|grep Reallocated_Sector_Ct|awk '{print $$10}'
  1. 次の項目を含む Zabbix テンプレートを作成します。 ここに画像の説明を入力してください

  2. ユーザー zabbix が sudoers 経由で smartctl を実行できるようにします。

$ sudo grep zabbix /etc/sudoers.d/*
/etc/sudoers.d/zabbix:zabbix  ALL=NOPASSWD:/usr/sbin/hddtemp, /usr/sbin/smartctl, /usr/bin/fping
  1. 監視対象ホストにテンプレートを割り当て、zabbix_agentを再起動して設定をロードします。アイテムには再割り当てされたセクター数が表示されます。

  2. 利益.. :)

とにかく、Zabbixテンプレートは私のGitHubでも利用可能ですhttps://github.com/RipperSK/zabbix-user-params/blob/master/hdd.reallocated.sectors/userparameter_hdd.reallocated.sectors.conf

楽しむ。

関連情報