Перегрев процессора на узле 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
Мониторинг температуры дисков через 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 проверяйте, не пропал ли блок с температурами.
Централизованный мониторинг: 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 | порог троттлинга контроллера |
| HDD | 30–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) могут относиться к контроллеру или памяти накопителя; их рост выше композитной температуры — сигнал проверить охлаждение диска.