Создание Grafana-managed recording-правил
Recording-правила позволяют периодически заранее вычислять часто используемые или ресурсоёмкие запросы, сохраняя результаты как новую метрику временной серии.
Затем правила оповещений и дашборды могут запрашивать новую метрику, полученную из recording-правила. Это быстрее, чем запрашивать данные в реальном времени, и может помочь снизить нагрузку на систему.
Grafana не содержит встроенной базы данных временных рядов для хранения результатов recording-правил. Вы должны принести свою собственную совместимую с Prometheus базу данных для хранения серий, генерируемых recording-правилами.
Grafana-managed recording-правила предлагают ту же семантику, похожую на Prometheus, но позволяют выполнять запросы к источникам данных, поддерживаемым оповещениями. Кроме того, вы можете использовать recording-правила для импорта и отображения данных из других источников данных в Prometheus.
В Grafana Cloud recording-правила поддерживают запись в совместимые с Prometheus источники данных, настроенные с Private Data Source Connect (PDC). Это позволяет записывать результаты recording-правил в экземпляр Prometheus или Mimir в приватной сети, не открывая эту сеть для входящего трафика из Grafana Cloud.
Note
Grafana-managed recording-правила включены по умолчанию в Grafana Cloud.
В Grafana OSS и Enterprise вы должны включить их, следуя инструкциям в разделе Перед началом.
Чтобы настроить Grafana-managed recording-правила, выполните следующие шаги.
Перед началом
Этот раздел применим только к Grafana OSS и Grafana Enterprise.
Если правило явно не указывает целевой источник данных для записи (например, если оно было создано до Grafana 12.1), Grafana будет использовать default_datasource_uid, заданный в конфигурации:
[recording_rules]
default_datasource_uid = my-uid
Note
Grafana Cloud: если вы оставите Target data source пустым при создании recording-правила, Grafana по умолчанию запишет результаты в ваш управляемый источник данных Prometheus с именем
grafanacloud-prom. Это может отличаться от источника данных по умолчанию, который вы используете в дашбордах. Чтобы писать в другой бэкенд, явно выберите целевой источник данных. В самостоятельно управляемой Grafana вы можете задать значение по умолчанию черезdefault_datasource_uidв секции[recording_rules]конфигурации.
Если вы ранее настраивали recording-правила с помощью опций конфигурации url и basic_auth_*, они больше не поддерживаются. Вы должны либо:
- Задать
default_datasource_uidв секции[recording_rules]файла конфигурации, чтобы указать на целевой источник данных - Либо перед обновлением до Grafana 12.1 включить feature toggle
grafanaManagedRecordingRulesDatasourcesи обновить каждое recording-правило по отдельности, указав целевой источник данных
Добавление нового recording-правила
Чтобы создать новое Grafana-managed recording-правило:
-
Нажмите Alerts & IRM -> Alerting -> Alert rules.
-
В верхней части страницы Alert rules нажмите More -> New Grafana recording rule.
-
Введите имена для идентификации вашего recording-правила и метрики.
Имя метрики должно быть именем метрики Prometheus и не содержать пробелов. Подробнее см. Имена метрик Prometheus.
Определение recording-правила
Определите запрос для получения данных, которые хотите измерять, и задайте вывод recording-правила.
-
Выберите источник данных.
-
В выпадающем списке Options укажите временной диапазон.
Note
Grafana Alerting поддерживает только фиксированные относительные временные диапазоны, например
now-24hr: now.Она не поддерживает абсолютные временные диапазоны:
2021-12-02 00:00:00 to 2021-12-05 23:59:592или полуотносительные временные диапазоны:now/d to: now. -
Добавьте запрос.
Чтобы добавить несколько запросов, нажмите Add query.
-
Добавьте одно или несколько выражений.
a. Для каждого выражения выберите либо Classic condition, чтобы создать одно recording-правило, либо выберите из опций Math, Reduce и Resample.
При использовании Prometheus вы можете использовать instant vector и встроенные функции, поэтому вам не нужно добавлять дополнительные выражения.
b. Нажмите Preview, чтобы убедиться, что выражение успешно.
-
Нажмите Set as recording rule output на запросе или выражении, которое хотите задать как вывод вашего правила.
Настройка поведения вычисления
Используйте вычисление recording-правила, чтобы определить, как часто должно вычисляться recording-правило.
Для этого вам нужно убедиться, что ваше recording-правило находится в правильной группе вычисления с интервалом, который лучше всего подходит для вашего сценария.
-
Выберите папку или нажмите + New folder.
-
Выберите группу вычисления или нажмите + New evaluation group.
Если вы создаёте новую группу вычисления, укажите интервал для группы.
Все правила внутри одной группы вычисляются параллельно за один и тот же временной интервал. Каждое recording-правило в группе использует одно и то же время вычисления, то есть все запросы из одной группы всегда согласованы друг с другом.
-
До или после создания recording-правила у вас есть возможность при необходимости Pause evaluation.
Расширенная конфигурация
min_interval задаёт минимальный интервал, который нужно соблюдать между вычислениями правил. Значение по умолчанию — 10s, что равно интервалу планировщика. Правила корректируются, если они меньше этого значения или не кратны интервалу планировщика (10s). Более высокие значения могут помочь в управлении ресурсами, так как со временем планируется меньше вычислений.
Эта настройка имеет приоритет над частотой каждого отдельного правила. Если частота правила ниже этого значения, то применяется это значение.
Эта настройка применяется как к Grafana-managed правилам оповещений, так и к recording-правилам.
Добавление меток
При необходимости вы можете добавить пользовательские метки к результирующей метрике, выбрав существующие пары ключ-значение из выпадающего списка или введя новый ключ или значение.
Запрос новой метрики в дашбордах или правилах оповещений
Нажмите Save rule или Save rule and exit, чтобы сохранить правило.
После сохранения новая записанная метрика доступна для использования в дашбордах и правилах оповещений.