# Loki Система агрегации логов от Grafana. Хранит логи в filesystem или S3/MinIO. Grafana автоматически настраивается как datasource при `addon_prometheus_stack: true`. Для сбора логов нужен Promtail (`addon_promtail: true`). ## Быстрый старт ```yaml # group_vars/all/addons.yml addon_loki: true addon_promtail: true # агент сбора логов addon_prometheus_stack: true # Grafana datasource настраивается автоматически ``` ```bash 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: ```yaml 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 ```logql # Все логи из 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]))) ``` ## Прямое подключение из приложений ```yaml # В конфигурации приложения: loki_url: "http://loki.loki.svc.cluster.local:3100/loki/api/v1/push" ``` ## Диагностика ```bash 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/oss/loki/) - Официальная документация: [https://grafana.com/docs/loki/latest/](https://grafana.com/docs/loki/latest/) - Версии Helm chart / ПО: [https://artifacthub.io/packages/helm/grafana/loki](https://artifacthub.io/packages/helm/grafana/loki)