【发布时间】:2021-12-11 12:08:55
【问题描述】:
我想在 Prometheus alertmanager 中设置一个必须在给定时间之间触发的警报 例如:09:15 到 15:30 之间要检查的条件
【问题讨论】:
标签: prometheus prometheus-alertmanager
我想在 Prometheus alertmanager 中设置一个必须在给定时间之间触发的警报 例如:09:15 到 15:30 之间要检查的条件
【问题讨论】:
标签: prometheus prometheus-alertmanager
Prometheus 中的警报会定期评估,您无法真正为它们设置时间表。
我认为可以通过一些 PromQL 功夫来实现:
scalar(clamp(hour() > 9 and hour() < 15, 1, 1)) * <alert_promql>
hour() > 9 and hour() < 15根据一天中的小时定义时间范围(您也可以添加分钟)
clamp(..., 1, 1) 确保值为 1 而不是别的
* - 这就是魔法发生的地方。
如果我们从前一个函数中得到任何值,它将是 1,所以乘以 1 对第二个表达式没有影响。
否则,第一个表达式没有级数,所以乘法无论如何都不会返回结果。
【讨论】: