Мониторим температуру на гипервизорах
Данный опус является частью единого цикла заметок o CLI. Для его написания использовалось множество различных источников (скилы крутых специалистов, статьи с тематических сайтов, техническая документация, комментарии с форумов и социальных сетей и т. д и т. п.). К сожалению, указать все источники точно не представляется возможным! По этому, в конце заметки, будет указана ссылка только на основной источник. Материалы, использованные для написания заметки, изменялись автором под конкретную задачу! Вам, скорее всего, тоже придется поступить аналогичным образом для получения желаемого результата)
Для реализации описанных ниже процессов вы уже должны иметь настроенный гипервизор и/или сервер бекапов плюс установленную систему мониторинга в данном случае Zabbix v5. Информацию по установке этого добра можно найти тут, см. категории.
Задача - снимать в том числе показания средней температуры процессора. Для этого со стороны гипов просаживаем сенсоры:
apt install lm-sensors
проверяем что возвращаются данные:
sensors
Вывод команды:
root@pve1:~# sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +33.0°C (high = +80.0°C, crit = +100.0°C)
Core 0: +31.0°C (high = +80.0°C, crit = +100.0°C)
Core 1: +32.0°C (high = +80.0°C, crit = +100.0°C)
Прямой наводкой, берем значение температуры:
sensors | grep Core | awk -F'[:+°]' '{avg+=$3}END{print avg/NR}'
Ответ
Предупреждение: Должна вернуться цифра - например 35.25
Далее правим конфиг заббикс агента на хосте:
root@pve:~# nano /etc/zabbix/zabbix_agentd.conf
Вывод команды:
#ищем необходимый параметр и правим на еденицу
UnsafeUserParameters=1
#ниже прописываем переменную в зависимости от того, что показывает вывод команды sensors на хосте:
#ADD for temperature CPU coretemp-isa-00000
UnsafeUserParameters=1
UserParameter=pve-t.core0,sensors coretemp-isa-00000 | awk -F'[:+°]' '{if(max==""){max=$3}; if(max<$3) {max=$3};} EN$
#ADD for temperature CPU k8temp-pci-00c3
UnsafeUserParameters=1
UserParameter=pve-t.core0,sensors k8temp-pci-00c3 | awk -F'[:+°]' '{if(max==""){max=$3}; if(max<$3) {max=$3};} END {$
Перезапускаем агента:
#systemctl restart zabbix-agent
Со стороны zabbix:
Добавление тригера:
Выражение формируется на вкладке открывающейся по кнопке Добавить рядом с полем Выражение.
zabbix_temperature_sevo44-3.jpg
Добавление графика
Открываем необходимый узел и перейдя в «Графики» добавляем новый нажав «Создать график«.
Какое количество графиков и настройки параметров отображения решите сами.
на картинке мониторится не только CPU, но и диски и память (если сенсоры это возвращают)
zabbix_temperature_sevo44-4.jpg
По нажатию кнопки Добавить в параметре Элемент данных выбираем все необходимые элементы данных для отображения на графике.
Заметка:
Смотрим количество свободной оперативки:
# free
Cпасибо автору!
Источник: