prometheus alertmanager 中基于时间的警报
Posted
技术标签:
【中文标题】prometheus alertmanager 中基于时间的警报【英文标题】:Time based alerts in prometheus alertmanager 【发布时间】:2021-12-11 12:08:55 【问题描述】:我想在 Prometheus alertmanager 中设置一个必须在给定时间之间触发的警报 例如:09:15 到 15:30 之间要检查的条件
【问题讨论】:
【参考方案1】:Prometheus 中的警报会定期评估,您无法真正为它们设置时间表。
我认为可以通过一些 PromQL 功夫来实现:
scalar(clamp(hour() > 9 and hour() < 15, 1, 1)) * <alert_promql>
hour() > 9 and hour() < 15
根据一天中的小时定义时间范围(您也可以添加分钟)
clamp(..., 1, 1)
确保值为 1 而不是别的
*
- 这就是魔法发生的地方。
如果我们从前一个函数中得到任何值,它将是 1,所以乘以 1 对第二个表达式没有影响。
否则,第一个表达式没有级数,所以乘法无论如何都不会返回结果。
【讨论】:
以上是关于prometheus alertmanager 中基于时间的警报的主要内容,如果未能解决你的问题,请参考以下文章
prometheus 与 alertmanager 结合 发送邮件报警
linux(centos8):prometheus使用alertmanager发送报警邮件(prometheus 2.18.1/alertmanager 0.20.0)
linux(centos8):prometheus使用alertmanager发送报警邮件(prometheus 2.18.1/alertmanager 0.20.0)