Ingestion

Тема дорожной карты · Loki

Запись логов в Grafana Loki — это процесс получения потоков логов от агентов или приложений и их надёжного сохранения в виде сжатых чанков в хранилище. Все данные логов поступают в Loki через компонент Distributor по HTTP push API на /loki/api/v1/push, который принимает записи логов в формате JSON или Protobuf вместе с набором меток, идентифицирующих поток. Distributor проверяет имена меток, применяет ограничения скорости на уровне арендатора, заданные в limits_config, и хеширует метки каждого потока для определения того, какие узлы Ingester должны получить данные. Официальные агенты записи: Promtail, Fluent Bit, Fluentd, драйвер логирования Docker Loki и OpenTelemetry Collector — все они поддерживают отправку потоков логов на конечную точку push Grafana Loki. Настройка производительности записи обычно включает регулировку ingester.chunk_idle_period, ingester.max_chunk_age и количества реплик Ingester для баланса пропускной способности записи и потребления памяти.

Как это работает

Ingestion: альтернативы 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.

Типичные ошибки

Ловушки Ingestion: Docker Loki driver в prod без fallback (потеря логов на outage Loki); два агента шипят одни логи (dedup впустую); не конфигурируют backpressure (агент OOM под нагрузкой); игнор time-skew (логи приходят с неправильными timestamps).

Связанные понятия

Полезные ресурсы