Компоненты: Distributor, Ingester, Querier

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

Grafana Loki состоит из нескольких специализированных компонентов, которые вместе образуют конвейер агрегации логов. Distributor является первой точкой контакта для входящих потоков логов: он проверяет наборы меток, применяет ограничения для арендаторов и распределяет записи по нужным Ingester-ам с помощью кольца консистентного хеширования. Ingester-ы — это компоненты с состоянием, которые поддерживают журналы предварительной записи и буферы чанков в памяти, сжимая записи логов перед их регулярной передачей в долгосрочное объектное хранилище. Querier обрабатывает LogQL-запросы на чтение, объединяя данные из буферов Ingester-ов в памяти и сохранённых чанков в объектном хранилище, чтобы ни одна строка лога не была пропущена в процессе активной записи. Дополнительные компоненты, такие как Query Frontend, обеспечивают шардирование запросов и кэширование, а Compactor управляет уплотнением индекса и применяет политики хранения ко всем данным в Loki.

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

Компоненты: Distributor, Ingester, Querier: Grafana Loki — log aggregation система, спроектированная быть cost-effective + простой — индекс по labels (как Prometheus) вместо full text. Сами логи не индексируются, только метаданные (labels). Архитектура: Distributor (принимает writes) → Ingester (in-memory буфер + chunking) → Querier (читает из chunks + object storage). Логи флоу: agent (Promtail/Fluent Bit/OTel) → Loki → Grafana для query/визуализации. По сравнению с ELK: дешевле на масштабе (меньше индексации), хуже для full-text search.

Когда применять

Loki когда (а) много логов + tight бюджет, (б) Grafana/Prometheus уже в стеке, (в) большинство queries — "покажи логи сервиса X за последний час" а не free-text search. Elasticsearch — когда full-text search первичный use case. Loki + Prometheus + Tempo покрывают logs/metrics/traces с общей label-моделью — единая ментальная модель.

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

Ловушки Компоненты: Distributor, Ingester, Querier: ожидать Elasticsearch-style быстрый full-text search (Loki grep-ит внутри chunks — медленнее); использовать Loki без выбора правильного deployment mode (monolithic vs simple-scalable vs microservices); недостаточный object storage IOPS.

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

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