Skip to content

Prometheus ​

Статус: доступен · пакет wg-flow-plugin-prometheus · провайдер prometheus · категория monitoring.

Плагин читает HTTP API Prometheus (/api/v1/targets) и превращает scrape-targets в ресурсы инвентаря. Это не сбор метрик: в WaveGrid уходят identity и labels, не timeseries.

Установка ​

bash
docker compose exec agent wg-flow-agent plugin install prometheus
# или
wg-flow-agent plugin install prometheus

Дальше — локальный UI → Connections → prometheus или YAML.

Что попадает в инвентарь ​

Плагин не зеркалит весь Prometheus SD в CMDB. В инвентарь идут только устойчивые сущности: машины и домены. Sidecar-exporter’ы, IP контейнеров, job’ы вроде gitlab-ci / traefik / postgres-exporter не становятся ресурсами — иначе каталог засоряется рестартами Docker.

Типичный targetresource_typeПример provider_resource_id
node_exporter / windows_exporter / snmpserverhost:{ipv4} или node:{hostname}
blackbox ICMP/TCP на хостserverтот же хост, схлопывается с node-exporter
blackbox HTTP/ICMP на FQDNdomainhostname
cadvisor, gitlab-ci, traefik, kafka-exporter, postgres-exporter, произвольный :8080—не эмитится

Несколько host-targets на один IP схлопываются в агенте в один server (host:{ip}). Поддомены domain в кабинете группируются по apex.

provider всегда prometheus. Несколько Prometheus — разные provider_account. После обновления плагина до 0.2.0 прежние sidecar-ресурсы гасит следующий sync (is_active=false) и в каталоге больше не видны.

YAML ​

yaml
plugins:
  prometheus:
    enabled: true
    sources:
      - id: prod
        provider_account: "prom-prod"
        sync_interval_seconds: 300
        url: "https://prometheus.example.com"
        auth_type: bearer
        token: "…"
        verify_tls: true

Поля source ​

ПолеОбязательноОписание
idдаКлюч в логах (prometheus/prod)
provider_accountдаМетка аккаунта в инвентаре
urlдаБаза Prometheus без /api/v1
auth_typeнетnone, bearer, basic
tokenпри bearerBearer token
username / passwordпри basicHTTP Basic
verify_tlsнетПроверка сертификата HTTPS
sync_interval_secondsнетМинимум 300

Агент ходит на {url}/api/v1/targets. Если Prometheus за reverse-proxy с префиксом — включите его в url.

Проверка ​

bash
wg-flow-agent status
wg-flow-agent dry-run

В JSON — provider: prometheus. В кабинете фильтр провайдера Prometheus. Домены — вкладка Домены (группы apex).

Частые ошибки ​

СимптомЧто проверить
401 / 403auth_type и токен; ACL Prometheus
Connection refusedURL с хоста агента, не «localhost» контейнера если Prom снаружи
Пустой списокtargets unknown / нет discovered; sidecar-job’ы (gitlab-ci, cadvisor) намеренно не попадают в инвентарь
Нет Traefik/Postgres как отдельных ресурсовтак и задумано в 0.2.0 — это scrape, не хост; машины остаются через node-exporter
Дубли с Proxmoxразные provider — нормально; слияние в кабинете