我有多个提供相同指标的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只使用第一个结果?
答案 0 :(得分:0)
我刚刚发现的一种方法是对所有值进行平均:
avg(sum(my_metric{app="foo", state="active"}) by(instance))
答案 1 :(得分:0)
我不知道与众不同,但我认为这也可以:
topk(1, my_metric{app="foo", state="active"} by (instance))
在此处查看倒数第二个示例: https://prometheus.io/docs/prometheus/latest/querying/examples/