我有一个服务指标,该指标返回一些正值,如果失败,则返回0。我想计算一段时间内我的服务失败了多少秒。
例如表达式:
service_metric_name == 0
在Grafana中给了我虚线:
有没有办法计算最近2个小时我的服务中断了多少秒?
我假设服务是0(表示关闭)或1(表示启动)。
在这种情况下,您可以计算一个时间范围内的平均值。如果结果为0.9,则表明您的服务已达到90%的时间。如果您计算一个小时的平均值,则这将是60分钟中的6分钟停机时间。
avg_over_time(up{service_metric_name[1h])
这将是移动平均线,即:当服务中断时,该值将缓慢减小。然后您的服务启动,它将再次缓慢增加。