Архитектура Loki

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

Grafana Loki построен по модульной конвейерной архитектуре, где каждый компонент отвечает за конкретную функцию в рабочем процессе агрегации логов. Входящие записи логов проходят через Distributor, который проверяет их корректность и распределяет по одному или нескольким Ingester-ам с помощью консистентного хеширования; Ingester-ы буферизуют записи в памяти и периодически сбрасывают сжатые чанки в объектное хранилище. Компонент Querier обрабатывает запросы на чтение: он извлекает нужные чанки из хранилища и из буферов Ingester-ов в памяти, а затем выполняет LogQL-запрос по собранным потокам логов. Отдельный компонент Ruler по расписанию вычисляет правила оповещений и записи, тогда как Compactor в фоновом режиме выполняет дедупликацию индекса и применяет политики хранения. Понимание архитектуры Loki помогает операторам выбрать между монолитным режимом для небольших развёртываний и режимом микросервисов для крупномасштабной агрегации логов.

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

Архитектура Loki: 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-моделью — единая ментальная модель.

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

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

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

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