Алертинг
Тема дорожной карты · Loki
Grafana Loki поддерживает оповещения на основе логов через компонент Ruler, который по расписанию вычисляет метрические LogQL-запросы и инициирует алерты при выполнении условий — аналогично тому, как Prometheus обрабатывает оповещения на основе метрик. Правила алертов записываются в YAML-файлах, содержащих LogQL-выражения вида rate({job="nginx"} |= "error" [5m]) > 0.5, и хранятся либо локально, либо в объектном хранилище, которое Ruler периодически опрашивает. При выполнении условия алерта Loki Ruler отправляет сработавшие алерты в экземпляр Alertmanager, который занимается дедупликацией, замолчанием, группировкой и маршрутизацией уведомлений в такие каналы, как Slack, PagerDuty или электронная почта. Оповещения Loki интегрируются с тем же Alertmanager, который используется для алертов Prometheus, создавая единый конвейер оповещений как для метрик, так и для событий логов в рамках одного стека наблюдаемости Grafana. Для настройки Ruler необходимо задать блок ruler в loki-config.yaml, указав alertmanager_url, storage (откуда читаются файлы правил) и enable_api для управления правилами через HTTP API Loki.
Как это работает
Алертинг: Ruler-компонент Loki оценивает LogQL-правила + шлёт alerts в Alertmanager (тот же что Prometheus). Alert rules: триггерятся когда LogQL metric query пересекает threshold (e.g., "больше 10 ошибок/мин за последние 5 мин"). Recording rules: pre-compute LogQL-метрики + сохраняют в Prometheus-совместимый remote_write target — экономит cost на повторяющихся dashboard queries. Комбинируйте Loki alerts с Prometheus alerts в одном Alertmanager для unified routing.
Когда применять
Loki alerts для log-derived сигналов, не доступных как metrics ("scan attempts spike", "auth failure rate"). Для большинства operational metrics Prometheus alerts дешевле. Тестируйте alert rules на исторических данных до включения — false positives = alert fatigue. Rule evaluation interval разумный (30s-1m, не 5s).
Типичные ошибки
Ловушки Алертинг: alert rule на тяжёлом LogQL query (CPU/IO съедены alerts); flapping alerts из-за noisy queries (for: 5m для sustained); нет Alertmanager grouping (один event → 50 alerts); recording rules без retention plan (storage растёт).