【问题标题】:Prometheus Query Overall average under a time intervalPrometheus 查询一个时间间隔下的总体平均值
【发布时间】:2019-01-22 09:01:14
【问题描述】:

如何找到一段时间内指标的总体平均值?

avg(metric) = 总体平均值 但是

avg_over_time(metrics[interval]) = 每个标签的平均值

avg( avg_over_time(metric[scrape interval]) ) 不会相同(当数据不连续且分母值不同时)平均(公制) !!!!

给定一个场景,找出一段时间内的总体平均值的可能方法是什么。

例如:求现在的平均响应时间和求过去一小时内触发的所有请求的平均响应时间(总体)。

数字将有助于通知最新升级的性能问题。

【问题讨论】:

    标签: prometheus promql


    【解决方案1】:

    您需要手动计算平均值:

        sum(sum_over_time(metric[interval]))
    /
        sum(count_over_time(metric[interval]))
    

    请注意,这是针对仪表中的数据,您需要对来自计数器或摘要的数据采用不同的方法。

    【讨论】:

    • 谢谢。错过了。我的指标是摘要类型,sum(sum_over_time(metric_sum[interval])) / sum(sum_over_time(metric_count[interval])) !!!
    • 总结是sum(rate(a_sum[interval])) / sum(rate(a_count[interval]))。见robustperception.io/common-query-patterns-in-promql
    猜你喜欢
    • 2021-05-15
    • 1970-01-01
    • 2020-05-21
    • 2023-02-10
    • 2019-08-01
    • 2014-08-22
    • 2018-05-29
    • 2021-12-21
    • 2010-12-07
    相关资源
    最近更新 更多