Как суммировать 15-секундные интервалы в пределах 1-минутного окна в Прометее? - PullRequest
0 голосов
/ 01 июля 2019

У меня есть оператор Прометей, который очищает метрику каждые 15 секунд: enter image description here

Я бы хотел немного уменьшить масштаб и вместо этого показать сумму моих задержек за 1 минуту. Однако я не могу найти запрос для этого. Я пробовал различные варианты с rate() и sum_over_time(), но запросы просто выдают ошибку.

Я также попытался изменить эту опцию: enter image description here до 1 м. То, что произошло, это 3 из 4 15-секундных интервалов, которые только что были опущены. Вместо суммирования всех моих 15 секундных результатов за минуту.

Как мне достичь желаемого результата?

1 Ответ

1 голос
/ 03 июля 2019

Ответ, который вы ищете:

sum by(job) (increase(web_latencies_summary_count[1m]))

с минимальным шагом из 1m.

К сожалению, из-за того, что Прометей вычисляет increase() / rate(), это фактически даст вам количество запросов в течение 45 секунд, экстраполированных на 1 минуту (т.е. increase[45s] / 45 * 60). Более точная формула будет

sum by(job) (increase(web_latencies_summary_count[75s])) / 75 * 60

но учтите, что (а) это зависит от вашего интервала очистки; и (b) из-за того, что временные метки не находятся точно на расстоянии 15 секунд, результаты не будут целыми числами.

...