Получать Всего запросов за определенный промежуток времени
Мне нужно показать в Графане панель с количеством запросов в период времени, выбранный в правом верхнем углу.
Для этого мне нужно решить 2 вопроса здесь, я задам вопрос профетея здесь и вопрос Графаны в другой ссылке.
Если у меня есть счетчик http_requests_total
, как я могу построить запрос, чтобы получить целое число с общим количеством запросов в течение определенного периода времени (например: 24 часа)?
Ответы
Ответ 1
Вам нужна функция увеличения(), которая будет вычислять разницу между значениями счетчика в начале и в конце указанного интервала времени. Он также правильно обрабатывает сбрасывание счетчика в течение этого периода времени (если есть).
increase(http_requests_total[24h])
Если у вас есть несколько счетчиков http_requests_total
(например, из нескольких экземпляров), и вам нужно получить кумулятивное количество запросов, используйте оператор sum():
sum(increase(http_requests_total[24h]))
См. Также мой ответ на эту часть вопроса об использовании выбора временного диапазона Grafana в запросах.
Ответ 2
Поэтому я не буду комментировать ответ йори, поэтому я должен сделать новый...
В Grafana 5.3 они представили $__range
для Prometheus, который проще в использовании:
sum(rate(http_requests_total[$__range]))
Эта переменная представляет диапазон для текущей панели инструментов. Рассчитывается до - от
http://docs.grafana.org/features/datasources/prometheus/
Ответ 3
Согласно увеличению() документации, это не оператор агрегации.
Таким образом, это даст неправильный ответ. (См. примечание.)
Вам следует использовать функцию sum_over_time(), которая агрегирует данные за определенный промежуток времени.
sum_over_time(http_requests_total[24h])
Если у вас несколько счетчиков, используйте оператор sum():
sum(sum_over_time(http_requests_total[24h]))
Примечание:
У меня есть 5 точек данных, которые имеют значения: 847, 870, 836, 802, 836. (обновляется каждую минуту)
increase(http_requests_total[5m]) returns 2118.75
sum_over_time(http_requests_total[5m]) returns 4191