Fluent Bit → Loki
Тема дорожной карты · Loki
Fluent Bit — это лёгкий высокопроизводительный процессор логов, который отправляет логи в Grafana Loki с помощью встроенного плагина вывода loki, доступного без дополнительной установки начиная с Fluent Bit версии 1.6. Плагин вывода Loki настраивается в fluent-bit.conf или fluent-bit.yaml в разделе [OUTPUT], где указываются Host, Port и Labels — метки, прикрепляемые к потокам логов, отправляемых на конечную точку Loki /loki/api/v1/push. Низкое потребление памяти Fluent Bit делает его предпочтительным агентом отправки логов в ресурсоограниченных средах: встраиваемых системах, узлах IoT и высокоплотных Kubernetes-кластерах, где запуск Promtail на каждом узле был бы слишком затратным. Фильтрующие этапы [FILTER] Fluent Bit позволяют переписывать, обогащать или отбрасывать записи логов до их поступления в Grafana Loki, сокращая ненужный объём логов и управляя кардинальностью меток. В Kubernetes официальный Helm-чарт Fluent Bit (fluent/fluent-bit) можно развернуть как DaemonSet рядом с экземпляром Grafana Loki в качестве лёгкой альтернативы агрегации логов на основе Promtail.
Как это работает
Fluent Bit → 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.
Типичные ошибки
Ловушки Fluent Bit → Loki: Docker Loki driver в prod без fallback (потеря логов на outage Loki); два агента шипят одни логи (dedup впустую); не конфигурируют backpressure (агент OOM под нагрузкой); игнор time-skew (логи приходят с неправильными timestamps).