Мониторинг температуры в Proxmox VE: полное руководство

Перегрев процессора на узле Proxmox VE чаще всего проявляется не аварийным отключением, а троттлингом: виртуальные машины внезапно «тормозят», частота CPU падает, а в веб-интерфейсе при этом нет ни одного предупреждения. Причина проста — штатная панель Proxmox VE не показывает температуру оборудования, и без дополнительной настройки администратор узнаёт о проблеме слишком поздно.

Мониторинг температуры в Proxmox строится на стандартных инструментах Debian: пакет lm-sensors для датчиков процессора и материнской платы, smartctl из пакета smartmontools для дисков, а также внешние системы вроде Zabbix или Grafana для графиков и алертов. Ниже разберём каждый вариант — от быстрой проверки в консоли до полноценного стека наблюдения.

Почему в веб-интерфейсе Proxmox нет температуры

Панель управления Proxmox VE отображает загрузку CPU, память, сеть и состояние хранилищ, но датчики температуры в неё не встроены. Это осознанное решение разработчиков: гипервизор рассчитан на серверное оборудование, где за термоконтроль отвечает BMC/IPMI, а не ОС.

На домашних лабораториях и мини-ПК, где Proxmox используется особенно активно, BMC обычно нет. Поэтому мониторинг приходится собирать вручную — благо ядро Linux уже содержит модули для большинства сенсоров, осталось их активировать и удобно отобразить.

Быстрая проверка температуры через lm-sensors

Первое действие — установить пакет и определить доступные датчики. Все команды выполняются по SSH или в консоли узла:

apt update && apt install lm-sensors

sensors-detect

Утилита sensors-detect просканирует шины и предложит загрузить нужные модули ядра. На вопросы можно отвечать Enter, соглашаясь со значениями по умолчанию. После завершения проверьте вывод:

sensors

В ответ вы получите температуру ядер процессора (coretemp для Intel, k10temp для AMD), иногда — данные чипсета и супервизора платы. Если вывод пустой или неполный, вернитесь к sensors-detect и проверьте, загружены ли предложенные модули через lsmod.

☑️ Настройка lm-sensors на узле Proxmox

Выполнено: 0 / 4

Мониторинг температуры дисков через smartctl

Диски — второй критичный источник тепла, особенно NVMe в тесных корпусах. Для их контроля используется пакет smartmontools:

apt install smartmontools

smartctl -a /dev/sda | grep -i temp

Для NVMe-накопителей команда аналогична, указывается устройство вида /dev/nvme0. Обратите внимание на поле Temperature и, если присутствует, Composite Temperature. Чтобы не проверять вручную, можно включить демон smartd, который будет писать предупреждения в системный журнал.

⚠️ Внимание: если диски подключены через аппаратный RAID-контроллер или USB-переходник, smartctl может не видеть их напрямую. Для RAID потребуется флаг -d с типом контроллера (например, -d megaraid,0), а часть USB-мостов вообще не пробрасывает SMART — проверяйте на конкретном железе.

Вывод температуры в веб-интерфейс Proxmox

Для тех, кто хочет видеть датчики прямо в панели управления, существуют сторонние скрипты, модифицирующие файлы веб-интерфейса Proxmox VE. Они добавляют блок с температурами CPU и дисков на страницу сводки узла. Устанавливаются такие решения одной командой из репозитория автора, но есть нюансы.

⚠️ Внимание: модификация файлов веб-интерфейса — неофициальное решение. Обновления пакета pve-manager могут перезаписать изменения, и патч придётся применять заново. Перед установкой сделайте резервную копию изменяемых файлов и проверяйте совместимость скрипта с вашей версией Proxmox VE.
  • 🌡️ Плюс: температуры видны рядом с остальной сводкой узла, без входа в консоль.
  • 🔧 Минус: зависимость от стороннего кода, который может сломаться после апдейта.
  • 📋 Требование: на узле уже должен работать sensors и smartctl — скрипт лишь визуализирует их данные.
  • 🔁 После обновления Proxmox проверяйте, не пропал ли блок с температурами.
📊 Как вы мониторите температуру в Proxmox?
Только консоль (sensors/smartctl)
Патч веб-интерфейса
Zabbix или Grafana
IPMI/BMC сервера

Централизованный мониторинг: Zabbix и Grafana

Если узлов несколько, ручные проверки теряют смысл. Классическая схема: на каждый узел ставится агент (например, Zabbix agent), который через пользовательские параметры вызывает sensors и smartctl, а сервер собирает метрики, строит графики и шлёт уведомления при превышении порога.

Альтернатива — связка Telegraf + InfluxDB + Grafana. У Telegraf есть готовые плагины sensors и smart, конфигурация сводится к раскомментированию нескольких строк. Grafana затем отрисовывает дашборды с историей температур по каждому узлу и диску.

Пример пользовательского параметра для Zabbix agent

В файл конфигурации агента добавьте строку вида: UserParameter=cpu.temp,sensors | awk '/^Package id 0:/ {print $4}' | tr -d '+°C'. Точный шаблон вывода зависит от вашего железа — сначала посмотрите сырой вывод sensors и подстройте awk под него.

Какой вариант выбрать? Для одного домашнего сервера достаточно патча веб-интерфейса или периодической проверки в консоли. Для стойки из нескольких узлов централизованная система окупается уже тем, что вы увидите рост температуры до того, как начнётся троттлинг.

IPMI и серверное оборудование

На серверных платах (Supermicro, Dell, HPE и других) температурные датчики доступны через BMC по протоколу IPMI. Установите пакет ipmitool и запросите данные:

apt install ipmitool

ipmitool sensor list | grep -i temp

Данные через IPMI часто полнее, чем через lm-sensors: BMC видит температуру зон корпуса, скорости вентиляторов и состояние блоков питания. Кроме того, многие системы мониторинга умеют опрашивать IPMI напрямую, без агента на узле.

Какие температуры считать нормой и когда бить тревогу

Точные допустимые значения зависят от конкретного процессора и диска — их стоит сверять с документацией производителя. В качестве общих ориентиров для типичного оборудования:

КомпонентКомфортный диапазонПовод для беспокойстваКритическая зона
CPU под нагрузкойдо ~70 °Cстабильно выше 80 °Cоколо Tjmax (троттлинг)
NVMe-накопитель30–50 °Cвыше 60–65 °Cпорог троттлинга контроллера
HDD30–45 °Cвыше 50 °Cсогласно спецификации диска
Зона корпуса (по IPMI)до ~35–40 °Cустойчивый ростпо порогам BMC

Эти цифры — ориентир, а не норматив. Ориентируйтесь в первую очередь на спецификации вашего железа и на динамику: плавный рост температур за недели обычно говорит о запылённости радиаторов или деградации термопасты, а резкий скачок — об остановке вентилятора или новой нагрузке на узел.

⚠️ Внимание: не ждите аварийного отключения как сигнала к действию. Задолго до него начинается троттлинг — проверить его можно командой dmesg | grep -i thermal или по падению частоты CPU под нагрузкой.

Часто задаваемые вопросы

Почему sensors показывает не все датчики?

Возможные причины: не загружен нужный модуль ядра (повторите sensors-detect), датчик доступен только через IPMI, либо оборудование виртуальное — внутри ВМ аппаратных сенсоров нет, мониторить нужно сам узел.

Можно ли видеть температуру внутри виртуальной машины?

Нет, гостевая ОС не имеет доступа к аппаратным датчикам хоста. Температуру следует собирать на уровне узла Proxmox VE и при необходимости передавать в систему мониторинга.

Слетит ли патч веб-интерфейса после обновления Proxmox?

Да, обновление пакета pve-manager обычно перезаписывает модифицированные файлы. После каждого крупного обновления проверяйте наличие блока температур и при необходимости применяйте патч повторно.

Как получать уведомления о перегреве без Zabbix?

Минимальный вариант — cron-скрипт, который раз в несколько минут парсит вывод sensors и отправляет письмо или сообщение в мессенджер при превышении порога. Также демон smartd умеет отправлять почту при проблемах с дисками.

NVMe показывает несколько температур — какую смотреть?

Основной ориентир — Composite Temperature. Дополнительные сенсоры (Sensor 1, Sensor 2) могут относиться к контроллеру или памяти накопителя; их рост выше композитной температуры — сигнал проверить охлаждение диска.