Добавить мониторинг температуры процессора и видеочипа Raspberry Pi в Zabbix достаточно легко.
Raspberry Pi отображает температуру процессора, если ввести следующую команду:
cat /sys/class/thermal/thermal_zone0/temp
Вывод данной команды будет температура процессора в милиградусах (1/1000 °С).
Температуру видеочипа можно узнать командой(нужно, чтобы пользователь был в группе video):
/opt/vc/bin/vcgencmd measure_temp
Результатом будет строка вида:
temp=42.8'C
А теперь «прикрутим» все это к Zabbix
Создадим файл raspberry_pi.sh в директории скриптов Zabbix Agent’та /usr/share/zabbix-agent/scripts
touch /usr/share/zabbix-agent/scripts/raspberry_pi.sh
Откроем файл в любом удобном редакторе, н.р. emacs и введем следующий скрипт:
#!/usr/bin/env bash case "$1" in cpu_temp) #Определяем температуру CPU echo `cat /sys/class/thermal/thermal_zone0/temp | sed -e 's/\(..\)\(.*\)/\1.\2/'` ;; gpu_temp) #Определяем температуру GPU echo `/opt/vc/bin/vcgencmd measure_temp|cut -c6-9` ;; *) echo "Не правильный параметр!" echo "Допустимые параметры:" echo "cpu_temp - Определение температуры процессора" echo "gpu_temp - Определение температуры видеокарты" ;; esac
Сохраним файл и сделаем его исполняемым
chmod +x raspberry_pi.sh
Дальше обучим Zabbix Agent работать с нашим скриптом через UserParameter. Для этого в папке конфигураций Zabbix Agent (/etc/zabbix/zabbix_agentd.d/) добавим следующий конфиг:
UserParameter=raspberry_pi[*],/usr/share/zabbix-agent/scripts/raspberry_pi.sh $1
Т.к. для того чтобы получать информацию о температуре видеочипа пользователь должен быть в группе video, то добавим пользователя zabbix в эту группу:
usermod -G video zabbix
Перезапускаем Zabbix Agent
service zabbix-agent restart
Теперь идем в веб-интерфейс Zabbix и добавляем шаблон для нужного хоста.
Через какое-то время мы будем получать данные и график температуры будет приблизительно вот такой:
Получить все скрипты/файлы конфигураций можно в моем GIT-репозитории
comments powered by HyperComments