Prometheus
Статус: доступен · пакет wg-flow-plugin-prometheus · провайдер prometheus · категория monitoring.
Плагин читает HTTP API Prometheus (/api/v1/targets) и превращает scrape-targets в ресурсы инвентаря. Это не сбор метрик: в WaveGrid уходят identity и labels, не timeseries.
Установка
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.
| Типичный target | resource_type | Пример provider_resource_id |
|---|---|---|
| node_exporter / windows_exporter / snmp | server | host:{ipv4} или node:{hostname} |
| blackbox ICMP/TCP на хост | server | тот же хост, схлопывается с node-exporter |
| blackbox HTTP/ICMP на FQDN | domain | hostname |
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
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 | при bearer | Bearer token |
username / password | при basic | HTTP Basic |
verify_tls | нет | Проверка сертификата HTTPS |
sync_interval_seconds | нет | Минимум 300 |
Агент ходит на {url}/api/v1/targets. Если Prometheus за reverse-proxy с префиксом — включите его в url.
Проверка
wg-flow-agent status
wg-flow-agent dry-runВ JSON — provider: prometheus. В кабинете фильтр провайдера Prometheus. Домены — вкладка Домены (группы apex).
Частые ошибки
| Симптом | Что проверить |
|---|---|
| 401 / 403 | auth_type и токен; ACL Prometheus |
| Connection refused | URL с хоста агента, не «localhost» контейнера если Prom снаружи |
| Пустой список | targets unknown / нет discovered; sidecar-job’ы (gitlab-ci, cadvisor) намеренно не попадают в инвентарь |
| Нет Traefik/Postgres как отдельных ресурсов | так и задумано в 0.2.0 — это scrape, не хост; машины остаются через node-exporter |
| Дубли с Proxmox | разные provider — нормально; слияние в кабинете |