Zabbix: мониторинг HDD при помощи smartctl

Мониторинг жестких дисков на железных серверах при помощи smartmontools.

Все необходимое берем тут: https://github.com/nikimaxim/zbx-smartmonitor

На сервере:

apt update
apt install smartmontools
apt install lm-sensors
mkdir /opt/zabbix
cd /opt/zabbix
wget https://raw.githubusercontent.com/nikimaxim/zbx-smartmonitor/master/smartctl-storage-discovery.sh
chmod -R 750 /opt/zabbix/
chown -R root:zabbix /opt/zabbix/
<code>

Проверяем:
<code>
/opt/zabbix/smartctl-storage-discovery.sh

Добавляем в /etc/zabbix/zabbix_agentd.conf строки (раздел ####### USER-DEFINED MONITORED PARAMETERS #######):

UnsafeUserParameters=1
# Sensors
UserParameter=pve-t.core0,sensors coretemp-isa-00000 | awk -F'[:+°]' '{if(max==""){max=$3}; if(max<$3) {max=$3};} END {print max}'
UserParameter=pve-t.acpi0,sensors acpitz-acpi-0 | awk -F'[:+°]' '{if(max==""){max=$3}; if(max<$3) {max=$3};} END {print max}'
UserParameter=pve-t.sda,hddtemp /dev/sda | cut -c33-34
#   SMART
UserParameter=storage.discovery[*],sudo /opt/zabbix/smartctl-storage-discovery.sh
UserParameter=storage.get[*],sudo smartctl -i -H -A -l error -l background $1
UserParameter=smartctl.version,smartctl --version | grep -Eo "^smartctl\s[0-9\.[:space:]\r-]+" | sed -e 's/^smartctl\s//'

Добавляем в /etc/sudoers (если такого файла нет - нужно поставить пакет apt install sudo):

# Zabbix
Defaults:zabbix !requiretty
zabbix ALL=(root) NOPASSWD: /usr/sbin/smartctl
zabbix ALL=(root) NOPASSWD: /opt/zabbix/smartctl-storage-discovery.sh

Импортируем в Zabbix шаблон https://raw.githubusercontent.com/nikimaxim/zbx-smartmonitor/master/Template%20smartmonitor.xml