Встроенные метрики
Flaree Agent экспонирует небольшой набор Prometheus-метрик для самодиагностики: здоровье проверок, задержки и состояние буфера. Их достаточно, чтобы алертить на деградацию агента, не подключая внешние инструменты.
Endpoint
Метрики отдаются по HTTP на http://127.0.0.1:9090/metrics. Адрес задаётся ключом metrics_endpoint в agent.yaml или переменной FLAREE_AGENT_METRICS; пустое значение (или флаг --no-metrics) выключает экспорт.
curl -s http://127.0.0.1:9090/metrics | grep flaree_agent
Endpoint слушает только loopback. Для scrape с другой машины используйте firewall и reverse-proxy с авторизацией.
Список метрик
Это полный список — других метрик агент не публикует:
| Имя | Тип | Метки | Описание |
|---|---|---|---|
flaree_agent_checks_total | counter | type (http, tcp, heartbeat, postgres, redis, mysql, mongo, rabbitmq, kafka), ok (true/false) | каждая выполненная проверка |
flaree_agent_checks_failed_total | counter | type | подмножество неуспешных проверок для алертов |
flaree_agent_buffer_dropped_total | counter | — | чекины, потерянные при переполнении in-memory буфера |
flaree_agent_check_duration_ms | histogram | type | время выполнения проверки; очередь планировщика не включена |
flaree_agent_buffer_size_current | gauge | — | текущее число чекинов в очереди буфера |
Кардинальность ограничена числом типов проверок — типично меньше 50 рядов на агент.
Рекомендуемые алерты
- Здоровье проверок: доля
flaree_agent_checks_failed_total / flaree_agent_checks_totalза 5m поtypeвыше 5%. - Backpressure:
flaree_agent_buffer_size_currentвыше 80% ёмкости буфера дольше 10 минут. - Потери данных: любой ненулевой прирост
flaree_agent_buffer_dropped_totalза 5m — жёсткий алерт.
Экспорт по OTLP
Те же метрики агент может отправлять в ваш OTLP-коллектор (OpenTelemetry Collector, Grafana Agent):
FLAREE_AGENT_OTEL_ENDPOINT=http://otel-collector:4318
Переменная задаётся только через окружение — в agent.yaml этого поля нет. Экспорт best-effort: ошибки доставки не влияют на работу агента. Не путайте с OTLP receiver'ом (otlp.enabled) — он принимает телеметрию колокейтед-приложений, а exporter отправляет метрики самого агента.