Ruler
Тема дорожной карты · Loki
Ruler — это компонент Grafana Loki, отвечающий за непрерывное вычисление правил алертов и записи LogQL на основе поступающих данных логов, а также за отправку результатов в Alertmanager или запись вычисленных метрических временных рядов в конечную точку remote write. Ruler работает как отдельный процесс (или как часть монолитного бинарного файла Loki) и читает файлы правил из настроенного бэкенда хранилища — локальная файловая система, S3, GCS или Azure Blob, — проверяя наличие обновлений при каждом интервале вычисления. В loki-config.yaml Ruler настраивается в блоке ruler, где задаются storage.type, storage.local.directory или аналогичные настройки для объектного хранилища, alertmanager_url и remote_write для правил записи. Ruler поддерживает мультитенантность через заголовок X-Scope-OrgID, позволяя каждому арендатору в развёртывании Loki иметь собственный независимый набор правил алертов и записи. Запуск Ruler-а вместе с остальными компонентами стека Grafana Loki завершает контур наблюдаемости: логи принимаются Promtail, сохраняются Ingester-ами, запрашиваются Querier-ом и непрерывно мониторируются на предмет аномалий Ruler-ом.
Как это работает
Ruler: 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).
Типичные ошибки
Ловушки Ruler: alert rule на тяжёлом LogQL query (CPU/IO съедены alerts); flapping alerts из-за noisy queries (for: 5m для sustained); нет Alertmanager grouping (один event → 50 alerts); recording rules без retention plan (storage растёт).