Loki.

Grafana Loki — это система для сбора, хранения и анализа логов, которая использует методы индексации на основе меток и предоставляет возможности запросов и визуализации логов, через веб-интерфейс Grafana. Путь к файлу конфигурации, по умолчанию: /opt/dppm/planr/logging/loki/local-config.yaml

auth_enabled: false

server:
  http_listen_port: 3100

common:
  path_prefix: /loki
  storage:
    filesystem:
      chunks_directory: /loki/chunks
      rules_directory: /loki/rules
  replication_factor: 1
  ring:
    kvstore:
      store: inmemory

schema_config:
  configs:
  - from: 2020-05-15
    store: tsdb
    object_store: filesystem
    schema: v13
    index:
      prefix: index_
      period: 24h

limits_config:
  ingestion_rate_strategy: local # Default: global
  max_global_streams_per_user: 5000
  max_query_length: 0h # Default: 721h
  max_query_parallelism: 32 # Old Default: 14
  max_streams_per_user: 0 # Old Default: 10000
  retention_period: 168h # 1 weeks retantion

auth_enabled: false

  • auth_enabled отвечает за включение или отключение аутентификации при доступе к Loki.

server

  • Этот блок отвечает за конфигурацию HTTP-сервера, на котором работает Loki.
  • http_listen_port: 3100 — задает порт, на котором Loki будет слушать входящие HTTP-запросы (по умолчанию 3100).

common

  • Здесь описаны общие настройки Loki, такие как путь к файлам и репликация.
  • path_prefix: /loki — задает базовый путь, который будет использоваться для хранения данных и конфигураций Loki.
  • storage описывает, как и где будут храниться данные:
  • chunks_directory: /loki/chunks — каталог для хранения логов в виде "чанков" (частей данных).
  • rules_directory: /loki/rules — каталог для хранения правил (например, для alert-менеджера или для управления обработкой логов).
  • replication_factor: 1 — задает фактор репликации данных. В этом случае репликация отключена (одна копия данных).
  • ring — определяет настройку кольца (ring), которое отвечает за распределение нагрузки и данных по узлам кластера.
  • kvstore: inmemory — хранилище для кольца будет храниться в оперативной памяти (данные не сохраняются на диск, что подходит для небольших инсталляций и тестирования).

schema_config

  • Этот блок отвечает за конфигурацию схемы хранения данных в Loki.
  • from: 2020-05-15 — дата, начиная с которой применяется эта схема.
  • store: tsdb — Loki использует TSDB (Time Series Database), то есть база данных временных рядов для хранения данных.
  • object_store: filesystem — объектное хранилище будет файловым (на локальной файловой системе).
  • schema: v13 — версия схемы (v13 используется в последних версиях Loki для оптимизированного хранения данных).
  • index:
  • prefix: index_ — задает префикс для индексации данных (индексирует логи для ускорения поиска).
  • period: 24h — период индексации данных, что означает, что индексы будут сбрасываться каждые 24 часа.

limits_config

  • В этом блоке описаны ограничения и параметры нагрузки на систему.
  • ingestion_rate_strategy: local — стратегия ограничения скорости приема данных. Здесь указана стратегия local, которая применяет ограничения на уровне локального узла, а не глобально.
  • max_global_streams_per_user: 5000 — максимальное количество потоков данных (streams), которое может быть открыто пользователем по всему кластеру.
  • max_query_length: 0h — максимальная продолжительность выполнения запросов. Значение 0h означает, что нет ограничений по времени выполнения запросов.
  • max_query_parallelism: 32 — максимальное количество запросов, которые могут выполняться параллельно.
  • max_streams_per_user: 0 — максимальное количество потоков данных на пользователя. Значение 0 означает, что нет ограничений на количество потоков.
  • retention_period: 168h — период хранения логов, после которого они будут удаляться. 168 часов — это 7 дней (1 неделя).

Подробнее о настройке конфигурационного файла Loki, можно ознакомиться на официальном сайте https://grafana.com/docs/loki/latest/configure/