Мониторинг SMART жестких дисков в Windows при помощи Zabbix
Постановка задачи
Есть заббикс, есть сервер с SATA-дисками внутри без RAID-контроллера, необходимо мониторить состояние дисков.
Решение
Будем использовать пользовательские параметры в заббикс-агенте.
Для мониторинга нам понадобится программа smartctl.exe
(скачать с моего сайта) из пакета smartmontools
.
Файл положить в /etc/zabbix
Кроме того, на windows-хост нужно установить UnixUtils
Далее создаем конфиг для заббикс-агента
C:/zabbix/zabbix_agentd.conf.d/smart.conf:
UserParameter=smart.health[*],bash -c "c:/zabbix/smartctl.exe -a $1 | gawk '/overall-health/ {print $$6}'" UserParameter=smart.reallocated_sectors_count[*],bash -c "c:/zabbix/smartctl.exe -a $1 | gawk '/Reallocated_Sector/ {print $$10}'"
т.е. будем создаем в агенте пользовательские параметры smart.health
и smart.reallocated_sectors_count
Рестартуем сервис zabbix, и проверяем на заббикс-сервере:
~# zabbix_get -s 192.168.1.41 -k smart.reallocated_sectors_count[/dev/hda] 0 ~# zabbix_get -s 192.168.1.41 -k smart.health[/dev/hda] PASSED
Создаем параметры в Zabbix.
Можно взять мой темплейт: Template_HDD-SMART , в нем сделаны проверки для /dev/hda
, правила обнаружения делать не стал.
для того, что бы узнать какие имена дисков использовать в параметрах показателей zabbix можно использовать следующую команду:
smartctl.exe --scan