考虑一个带有标签success
的计数器my_counter
。我用这个查询创建了一个成功率度量:rate(my_counter[10m]{success="true"})/rate(my_counter[10m])
。
现在我想知道有多少时间利率低于某个阈值。我有一个以普罗米修斯为数据源的Grafana仪表板。有了格拉法纳,我可以很容易地选择一个时间范围,但我仍然需要一种方法来总结我的条件适用的时间。
有什么想法吗?
您的问题有四个部分:
-
有一个在满足条件时取值为1的指示符-这是通过使用比较运算符中的
BOOL
运算符来实现的。速率(大约[5m](>布尔0.99
-
计算满足条件的时间-这是通过使用avg_over_time函数来完成的:
avg_over_time(条件[1d](
-
在一个查询中获取所有内容-您需要使用重新编码规则或拥有支持子查询的prometheus版本
-
最后是使用grafana来填充时间帧,以获得满足条件的比率或持续时间。
平均超时时间(条件[$__range](
平均超时时间(条件[$__range](*$__ranges_s
把它们放在一起很难读懂。使用最新版本的-- Grafana Dashboard --
源可能会做得更好:
avg_over_time( (rate(something[5m]) > BOOL 0.99)[$__range:] )