带和的多重度量 [英] Multipy metric with SUM
本文介绍了带和的多重度量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将一个指标乘以另一个指标的和的结果
我想尝试做的事情:
MeticOne * SUM(MetricTwo)
谢谢
推荐答案
假设您有MetricOne
标签id
和name
。您有MetricTwo
和id
和name
。然后,您可以使用度量值
MetricTwo
中的值总和按id
进行聚合
sum without (name) (MetricTwo)
您可以在普罗米修斯中使用on(id)
和group_left
:
MetricOne
* on (id) group_left()
(sum without (name) (MetricTwo))
仅当MetricOne
中的标签id
在您要加入的MetricTwo
上也是id
时才有可能。因此,如果它们不同,您可能会看到空的结果查询,尽管有要匹配的行!
改进:
然后,您需要使用label_replace
来重命名一个指标的标签,使其与另一个指标的标签匹配。假设MetricOne
具有标签metric_one_id
和name
,我们希望将其重新标记为id
。您必须执行此操作:
label_replace(MetricOne,"id","$1","metric_one_id", "(.+)")
然后您可以使用与之前相同的上一个运算符:
label_replace(MetricOne,"id","$1","metric_one_id", "(.+)")
* on (metric_one_id) group_left()
(sum without (name) (MetricTwo))
对于group_left()
,group_left()
中的所有内容都将被排除在结果中。因此,如果您有更多标签,可以将它们添加到group_left()
或without()
中。普罗米修斯文档介绍了group_left
运算符here。
这篇关于带和的多重度量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文