loki-config.yaml
Тема дорожной карты · Loki
Файл loki-config.yaml — центральный конфигурационный артефакт для управления всеми аспектами развёртывания Grafana Loki. Этот файл играет ключевую роль в настройке аутентификации, портов прослушивания, ограничений на инжестирование данных, схемы хранения и других важных параметров. Ключевые разделы верхнего уровня включают auth_enabled (управление мультитенантностью), server (порты прослушивания HTTP и gRPC), ingester, schema_config, storage_config, limits_config и compactor. Раздел schema_config особенно важен, так как он определяет store (например, boltdb-shipper или tsdb), object_store и версию схемы schema, которую Loki использует для отображения потоков меток на записи индекса. Бэкенды хранилища настраиваются в разделе storage_config, где указываются пути для локального файлового хранилища или учётные данные для S3-совместимых объектных хранилищ. При внесении изменений в loki-config.yaml всегда проверяйте конфигурацию с помощью команды loki -config.file=loki-config.yaml -verify-config перед перезапуском службы, чтобы избежать простоев.
Как это работает
Файл loki-config.yaml позволяет настроить различные аспекты работы Loki, включая аутентификацию, порты прослушивания, параметры инжестирования, схемы хранения и другие. Установка происходит через статический бинарный файл, Docker-образ или Helm chart (grafana/loki-stack), который деплоит Loki, Promtail и Grafana. Конфигурация в loki-config.yaml определяет параметры аутентификации, ограничения на инжестирование, схему хранения (формат блока данных и версию индекса) и хранилище данных (локальное файловое хранилище, S3, GCS, MinIO). Для продакшн-среды рекомендуется использовать S3-совместимое объектное хранилище и Helm chart для Kubernetes, а для разработки или маленьких установок — локальный бинарный файл и файловое хранилище. Loki Stack (Helm) — это простейший путь к работе с установленной системой.
Когда применять
Файл loki-config.yaml следует использовать для настройки различных конфигураций Loki, в зависимости от конкретной задачи и среды. Для разработки или доказательства концепции (PoC) можно использовать простую односерверную конфигурацию с локальным файловым хранилищем. Для продакшн-среды рекомендуется использовать сложную трехуровневую архитектуру или микросервисную конфигурацию с S3-совместимым объектным хранилищем. Всегда следует выставлять ограничения на скорость инжестирования данных, чтобы избежать перегрузки кластера. Также важно фиксировать версию Loki и схемы хранения в конфигурационном файле, так как миграции схем могут быть сложными и трудоемкими.
Типичные ошибки
При работе с loki-config.yaml часто встречаются определённые ловушки. Например, использование файлового хранилища в продакшн-среде может привести к проблемам с репликацией и горизонтальным масштабированием. Неустановленные ограничения на скорость инжестирования могут привести к тому, что одно приложение будет DDoS-атаковать Loki. Деплой Loki без мониторинга самого Loki может привести к тому, что проблемы будут обнаружены слишком поздно. Также важно избегать смешивания версий Loki между различными компонентами, чтобы избежать конфликтов и проблем совместимости.