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

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

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

Каждый активный target становится ресурсом. Тип выводится из job/labels (hostname, порт, имя экспортера):

Типичный targetresource_typeПример provider_resource_id
node_exporter / hostserverhost:{ipv4} или node:{hostname}
postgres / mysql / redisdatabaseиз labels job/instance
nginx / haproxy / traefikload_balancerscrape URL / instance
blackbox / probe FQDNdomainhostname
прочие процессы / VMinstanceinstance label

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

provider всегда prometheus. Несколько Prometheus — разные provider_account.

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
Дубли с Proxmoxразные provider — нормально; слияние в кабинете