首页 > 解决方案 > Prometheus 查询等价于 SQL DISTINCT

问题描述

我有多个 Prometheus 实例提供相同的指标,例如:

my_metric{app="foo", state="active",   instance="server-1"}  20
my_metric{app="foo", state="inactive", instance="server-1"}  30
my_metric{app="foo", state="active",   instance="server-2"}  20
my_metric{app="foo", state="inactive", instance="server-2"}  30

现在我想在 Grafana singlestat 小部件中显示这个指标。当我使用以下查询时...

sum(my_metric{app="foo", state="active"})

...它,当然,总结所有的价值和回报40。所以我告诉普罗米修斯通过实例总结它......

sum(my_metric{app="foo", state="active"}) by (instance)

...这会导致 Grafana 中出现“多个系列错误”。有没有办法告诉 Prometheus/Grafana 只使用第一个结果?

标签: grafanaprometheus

解决方案


我不知道有什么不同,但我认为这也可以:

topk(1, my_metric{app="foo", state="active"} by (instance))

在此处查看倒数第二个示例: https ://prometheus.io/docs/prometheus/latest/querying/examples/


推荐阅读