Мониторинг температуры процессора в Zabbix
sys-apps/lm_sensors-3.3.1
Примеры вывода команды sensors
Т.к. не везде есть строка «Physical id» с уже максимальной t, то обойтись простым grep'ом не получится, поэтому используется awk для выборки max t ядра на каждом процессоре.
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +44.0°C (high = +81.0°C, crit = +91.0°C)
Core 0: +43.0°C (high = +81.0°C, crit = +91.0°C)
Core 1: +38.0°C (high = +81.0°C, crit = +91.0°C)
Core 2: +45.0°C (high = +81.0°C, crit = +91.0°C)
Core 3: +37.0°C (high = +81.0°C, crit = +91.0°C)
Core 4: +43.0°C (high = +81.0°C, crit = +91.0°C)
Core 5: +42.0°C (high = +81.0°C, crit = +91.0°C)
coretemp-isa-0001
Adapter: ISA adapter
Physical id 1: +43.0°C (high = +81.0°C, crit = +91.0°C)
Core 0: +39.0°C (high = +81.0°C, crit = +91.0°C)
Core 1: +40.0°C (high = +81.0°C, crit = +91.0°C)
Core 2: +43.0°C (high = +81.0°C, crit = +91.0°C)
Core 3: +41.0°C (high = +81.0°C, crit = +91.0°C)
Core 4: +41.0°C (high = +81.0°C, crit = +91.0°C)
Core 5: +41.0°C (high = +81.0°C, crit = +91.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +22.0°C (high = +80.0°C, crit = +96.0°C)
Core 1: +17.0°C (high = +80.0°C, crit = +96.0°C)
Core 2: +21.0°C (high = +80.0°C, crit = +96.0°C)
Core 8: +23.0°C (high = +80.0°C, crit = +96.0°C)
Core 9: +22.0°C (high = +80.0°C, crit = +96.0°C)
Core 10: +24.0°C (high = +80.0°C, crit = +96.0°C)
coretemp-isa-0001
Adapter: ISA adapter
Core 0: +15.0°C (high = +80.0°C, crit = +96.0°C)
Core 1: +21.0°C (high = +80.0°C, crit = +96.0°C)
Core 2: +18.0°C (high = +80.0°C, crit = +96.0°C)
Core 8: +20.0°C (high = +80.0°C, crit = +96.0°C)
Core 9: +18.0°C (high = +80.0°C, crit = +96.0°C)
Core 10: +17.0°C (high = +80.0°C, crit = +96.0°C)
Установка lm_sensors
Device Drivers --->
[*] I2C support --->
<*> Hardware Monitoring support --->
[*] Intel Core/Core2/Atom temperature sensor
Установка скрипта
Создание папки для скриптов:
mkdir /etc/zabbix/scripts/
chown root:zabbix -R /etc/zabbix/scripts/
chmod 750 /etc/zabbix/scripts/
Создадим сам скрипт:
Листинг
Скрипт поддерживает обнаружение (discovery) процессоров.
Установка прав
chown root:zabbix /etc/zabbix/scripts/lmsensors.sh
chmod 550 /etc/zabbix/scripts/lmsensors.sh
Проверить работу скрипта для zabbix:
sudo -u zabbix /etc/zabbix/scripts/lmsensors.sh none CPU0
Вы должны получить данные, если этого не произошло, то конфигурация выполнена не правильно.
Настройка Zabbix сервера
Вызов скрипта через zabbix-agent
Настройка
...
UserParameter=lmsensors[*],/etc/zabbix/scripts/lmsensors.sh "none" $1
Перезапустить
/etc/init.d/zabbix-agentd restart
Проверка
zabbix_get -s HOST -k "lmsensors[CPU0]"
Для контролируемых данных в Zabbix нужно создать соответствующее элементы с типом «Zabbix агент» и ключом типа:
lmsensors[CPUNAME]
где CPUNAME - имя процессора
Готовый Шаблон для мониторинга lmsensors (agent) с уже настроенными элементами и графиками.
Результат
Обсуждение
Не работает скрипт. Вот вывод sensors:
А если такой вывод? sensors
Отличная статья. Спасибо. Есть только небольшая опечатка. С chmod 700 скрипт от юзера zabbix выполняться не будет , т.к. владелец root , а группа zabbix у файла Нужно chmod 750 /etc/zabbix/scripts/lmsensors.sh