【发布时间】:2020-12-10 10:35:23
【问题描述】:
假设我有以下指标,我只对 labelTwo 的值感兴趣,这对于所有这三个指标都是相同的。
metric1{labelOne="foo",labelTwo="barfoo"}
metric1{labelOne="bar",labelTwo="barfoo"}
metric1{labelOne="foobar",labelTwo="barfoo"}
如果我查询metric1{labelTwo="barfoo"},那么我会得到这三个。我如何查询才能只取回其中一个?
对于某些情况,我正在 Grafana 中编写 Prometheus 查询并显示与 labelTwo 相关的一些数据:
metric1{labelOne=~"$labelOne",labelTwo=~"labelTwo"}
问题是查询返回所有三个,所以当我真的只对labelTwo="barfoo" 感兴趣时,我会在仪表板上看到重复的可视化。我想查询这样我只能得到labelTwo 的一个实例。
【问题讨论】:
-
为什么不把
labelOne设置成一个固定值? -
标签是动态的,所以我不知道如何修复
labelOne。 -
对不起,我还是不明白。如果您只想查看 1 个时间序列而不是 3 个,则要么必须进行过滤,以便最终得到一个序列,要么将它们聚合在一起,例如使用
sum()或avg(),通常。还有像topk这样的功能,但是如果不了解您的用例,人们就无法向您推荐正确的东西 -
你是对的。我尝试了
avg by (labelTwo) (metric1)之类的东西,得到了我想要的东西。如果您想写一个答案,我可以将其标记为已接受。
标签: prometheus grafana