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篇

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)

Prometheus配合Alertmanager报警系统

Prometheus配置alertmanager告警邮件通知