Monitoring

如何使用 SmartCTL 從 RAID 獲取硬碟狀態以進行監控?

  • May 7, 2022

我有一個執行 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 來生成數據,這些數據將用於 pfSense RAID Monitoring with Low Level Discovery for Zabbix Monitoring Software 的模板中……

任何幫助都將不勝感激。

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

請享用。

引用自:https://serverfault.com/questions/1097871