BoltDB Shipper
Тема дорожной карты · Loki
BoltDB Shipper — это бэкенд индекса Grafana Loki, использующий встроенные файлы BoltDB на каждом узле Ingester или Querier и периодически загружающий их в общее объектное хранилище, например S3, что позволяет запускать Loki без внешней базы данных для хранения индекса. В loki-config.yaml он включается установкой store: boltdb-shipper в разделе schema_config с указанием пути object_store; Shipper затем загружает файлы индекса в тот же бакет, который используется для чанков логов, — всё развёртывание Loki опирается на единственное объектное хранилище. BoltDB Shipper значительно упростил операционную модель, заменив прежние бэкенды индекса на основе Cassandra и Bigtable для небольших и средних развёртываний: исчезла необходимость управлять отдельной распределённой базой данных. Компонент Compactor отвечает за слияние и дедупликацию файлов индекса BoltDB, загружаемых несколькими узлами Loki, и должен запускаться как единственный экземпляр с доступом к общему объектному хранилищу. Для новых развёртываний Grafana Loki рекомендуется использовать бэкенд индекса tsdb вместо BoltDB Shipper из-за более высокой производительности и эффективности запросов, однако понимание BoltDB Shipper важно для эксплуатации существующих кластеров.
Как это работает
BoltDB Shipper: 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 растёт быстро.
Типичные ошибки
Ловушки BoltDB Shipper: filesystem в prod (нет масштаба, нет durability); BoltDB Shipper всё ещё в 2026 (perf страдает); compactor не запущен (index растёт + retention не применяется); недостаточный IOPS object storage (queries ползут).