Interval variable

Тема дорожной карты · Grafana

Interval-переменная в Grafana предоставляет выбираемое пользователем значение группировки времени — например, 1m, 5m, 15m, 1h или 1d — которое подставляется в запросы панелей для управления гранулярностью агрегации без создания отдельных дашбордов для разных разрешений. После определения Interval-переменной вы ссылаетесь на неё в запросах через $interval (или встроенную автовычисляемую $__interval), которая регулирует параметры шага в PromQL диапазонных запросах или выражения GROUP BY time в SQL-запросах в зависимости от выбора пользователя. Встроенная переменная Grafana $__interval автоматически вычисляет подходящий интервал на основе ширины панели и выбранного временного диапазона, но явная Interval-переменная переопределяет это автовычисление и даёт пользователям ручной контроль над разрешением запросов. Параметр Auto option в конфигурации Interval-переменной позволяет Grafana выбирать наиболее подходящее значение автоматически, сохраняя при этом элемент управления переменной на дашборде, — это гибрид между автоматической $__interval и полностью ручным выбором. Interval-переменные необходимы для производительных дашбордов: увеличение интервала для длинных временных диапазонов сокращает количество точек данных, возвращаемых источником данных, и поддерживает отзывчивость отрисовки панелей Grafana.

Как это работает

Interval variable делают один дашборд обслуживающим много отфильтрованных view. Типы: Query (заполняется запросом — label_values(instance)), Custom (хардкод-список), Constant, Datasource (переключение источников), Interval (размер time-bucket), Text box, Ad-hoc filters. Multi-value + Include-all. Использование в запросах панелей: ${var} или $var. Repeat panel/row по переменной.

Когда применять

Всегда добавляйте хотя бы переменную instance или pod на infra-дашбордах — фильтр на один хост вместо просмотра всех 200. Переменная Interval — чтобы юзер выбирал "5m" vs "1h" агрегацию. Include all — дефолт "view everything". Дефолтные значения переменных — чтобы first-load не был пустым.

Типичные ошибки

Ловушки Interval variable: запросы не учитывают определённую переменную (дашборд показывает всё независимо от фильтра — путает); значения переменной со спецсимволами не эскейплены (битые запросы); переменные обновляются на каждое взаимодействие (медленный UI).

Связанные понятия

Полезные ресурсы