gpt4 book ai didi

Prometheus查询计算avg_over_time正常运行时间,但想忽略小于1分钟的停机时间

转载 作者:行者123 更新时间:2023-12-04 10:55:16 26 4
gpt4 key购买 nike

我是 Prometheus 的新手,我在下面做了一个查询,试图以百分比的形式显示某个网站的平均正常运行时间,以供 SLA 监控(例如 Google)。

(avg_over_time(probe_success{instance="https://www.google.com/"}[$__range])) * 100 

但是,是否可以让计算忽略任何少于 1 分钟的停机时间?

最佳答案

为探测制定 SLA 的最佳方法是使用分位数函数,例如:

quantile_over_time(0.99, probe_success{instance="https://www.google.com/"}[$__range])

这不完全是这个查询,但需要从基本的角度考虑分位数。


也就是说,直接回答问题,避免 1 分钟的停机时间,这可以帮助:

avg_over_time(((avg_over_time(probe_success{instance="https://www.google.com"}[75s]) * 75) > bool(60))[$__range:]) * 100

现在让我们剖析这个查询:

avg_over_time(probe_success{instance="https://www.google.com"}[75s]) 获取超过 75 秒的探测平均值,因此我们可以尝试忽略 1 分钟的停机时间。调用此 UP_TIME_PERCENTAGE

UP_TIME_PERCENTAGE * 75 提供过去 75 秒内的正常运行时间(以秒为单位)。调用此 UP_TIME_75S

UP_TIME_75S > bool(60) 提供 bool 值 1 或 0 的时间线,指示正常运行时间是否超过一分钟。调用此 IS_UP_MORE_THAN_1M

avg_over_time(IS_UP_MORE_THAN_1M[$__range:]) * 100 得出给定 $__range 中正常运行时间超过 1m 的探测器的百分比。请注意 :。在子查询上应用 ..._over_time 方法很重要。

关于Prometheus查询计算avg_over_time正常运行时间,但想忽略小于1分钟的停机时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59241381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com