簡體   English   中英

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM