Шаблон zabbix для мониторинга SMART жестких дисков на Linux(старое)

Если у нас на сервере нет рейд контроллера и используется программный рейд, или нет возможности мониторить непосредственно сам райд контроллер, то можно использовать программные средства для обеспечения наблюдения за здоровьем жестких дисков.

И так, есть сервер с программным рейдом, и zabbix, в котором мы будем мониторить все изменения и проблемы.

Установим smartmontools для сбора информации о HDD

apt-get install smartmontools

По-умолчанию SMART включён, однако если команда

smartctl -a /dev/<имя диска>

ничего не выдаёт, то можно попробовать включить опцию SMART:

smartctl -s on /dev/<имя диска>

На сервере должен быть установлен клиент zabbix

Правим конфигурацию клиента, добавим строки:

nano /etc/zabbix/zabbix_agentd.conf

UserParameter=smartctl.list,/usr/bin/sudo /usr/sbin/smartctl --scan | awk 'BEGIN { printf "{\"data\": ["; } { if (NR != 1) printf ","; printf "{\"{#SMART}\": \"%s\"}", $1; } END { printf "]}"; }'

UserParameter=smartctl.model[*],/usr/bin/sudo /usr/sbin/smartctl -i $1 | grep "Device Model" | sed -r 's/.* //g'

UserParameter=smartctl.serial[*],/usr/bin/sudo /usr/sbin/smartctl -i $1 | grep Number | sed -r 's/.* //g'

UserParameter=smartctl.health[*],/usr/bin/sudo /usr/sbin/smartctl -H $1 | /usr/bin/awk 'BEGIN { h = 0; } / (OK|PASSED)$/ { h = 1; } END { print h; }'

UserParameter=smartctl.reallocated[*],/usr/bin/sudo /usr/sbin/smartctl -A $1 | grep Reallocated_Event_Count | sed -r 's/.* //g'

UserParameter=smartctl.pending[*],/usr/bin/sudo /usr/sbin/smartctl -A $1 | grep Current_Pending_Sector | sed -r 's/.* //g'

UserParameter=smartctl.temperature[*],/usr/bin/sudo /usr/sbin/smartctl -A $1 | grep Temperature_Celsius | sed -r 's/.* //g

Перезапустим клиент

/etc/init.d/zabbix-agent restart

Теперь нам нужно разрешит пользователю zabbix выполнять команды smartmontools без запроса пароля root

visudo

И в конец допишем эти строки:

%zabbix ALL=(ALL) NOPASSWD:/usr/sbin/smartctl --scan

%zabbix ALL=(ALL) NOPASSWD:/usr/sbin/smartctl -i *

%zabbix ALL=(ALL) NOPASSWD:/usr/sbin/smartctl -H *

%zabbix ALL=(ALL) NOPASSWD:/usr/sbin/smartctl -A *

В zabbix добавляем вот этот шаблон:

https://onedayadmin.sytes.net/wp-content/uploads/zbx_smart_linux_templates.xml