metalnikovg.ru
MetalnikovG.ru

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

Banner.png
Опубликовано
//
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 будет выглядеть так:

docker-compose.yaml
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

opentelemetry-setup

Укажите адрес и порт вашего сервера Prometheus, а так же путь сбора метрик: /api/v1/otlp/v1/metrics

Перейдите в Prometheus и проверьте, что метрики собираются по заданию proxmox-ve. Cделайте запрос:

{job=`proxmox-ve`}
opentelemetry-setup

Настройки Grafana

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

opentelemetry-setup

Заключение

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