Prometheus Alertmanager告警管理器

半兽人 发表于: 2019-07-24   最后更新时间: 2021-03-23 14:42:10  
{{totalSubscript}} 订阅, 4,070 游览

Alertmanager(告警管理器)主要用于接收 Prometheus 发送的告警信息,然后管理这些警告。它支持丰富的告警通知渠道,而且很容易对告警的信息进行去重,降噪,分组,策略路由处理,是一款先进的告警通知系统。

alertmanager

Grouping(分组)

Grouping分组将性质类似的警告分组成一个通知类。当许多系统同时出现故障时,数百到数千个告警可能同时触发(这种情况尤其有用)。

比如:当出现网络分区时,十个到数百个服务实例正在集群中运行。这时多半服务实例暂时无法访问数据库。如果服务实例不能和数据库通信,则对于已经配置好告警规则的Prometheus服务将会对每个服务实例发送一个告警。这样数百个告警会发送到Alertmanager。

如果一个用户仅仅想看到一个页面,这个页面上的数据是精确地表示哪个服务实例受影响了。Alertmanager通过它们的集群和告警名称来分组标签,可以合并告警信息,这样它就可以发送一个单独受影响的通知。

告警分组,分组通知的时间,和通知的接收者是在配置文件中由一个路由树配置的。

Inhibition(降噪、抑制)

如果某些其他告警已经触发了,则对于某些告警,Inhibition是一个抑制通知的概念。

例如:一个告警已经触发,它正在通知整个集群是不可达的时,Alertmanager则可以将这个集群的其他告警无效。这可以防止与实际问题无关的数百或数千个触发告警的通知。

通过Alertmanager的配置文件配置Inhibition。

Sliences(静默)

静默是一个非常简单的方法,可以在给定时间内简单地忽略所有告警。slience基于matchers配置,类似路由树。来到的警告将会被检查,判断它们是否和活跃的slience相等或者正则表达式匹配。如果匹配成功,则不会将这些告警发送给接收者。

Silences 在 Alertmanager 的 web接口中配置。

Client behavior 客户行为

对于客户行为,Alertmanager有特别要求。这些仅仅适用于Prometheus服务不用于发送告警的高级用例。

更新于 2021-03-23

能不能解答一下,Alertmanager发送告警时,http协议能否支持长连接?

http不支持长连接。

查看Prometheus更多相关的文章或提一个关于Prometheus的问题,也可以与我们一起分享文章