Хранилище

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

Grafana Loki разделяет хранилище на два самостоятельных аспекта: индекс (отображение потоков меток на расположение чанков) и чанки (собственно сжатые данные логов). Такое разделение позволяет Loki хранить дешёвые сжатые чанки в объектном хранилище, например S3, GCS или Azure Blob, поддерживая при этом небольшой индекс для быстрого поиска потоков. Раздел storage_config в loki-config.yaml определяет бэкенд как для индекса, так и для объектного хранилища, а раздел schema_config задаёт тип индекса и объектное хранилище для каждого временного периода, что позволяет выполнять онлайн-миграции между бэкендами хранилища. Loki поддерживает несколько бэкендов для индекса: устаревший boltdb-shipper (файлы BoltDB, загружаемые в объектное хранилище), более новый tsdb (формат Prometheus TSDB), а также варианты на основе Bigtable или Cassandra для крупных развёртываний. Правильный выбор конфигурации хранилища Grafana Loki критически важен для балансировки производительности запросов, стоимости и операционной сложности — TSDB с S3 в настоящее время является рекомендуемым подходом для большинства продакшен-развёртываний.

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

Хранилище: Loki хранит chunks (compressed log segments) + index (label → chunk pointers). Index backends эволюционировали: BoltDB Shipper (1-е поколение) → TSDB (текущий дефолт, намного лучше perf). Object storage (S3, GCS, Azure Blob, MinIO) держит bulk данных — дёшево, масштабируемо, durable. Local filesystem только для dev. Compactor merge-ит старые index файлы + применяет retention. TSDB index примерно в 10 раз эффективнее BoltDB Shipper — мигрируйте, если ещё на BoltDB.

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

Используйте TSDB index в 2026 — BoltDB Shipper legacy. S3-compatible object storage (Ceph, MinIO, AWS S3) для prod. Chunk size + compression тщательно (дефолты разумны). Replication factor ≥ 3 в clustered деплоях. Мониторьте object-storage cost — log volume растёт быстро.

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

Ловушки Хранилище: filesystem в prod (нет масштаба, нет durability); BoltDB Shipper всё ещё в 2026 (perf страдает); compactor не запущен (index растёт + retention не применяется); недостаточный IOPS object storage (queries ползут).

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

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