Перейти к содержимому
Перейти к основному содержимому

API agent и ingestion endpoints

Здесь перечислены все эндпоинты, которые вызывает Flaree Agent, и OTLP-маршруты шлюза Ingestion. Весь трафик идёт egress-only от агента к бэкенду по HTTPS и авторизуется заголовком X-Flaree-Token: <agent-token>.

Agent API

Wire-протокол агента на https://api.flaree.ru:

МетодПутьКогда вызываетсяУспешный ответ
POST/api/agent/registerпри старте процесса200 — AgentId, minimumVersion, latestVersion
GET/api/agent/configкаждые 30 секунд200 — список jobs и ConfigHash
POST/api/agent/checkinsбатч результатов проверок200
POST/api/agent/heartbeatраз в минуту: версия, uptime, CPU/RAM204 No Content
POST/api/agent/inventoryпри регистрации и каждые 6 часов204 No Content

Ingestion endpoints

Логи и метрики (в том числе принятые OTLP receiver'ом агента) уходят в шлюз ingestion. Аутентификация та же — X-Flaree-Token:

МетодПутьТелоУспешный ответ
POST/api/agent/logsJSON-батч записей логов202 Accepted
POST/api/agent/metricsJSON-батч точек метрик202 Accepted
warning

Маршрутов /ingest/logs, /ingest/metrics, /ingest/heartbeat не существует. Логи и метрики принимаются на /api/agent/logs и /api/agent/metrics, heartbeat — на /api/agent/heartbeat.

OTLP ingestion

Бэкенд принимает OTLP/HTTP/JSON напрямую, без агента — например из serverless-сред. Авторизация тем же agent token:

МетодПутьУспешный ответПримечание
POST/otlp/v1/metrics202 Acceptedконвертируется во внутренний формат метрик
POST/otlp/v1/logs202 Acceptedконвертируется во внутренний формат логов
POST/otlp/v1/traces202 Acceptedtraces принимаются и отбрасываются — трейсинг не реализован

Коды ошибок и реакция агента

HTTPerror codeПричинаРеакция агента
401invalid_agent_tokenтокен невалиден или отозваностанов процесса с exit 77; нужен новый токен
401minimum_version_requiredверсия агента ниже серверного minimumVersionпринудительное автообновление даже при FLAREE_AGENT_AUTO_UPDATE=false; если обновиться не удалось — exit 78
403логи или метрики недоступны на тарифебатч не отправляется повторно
429quota_exceededпревышена квота тарифапауза до Retry-After; заголовок приоритетен как authoritative backoff, reset_at из тела — справочное; данные остаются в буфере
5xxвременный сбой бэкендаэкспоненциальный backoff, батчи остаются в буфере до восстановления

Формат тела ошибки

Ответ 429 quota_exceeded содержит и заголовок, и тело:

{
"error": "quota_exceeded",
"reset_at": "2026-07-16T12:00:00Z",
"retry_after_sec": 300
}
  • reset_at — UTC-момент, когда квота обновится.
  • retry_after_sec дублирует заголовок Retry-After; при расхождении заголовок приоритетен.

Ошибки 401/404 возвращают только код: { "error": "invalid_agent_token" }, { "error": "agent_not_found" }.

Связанные страницы