给出如下的ALERTS查询:
List("foo_", "", "_bar", "", "baz", "")
您怎么知道它发射了多少秒?
答案 0 :(得分:2)
弄清楚过去一小时/一天/警报发出的秒数(或相等的时间百分比)非常简单:
sum_over_time(ALERTS[1h:1s])
或者,出于效率考虑,以较低的分辨率:
sum_over_time(ALERTS[1h:10s]) * 10
弄清楚警报何时开始触发(或等效地,自上次开始触发以来已经触发了多长时间):
ALERTS{alertstate="firing"}
* ignoring(alertstate)
(
time() - max_over_time(timestamp(ALERTS{alertstate="pending"})[1h:10s])
or ignoring(alertstate)
ALERTS{alertstate="firing"} * 3600
)
即自上次处于"pending"
状态(当前正在触发)以来的时间。请注意,这里有一个1h
范围,默认范围是3600,这意味着它会在3600秒时达到最大值。