我有多个 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 只使用第一个结果?
最佳答案
我不知道有什么不同,但我认为这也可以:
topk(1, my_metric{app="foo", state="active"} by (instance))
在此处查看倒数第二个示例:
https://prometheus.io/docs/prometheus/latest/querying/examples/
关于grafana - 相当于 SQL DISTINCT 的 Prometheus 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53193459/