Docker Loki driver

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

Драйвер логирования Docker Loki — это плагин Docker, позволяющий контейнерам отправлять логи из stdout и stderr напрямую в Grafana Loki без запуска отдельного агента отправки логов, такого как Promtail. Плагин устанавливается командой docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions и может быть задан как драйвер логирования по умолчанию в daemon.json Docker или настроен для отдельного контейнера с помощью --log-driver=loki и таких опций, как --log-opt loki-url, --log-opt loki-external-labels и --log-opt loki-pipeline-stages. Каждый поток логов контейнера автоматически помечается метаданными Docker: именем контейнера, именем образа и любыми пользовательскими метками, заданными через loki-external-labels. Драйвер Docker Loki удобен для сред, не связанных с Kubernetes, где требуется простая агрегация логов контейнеров в Grafana Loki без развёртывания полного стека сбора логов. Следует учитывать, что в отличие от Promtail, драйвер Docker не сохраняет файл позиций, поэтому логи, записанные в период недоступности Loki, могут быть потеряны — это делает его более подходящим для разработки или некритичных продакшен-рабочих нагрузок.

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

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

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

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

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

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