1.Установка скрипта
1 |
# mkdir /etc/zabbix/scripts/ |
1 |
# chown root:zabbix -R /etc/zabbix/scripts/ |
1 |
# chmod 750 /etc/zabbix/scripts/ |
1 |
# nano /etc/zabbix/scripts/lmsensors.sh |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#!/bin/bash export LC_ALL="" export LANG="en_US.UTF-8" # if [[ -z $1 || -z $2 ]]; then ##### DISCOVERY ##### PROCESSORS=`sensors 2>&1 | awk '{if (tolower($1)~"adapter") {counter +=1;}} END {for (i=1; i<=counter; i+=1) printf("CPU%1d\n", i-1); }'` if [[ -n ${PROCESSORS} ]]; then JSON="{ \"data\":[" SEP="" for CPU in ${PROCESSORS}; do JSON=${JSON}"$SEP{\"{#CPUNAME}\":\"${CPU}\"}" SEP=", " done JSON=${JSON}"]}" echo ${JSON} fi exit 0 else ##### PARAMETERS ##### HOST="$1" CPUNAME="$2" TABLE=`sensors 2>&1 | awk '{if (tolower($1)~"adapter") { counter +=1; } if (tolower($1)=="core") { if ($3 > temperature[counter]) temperature[counter] = $3;}} END {for (i=1; i<=counter; i+=1) printf ( "CPU%1d %2.1f\n", i-1, temperature[i]); }'` echo "${TABLE}" | awk "/${CPUNAME}/ {print \$2}" | head -n1 # fi |
Установка прав
1 |
# chown root:zabbix /etc/zabbix/scripts/lmsensors.sh |
1 |
# chmod 550 /etc/zabbix/scripts/lmsensors.sh |
Скрипт поддерживает обнаружение (discovery) процессоров. Необходимо установить пакет lm-sensors В зависимости от дистрибутива
1 |
# yum install lm_sensors |
1 |
# apt-get install lm-sensors |
Просмотр вывода sensors
1 |
# sensors |
1 2 3 4 |
coretemp-isa-0000 Adapter: ISA adapter Physical id 0: +100.0°C (high = +100.0°C, crit = +100.0°C) Core 0: +100.0°C (high = +100.0°C, crit = +100.0°C) |
Проверяем работу скрипта
1 |
# sudo -u zabbix /etc/zabbix/scripts/lmsensors.sh none CPU0 |
1 |
100.0 |
2.Настройка Zabbix-агента
1 |
# nano /etc/zabbix/zabbix_agentd.conf |
1 2 |
### CPU Temperature UserParameter=lmsensors[*],/etc/zabbix/scripts/lmsensors.sh "none" $1 |
Перезапуск агента
1 |
# service zabbix-agent restart |
Проверка –выполняем команду на Zabbix-сервере
1 |
# zabbix_get -s <IP-address-Zabbix-агента> -k "lmsensors[CPU0]" |
1 |
100.0 |
Либо локально на агенте […]