我有一台 FreeBSD,其 RAID 运行 3 个硬盘。我面临的挑战是监控其 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 最接近的是重新分配扇区数的报告。我不会详细解释,但本质上,当磁盘开始出现故障时,难以读取/写入的扇区将被重新定位到备用扇区。如果发生更多重新分配,则意味着驱动器更接近完全损坏。
- 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}'
$ sudo grep zabbix /etc/sudoers.d/*
/etc/sudoers.d/zabbix:zabbix ALL=NOPASSWD:/usr/sbin/hddtemp, /usr/sbin/smartctl, /usr/bin/fping
将模板分配给受监控的主机 + 重新启动 zabbix_agent 以加载配置 - 您的项目应该填充重新分配的扇区数
利润.. :)
无论如何,zabbix 模板也可以在我的 GitHub 上找到https://github.com/RipperSK/zabbix-user-params/blob/master/hdd.reallocated.sectors/userparameter_hdd.reallocated.sectors.conf
享受。