#prometheus #grafana #promql
#prometheus #графана #promql
Вопрос:
у меня есть некоторые проблемы при суммировании значений prometheus вместе.
мои строки :
METRIC{applicationName="MYAPP", column="MYCOLUMN} = 2
METRIC{applicationName="MYAPP", column="MYCOLUMN} = 2
METRIC{applicationName="MYAPP", column="MYCOLUMN} = 1
METRIC{applicationName="MYAPP", column="MYCOLUMN} = 3
METRIC{applicationName="MYAPP", column="MYCOLUMN} = 1
==== 9
sum(sum_over_time(METRIC{NAME="TEST" , applicationName="MYAPP"} [3h])) by (applicationName)
{applicationName="MYAPP"} value = 27
Должно быть 9
В основном то, что я пробовал накануне, умножается на 3 (нет, это не период времени, уже пробовал)
— В основном я хотел бы получить эти значения в таблице grafana (7.1),
если я переведу их в график (МЕТРИКА{ApplicationName=»MYAPP»), тогда total будет в порядке… Пробовал разные подходы, и упомянутый способ является наиболее точным, чего я достиг..
Тот же результат в консоли primetheus..
Ответ №1:
Я полагаю, что строки выше представляют то, что вы получите, если вы нажмете METRIC
на Prometheus.
Если это так, то вы получили значения по разным измерениям в один и тот же момент времени. И из этого вы не знаете, каковы эти значения за 3-часовой период, которые вы хотели бы суммировать.
Если вы сейчас это сделаете sum(METRIC)
, вы получите 9.
Вы можете ввести METRIC[3h]
Prometheus, чтобы получить эти точные значения, в течение 3 часов.
Выполнение sum(sum_over_time(METRIC[3h]))
должно дать вам сумму всех значений, отображаемых в приведенном выше эксперименте. Кажется, это 27. И мне кажется, что ваша метрическая частота равна 1 часу, а значения не изменились в течение этих 3 часов, и именно поэтому вы получили 3 x 9 = 27. Но это только мое предположение.
Я намеренно опустил фильтры и группы. Они немного противоречивы.