OpenTelemetry → Loki
Тема дорожной карты · Loki
OpenTelemetry Collector может пересылать логи в Grafana Loki с помощью компонента lokiexporter, что позволяет организациям, принявшим стандарт наблюдаемости OpenTelemetry, использовать Loki в качестве бэкенда хранилища логов. lokiexporter настраивается в разделе exporters конфигурации OpenTelemetry Collector и отображает атрибуты ресурсов OpenTelemetry и записей логов на метки Loki, отправляя данные на HTTP-конечную точку /loki/api/v1/push Loki. Ключевая опция конфигурации labels.attributes задаёт, какие атрибуты OpenTelemetry (например, service.name, k8s.namespace.name или severity) должны быть продвинуты в метки Loki, а не храниться внутри тела лога. Использование OpenTelemetry с Grafana Loki особенно ценно в тех случаях, когда трассировки и метрики уже собираются через OpenTelemetry Collector: единый агентный конвейер доставляет все три сигнала наблюдаемости — логи, метрики и трассировки — из одной конфигурации. По мере зрелости спецификации OpenTelemetry Logs интеграция lokiexporter продолжает совершенствоваться, превращая OpenTelemetry в перспективный путь для отправки структурированных логов в Grafana Loki.
Как это работает
OpenTelemetry → Loki: альтернативы Promtail. Fluentd (legacy, Ruby) + Fluent Bit (C, lightweight) шипят в Loki через Loki output plugin. Docker имеет built-in Loki driver (--log-driver=loki) — простейшее для plain Docker хостов. OpenTelemetry Collector (OTel) становится universal агентом — single binary для logs/metrics/traces, vendor-neutral. Выбирайте по ecosystem fit: K8s + Grafana stack → Promtail/Alloy; mixed ecosystems → OTel; existing Fluent → держите Fluent Bit.
Когда применять
Для новых деплоев — OTel Collector: vendor-neutral + future-proof. Для pure Grafana stack — Promtail/Alloy. Docker driver ок для development, но теряет логи если Loki недоступен (нет буферизации) — production требует агента. Всегда буферизация + back off на Loki write failures.
Типичные ошибки
Ловушки OpenTelemetry → Loki: Docker Loki driver в prod без fallback (потеря логов на outage Loki); два агента шипят одни логи (dedup впустую); не конфигурируют backpressure (агент OOM под нагрузкой); игнор time-skew (логи приходят с неправильными timestamps).