Веб-интерфейс Proxmox VE хранит графики нагрузки всего 30 суток и обновляет их раз в минуту. Для разбора инцидентов недельной давности или для алертов по SMS этого мало. Задача решается штатным экспортом метрик во внешнюю базу временных рядов и построением дашбордов поверх неё.
Зачем мониторинг Proxmox VE выносить за пределы панели
Встроенный график CPU и RAM в узле кластера полезен для беглого взгляда, но не хранит историю дольше месяца и не умеет присылать уведомление в Telegram или на почту при превышении порога. Отдельный стек мониторинга Proxmox VE решает три задачи: долгое хранение метрик, гибкие оповещения и общий дашборд для всех нод кластера на одном экране.
Дальше — рабочая связка из встроенного экспортёра метрик, InfluxDB как хранилища и Grafana как визуализации. Настройка предполагает, что кластер Proxmox VE уже собран и все узлы видят друг друга по сети.
Как включить экспорт метрик в InfluxDB
Proxmox VE умеет отправлять метрики во внешний сервер без дополнительных агентов — настройка делается через раздел Datacenter → Metric Server или прямо в файле /etc/pve/status.cfg.
influxdb: influxdb-main
server 10.0.0.50
port 8089
protocol udp
timeout 2
mtu 1400
Порт 8089 по UDP — стандартный приёмник InfluxDB в формате Line Protocol. Если сеть между узлами и сервером метрик нестабильна, лучше выбрать протокол TCP через порт 8086 и включить аутентификацию по токену.
Установка InfluxDB и Grafana: минимальные требования
Оба сервиса можно поставить на одну виртуальную машину с Debian 12, отдельно от гипервизоров кластера. Для кластера из 3-5 узлов достаточно 2 vCPU, 4 ГБ RAM и 40 ГБ диска под данные метрик за год.
| Компонент | Порт | Назначение |
|---|---|---|
| InfluxDB | 8086/8089 | приём и хранение метрик |
| Grafana | 3000 | веб-интерфейс дашбордов |
| Telegraf | — | опциональный сбор метрик самой VM мониторинга |
После установки пакетов создайте базу данных под метрики Proxmox VE:
influx -execute 'CREATE DATABASE proxmox'
influx -execute 'CREATE USER pve WITH PASSWORD 'changeme''
Как подключить Grafana и импортировать дашборд
Откройте Grafana по адресу узла на порту 3000, добавьте источник данных типа InfluxDB и укажите базу proxmox. Дальше действуйте по шагам:
- Добавьте Data Source → InfluxDB, протокол InfluxQL, адрес и порт сервера.
- Импортируйте готовый дашборд сообщества по номеру ID для Proxmox VE через раздел Dashboards → Import.
- Выберите созданный источник данных в качестве переменной дашборда.
- Проверьте, что на панелях появились имена узлов кластера и графики CPU, RAM, диска и сети.
Если панели пустые, значит метрики ещё не дошли до InfluxDB — проверьте следующий раздел статьи.
Как настроить оповещения о перегрузке и сбоях
Alerting в Grafana строится поверх обычного запроса к данным: правило срабатывает, когда значение выходит за порог на заданном интервале. Для узла Proxmox VE типовые правила — загрузка CPU выше 90% дольше 5 минут и свободное место на хранилище меньше 10%.
Создайте контактную точку (Contact point) с адресом почты или webhook-ом на Telegram-бота, затем свяжите её с правилом алерта в разделе Alerting → Alert rules. В условии укажите функцию агрегации last() и порог, в интервале оценки — 1 минуту, в разделе For — 5 минут, чтобы не ловить кратковременные всплески нагрузки. Такой же алерт стоит завести на потерю кворума — тогда узел отправит сигнал ещё до того, как понадобится процедура восстановления кворума.
Чек-лист после настройки мониторинга
- Метрики всех узлов кластера видны в Grafana без пропусков дольше 5 минут.
- Retention policy в InfluxDB задана хотя бы на 90 дней для разбора инцидентов задним числом.
- Alerting проверен тестовым отключением одного узла — уведомление пришло в течение 5 минут.
- Доступ к Grafana закрыт паролем и не торчит в открытый интернет без reverse-proxy с TLS.
Если после проверки все пункты выполняются, стек мониторинга готов к работе. Отправку алертов и сбор метрик удобно проверять теми же вызовами, что использует Proxmox REST API — дальше стек нужно только держать в актуальном состоянии при добавлении новых узлов в кластер.