Prometheus PromQL查询以查找每个触发警报的持续时间

Prometheus PromQL查询以查找每个触发警报的持续时间,prometheus,grafana,promql,grafana-variable,Prometheus,Grafana,Promql,Grafana Variable,我正在创建一个Grafana仪表板,以查看每个触发警报的总警报计数和持续时间(意味着它应该捕获警报处于触发状态的时间) 用于捕获总警报计数的PromQL查询如下所示 计数依据(警报名称、客户名称)(更改(客户警报[24小时]) 想法是在Grafana表格面板中再添加两列,其中包含警报计数和持续时间 现在,我需要获取查询以捕获每个警报的持续时间。有人可以分享一些想法吗?如果您知道警报的评估间隔,那么可以使用以下PROMQ查询来计算过去24小时内处于触发状态的警报的持续时间(以秒为单位): coun

我正在创建一个Grafana仪表板,以查看每个触发警报的总警报计数和持续时间(意味着它应该捕获警报处于触发状态的时间)

用于捕获总警报计数的PromQL查询如下所示

计数依据(警报名称、客户名称)(更改(客户警报[24小时])

想法是在Grafana表格面板中再添加两列,其中包含
警报计数和
持续时间


现在,我需要获取查询以捕获每个警报的持续时间。有人可以分享一些想法吗?

如果您知道警报的评估间隔,那么可以使用以下PROMQ查询来计算过去24小时内处于触发状态的警报的持续时间(以秒为单位):

count_over_time(customer_ALERTS[24h]) * <evaluation_interval_in_seconds>

如果
customer\u ALERTS
包含触发/未触发状态的其他值,则可用于计数处于触发状态的样本。还可以查看诸如
寿命(m[d])
随时间共享(m[d],gt)
随时间计数(m[d],gt)

谢谢。我使用了第二个查询,我看到所有警报的值都是8600
(客户警报{alertstate=“firing”,severity=“critical”}[24小时])*24*3600
该值相同的原因是什么?您能否查看最后一天客户警报{alertstate=“firing”,severity=“critical”}
的图表?
avg_over_time()
查询要求图形没有间隙,在警报未触发时包含0个值,在警报触发时包含1个值,如回答中所述。
avg_over_time(customer_ALERTS[24h]) * 24 * 3600