![](/img/trans.png)
[英]how agreggate all results into 1 average from a query in prometheus promql
[英]Prometheus query promql to make average on the same field
在我的普羅米修斯數據庫中,我從三個不同的主機獲得了指標,我想在它們之間求平均值,這樣我就可以進行聚合:
information{application=~"$app",access=~"$access",quantile="0.99", host="prom01"}
information{application=~"$app",access=~"$access",quantile="0.99", host="prom02"}
information{application=~"$app",access=~"$access",quantile="0.99", host="prom03"}
我嘗試在唯一的查詢命令上對這三個指標求和,然后再乘以三個,如下所示:
(information{application=~"$app",access=~"$access",quantile="0.99", host="prom01"} +
information{application=~"$app",access=~"$access",quantile="0.99", host="prom02"} +
information{application=~"$app",access=~"$access",quantile="0.99", host="prom03"})/3
但它不起作用<
此外,我嘗試了 sum + rate,也不起作用
sum by (host) (rate(information{application=~"$app",access=~"$access",quantile="0.99"})[5m])
您可以執行以下操作:
(scalar(information{application=~"$app",access=~"$access",quantile="0.99", host="prom01"}) +
scalar(information{application=~"$app",access=~"$access",quantile="0.99", host="prom02"}) +
scalar(information{application=~"$app",access=~"$access",quantile="0.99", host="prom03"})
) / 3
但如果你這樣做會更容易:
(sum(information{application=~"$app",access=~"$access",quantile="0.99", host=~"prom0(1|2|3)"}))
) / 3
或者干脆:
avg(information{application=~"$app",access=~"$access",quantile="0.99", host=~"prom0(1|2|3)"})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.