Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
Loki
Система агрегации логов от Grafana. Хранит логи в filesystem или S3/MinIO. Grafana автоматически настраивается как datasource при addon_prometheus_stack: true. Для сбора логов нужен Promtail (addon_promtail: true).
Быстрый старт
# group_vars/all/addons.yml
addon_loki: true
addon_promtail: true # агент сбора логов
addon_prometheus_stack: true # Grafana datasource настраивается автоматически
make addon-loki
make addon-promtail
Параметры
| Переменная | Умолч. | Описание |
|---|---|---|
loki_storage_type |
авто | filesystem | s3 (авто при addon_minio) |
loki_storage_size |
10Gi |
PVC для данных (filesystem режим) |
loki_retention_period |
720h |
Срок хранения логов (30 дней) |
loki_replicas |
1 |
Количество реплик |
Интеграция с MinIO
При addon_minio: true Loki автоматически переключается на S3-режим и использует MinIO:
addon_loki: true
addon_minio: true # автоматически настроит S3 backend
Создаются бакеты: loki-chunks, loki-ruler, loki-admin.
Grafana datasource
При addon_prometheus_stack: true Grafana автоматически получает Loki как datasource. В дашбордах Grafana → Explore → выбери Loki source.
LogQL запросы в Grafana
# Все логи из namespace
{namespace="my-app"}
# Логи конкретного пода
{pod="my-app-xyz-abc"}
# Фильтр по тексту
{namespace="ingress-nginx"} |= "error"
# Regex фильтр
{namespace="my-app"} |~ "ERROR|WARN"
# Парсинг JSON логов
{namespace="my-app"} | json | level="error"
# Метрики из логов (rate ошибок)
rate({namespace="my-app"} |= "error" [5m])
# Top N сервисов по количеству ошибок
topk(5, sum by (app) (rate({namespace="my-app"} |= "error" [5m])))
Прямое подключение из приложений
# В конфигурации приложения:
loki_url: "http://loki.loki.svc.cluster.local:3100/loki/api/v1/push"
Диагностика
kubectl logs -n loki statefulset/loki -f
kubectl get pods -n loki
# Проверить что Promtail отправляет логи:
kubectl logs -n promtail daemonset/promtail -f
Официальные ресурсы
- Официальный сайт: https://grafana.com/oss/loki/
- Официальная документация: https://grafana.com/docs/loki/latest/
- Версии Helm chart / ПО: https://artifacthub.io/packages/helm/grafana/loki