Как использовать выбранный период времени в запросе?

Я использую Grafana с Prometheus, и я хотел бы создать запрос, который зависит от выбранного периода времени, выбранного в верхнем правом углу экрана.

Есть ли переменная (или что-то подобное), чтобы использовать в поле запроса?

Другими словами, если я выберу 24 часа, я бы хотел использовать эти данные в запросе.

3 ответа

Решение

Есть два способа, которые я знаю:

  1. Вы можете использовать переменную $___:

    increase(http_requests_total[$__interval])
    

Недостатком является то, что значение переменной $__interval регулируется разрешением графика, но это также может быть полезно в некоторых ситуациях.

  1. Этот подход должен лучше соответствовать вашему случаю:

Перейдите в настройки шаблонов 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.

Другие вопросы по тегам