Как использовать выбранный период времени в запросе?
Я использую Grafana с Prometheus, и я хотел бы создать запрос, который зависит от выбранного периода времени, выбранного в верхнем правом углу экрана.
Есть ли переменная (или что-то подобное), чтобы использовать в поле запроса?
Другими словами, если я выберу 24 часа, я бы хотел использовать эти данные в запросе.
3 ответа
Есть два способа, которые я знаю:
Вы можете использовать переменную $___:
increase(http_requests_total[$__interval])
Недостатком является то, что значение переменной $__interval регулируется разрешением графика, но это также может быть полезно в некоторых ситуациях.
- Этот подход должен лучше соответствовать вашему случаю:
Перейдите в настройки шаблонов Dashboard, создайте новую переменную с типом Interval. Включите "Auto Option", настройте "Счетчик шагов" на равные 1
, Затем убедитесь, что "Авто" выбран в соответствующем раскрывающемся списке в верхней части панели инструментов.
Давайте предположим, что вы называете это timeRange
тогда запрос будет выглядеть так:
increase(http_requests_total[$timeRange])
Эта переменная не будет корректироваться с помощью разрешения графика, и если вы выберете "Последние 10 часов", ее значение будет 10h
,
Если вы планируете использовать prometheus в качестве источника данных, диапазон $__ поддерживает вашу панель управления.
increase(gin_total_requests[$__range])
Зачем создавать переменную, если можно использовать встроенную глобальную переменную.
Я добавил ссылки на документацию, чтобы подтвердить свой ответ Grafan 5.3+
count_over_time({job="gerrit-sshd"}[$__interval])
Это работает для меня, и более того, вы должны установить
Max data point
как 1 в параметре запроса.
Тогда
$__interval
тот же временной диапазон из панели в правом верхнем углу Grafana.