Мониторинг Proxmox с использованием OpenTelemetry и Prometheus

- Опубликовано
- //1 мин. чтения
Начиная с Proxmox Virtual Environment v9.0 был добавлен сервер OpenTelemetry, который позволяет передавать метрики по протоколу OTLP/HTTP на внешний ресивер. Это нововведение теперь позволит нам собирать метрики напрямую с помощью Prometheus без использования PVE-exporter.
Настройка Prometheus
Для включения OTLP ресивера в Prometheus (если он развернут с помощью Docker) необходимо добавить в секцию command cледующую строку:
command:
- --web.enable-otlp-receiver
Целиком файл docker-compose будет выглядеть так:
volumes:
prometheus_storage: {}
services:
prometheus:
command:
- --web.enable-otlp-receiver
- --config.file=/etc/prometheus/prometheus.yml
- --storage.tsdb.path=/prometheus
- --storage.tsdb.retention.time=15d
- --storage.tsdb.retention.size=10GB
- --web.enable-admin-api
- --web.enable-lifecycle
container_name: prometheus
image: prom/prometheus:latest
networks:
- monitoring
ports:
- published: 9090
target: 9090
restart: unless-stopped
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
- prometheus_storage:/prometheus
networks:
monitoring:
name: monitoring
driver: bridge
Настройка OpenTelemetry Server
Перейдите в Proxmox, в раздел Центр обработки данных -> Сервер метрик -> Добавить -> OpenTelemetry

Укажите адрес и порт вашего сервера Prometheus, а так же путь сбора метрик: /api/v1/otlp/v1/metrics
Перейдите в Prometheus и проверьте, что метрики собираются по заданию proxmox-ve. Cделайте запрос:
{job=`proxmox-ve`}

Настройки Grafana
После этого можно переходить в Grafana и импортировать дашборд для Proxmox VE

Заключение
Мы настроили мониторинг Proxmox VE с использованием нового плагина OpenTelemetry и Prometheus без посредника в виде PVE-exporter.