OTLP в Flaree
OTLP (OpenTelemetry Protocol) — стандартный протокол передачи метрик, логов и трасс. У агента Flaree есть два независимых OTLP-механизма, и их легко перепутать: receiver принимает телеметрию ваших приложений, exporter отправляет телеметрию самого агента в ваш коллектор. Эта страница объясняет, чем они отличаются и когда какой включать.
Receiver: входящий, для ваших приложений
Агент слушает OTLP/JSON на loopback и пробрасывает данные от приложений на той же машине в Flaree по обычному egress-only каналу. Приложению не нужен ни отдельный токен, ни прямой доступ в интернет.
Включается в agent.yaml:
otlp:
enabled: true
host: "127.0.0.1" # только loopback, внешний адрес не пройдёт валидацию
port: 4318
Или переменной окружения FLAREE_AGENT_OTLP_ENABLED=true.
Приложение отправляет данные на http://127.0.0.1:4318/v1/metrics и http://127.0.0.1:4318/v1/logs с Content-Type: application/json.
Receiver принимает только OTLP/JSON — Protobuf не поддерживается ради NativeAOT-совместимости. Если ваш SDK по умолчанию шлёт Protobuf, переключите его на JSON-экспортёр. Эндпоинт /v1/traces отвечает успехом, но трассы отбрасываются — они пока не поддерживаются.
Лимит тела запроса — 4 МБ по умолчанию (otlp.max_request_bytes). Защита от внешнего доступа двойная: receiver биндится только на loopback, а рантайм дополнительно отклоняет запросы с не-loopback адресов.
Exporter: исходящий, телеметрия агента
Exporter отправляет собственные метрики агента (счётчики проверок, размер буфера) во внешний OTLP-коллектор — OpenTelemetry Collector, Grafana Agent и подобные. Это нужно, если вы хотите наблюдать за самим агентом в своём стеке мониторинга.
Включается только через env-переменную — в agent.yaml этого ключа нет:
FLAREE_AGENT_OTEL_ENDPOINT=http://otel-collector:4318
Экспортируются только метрики, раз в 15 секунд. Ошибки экспорта не влияют на работу агента — это best-effort канал.
Сравнение режимов
| Receiver (входящий) | Exporter (исходящий) | |
|---|---|---|
| Кто инициирует | Ваше приложение | Агент |
| Направление | приложение → агент → Flaree | агент → ваш коллектор |
| Что передаёт | Метрики и логи приложения | Внутренние метрики агента |
| Как включить | otlp.enabled: true в agent.yaml | env FLAREE_AGENT_OTEL_ENDPOINT |
| Адрес | 127.0.0.1:4318 | Любой внешний endpoint |
| Трассы | Принимаются, но отбрасываются | Не поддерживаются |
Когда использовать receiver
- приложение уже инструментировано OpenTelemetry SDK;
- нужен единый канал для метрик и логов без отдельной интеграции под runtime;
- короткоживущим процессам проще отправить OTLP на loopback, чем ждать опроса агентом.