OTLP в Flaree
Перевод в процессе / Translation in progress. See русская версия.
OTLP (OpenTelemetry Protocol) — стандарт OpenTelemetry для передачи метрик, логов и трасс. В Flaree он используется в двух сценариях: локальный receiver на агенте для приложений на той же машине и публичный ingestion в облаке, если готов OpenTelemetry-пайплайн и агент не нужен.
OTLP на агенте
Receiver на агенте слушает только loopback 127.0.0.1 и не принимает соединения с 0.0.0.0: при non-loopback host в agent.yaml агент отказывается стартовать. Это изолирует приём OTLP от внешней сети и соответствует ADR 0005. Пути приёма — POST /v1/logs, POST /v1/metrics, POST /v1/traces. Дальше агент пересылает батчи в ingestion по egress-only каналу.
JSON-only кодирование
Receiver агента принимает только OTLP/JSON — Protobuf не поддерживается. Причина — сохранение NativeAOT-совместимости: Protobuf-зависимости ломают AOT-компиляцию, поэтому payload разбирается через JsonDocument без рефлексии (см. ADR 0005). Если SDK по умолчанию шлёт Protobuf, переключите его на JSON-экспортёр.
OTLP в облаке
Публичные ingestion-эндпоинты принимают OTLP/HTTP напрямую, минуя агент: POST /otlp/v1/metrics, POST /otlp/v1/logs, POST /otlp/v1/traces. Авторизация — токен workspace в заголовке X-Flaree-Token. Traces могут приниматься без отображения в UI, если хранение spans ещё не включено для вашего тарифа: данные не теряются и станут видимыми после активации.
Когда использовать
- приложение уже инструментировано OpenTelemetry SDK и шлёт OTLP;
- нужен единый канал для метрик и логов без отдельной интеграции под runtime;
- миграция с Jaeger или Prometheus на Flaree без переписывания инструментации;
- короткоживущим процессам проще отправить OTLP на loopback, чем ждать опроса агентом.