PromQL 总和

Posted

技术标签:

【中文标题】PromQL 总和【英文标题】:PromQL Sum over time 【发布时间】:2021-01-26 18:48:47 【问题描述】:

我在将普罗米修斯值相加时遇到了一些问题。

我的行:

METRICapplicationName="MYAPP", column="MYCOLUMN = 2
METRICapplicationName="MYAPP", column="MYCOLUMN = 2
METRICapplicationName="MYAPP", column="MYCOLUMN = 1
METRICapplicationName="MYAPP", column="MYCOLUMN = 3
METRICapplicationName="MYAPP", column="MYCOLUMN = 1

==== 9

sum(sum_over_time(METRICNAME="TEST" , applicationName="MYAPP" [3h])) by (applicationName)

applicationName="MYAPP" value = 27

应该是 9

基本上我尝试的前夕乘以 3(不,不是时间段,已经尝试过)

-- 基本上我想将 thouse 值添加到 grafana (7.1) 表中,

如果我让他们绘制图表 (METRICapplicationName="MYAPP") 那么总体就可以了... 尝试了不同的方法,提到的方法是我所取得的最准确的..

primetheus 控制台中的结果相同..

【问题讨论】:

【参考方案1】:

我想上面的行代表如果你将METRIC 打入 Prometheus 会得到什么。

如果是这种情况,那么您在同一时间点获得了不同维度的值。由此,您不知道这些值在 3 小时内是什么,您想总结一下。

如果你现在做sum(METRIC),你会得到 9。

您可以在 3 小时内将METRIC[3h] 打入 Prometheus 以获得这些准确值。

执行sum(sum_over_time(METRIC[3h])) 应该会给你上面实验中显示的所有值的总和。这似乎是 27。在我看来,您的度量频率是 1 小时,并且值在这 3 小时内没有改变,这就是为什么您得到 3 x 9 = 27。但这只是我的猜测。

我故意省略了过滤器和组。它们有点不一致。

【讨论】:

【参考方案2】:

事情是这样的,我试图将“日志行”推送到 prometheus 标签,这就是问题所在。

因此,当您使用不应该以这种方式使用的东西时,您会遇到像我一样的问题。 :)。

为此获得了 Grafana Loki,现在一切正常。

【讨论】:

以上是关于PromQL 总和的主要内容,如果未能解决你的问题,请参考以下文章

4.PromQL快速入门

PromQL:rate() 函数的用途是啥?

PromQL 多连接

从系列结果 PromQL 中省略标签

PromQL 中的 MetricQL 函数

PromQL:在按实例分组时访问实例的指标