Веб-інтерфейс 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 — далі стек потрібно лише підтримувати актуальним при додаванні нових вузлів до кластера.