Прометей: работает ли rate () в скользящем окне?

rate() работает в скользящем окне или в окне перелистывания? Например, интервал очистки составляет 10 секунд, и он продолжается в течение 10 минут, когда я запрашиваю rate(foobar[1m]), что это означает?

Для каждой секунды он вычисляет среднее значение в пределах диапазона от этой секунды?

Или каждую минуту вычисляется среднее значение, т.е. в данном случае вычисляется 10 раз.


person kingluo    schedule 06.06.2018    source источник


Ответы (1)


Когда вы выполняете rate(foobar[1m]), он использует данные за последнюю минуту и ​​возвращает результат для единственной отметки времени. PromQL ничего не знает об интервале парсинга или о том, как долго вы занимались парсингом.

Также существует query_range HTTP API, который выполняет несколько независимых оценок PromQL с интервалом в step секунды. Вы хотите, чтобы временные диапазоны, охватываемые этими оценками, перекрывались, поэтому вам, вероятно, понадобится step не более 30 секунд.

person brian-brazil    schedule 06.06.2018
comment
Вы имеете в виду, что диапазон всегда основан на времени запроса, верно? Итак, если клиент запрашивает rate(foobar[1m]) в секунду, то результаты будут в режиме скользящего окна, верно? - person kingluo; 07.06.2018
comment
WIth Grafana, как построить график QPS в минуту от Prometheus? То есть разделите временной ряд на неперекрывающиеся минутные единицы и вычислите QPS в каждой единице. - person kingluo; 07.06.2018
comment
Если вы ищете точный ответ на этот вопрос, вам нужна система мониторинга на основе журналов, поскольку система на основе метрик в принципе не может этого обеспечить. - person brian-brazil; 07.06.2018
comment
Нет, мое требование простое, мне нужно построить график qps, рассчитанный за минуту. Не могли бы вы ответить, как это сделать с графаной и прометеем, как я описал выше? - person kingluo; 07.06.2018
comment
Это невозможно, Prometheus - это система, основанная на метриках, и поэтому у нее нет информации, которая могла бы это вычислить. Он может делать достаточно хорошие вещи, но не может делать именно то, о чем вы просили. - person brian-brazil; 07.06.2018
comment
Нет, я думаю, что Прометей может это сделать. Если я запрошу Прометея раз в минуту с rate(foobar[1m]), то я смогу получить ожидаемый результат, верно? - person kingluo; 07.06.2018
comment
Вы получите число, подобное этому, но не совсем точное. Он будет включать некоторые данные за предыдущую минуту и ​​не будет охватывать все точки данных. - person brian-brazil; 07.06.2018
comment
В графане я должен установить Min step и Resolution, чтобы она работала, верно? docs.grafana.org/features/datasources/prometheus - person kingluo; 07.06.2018