Alertmanager(告警管理器)
主要用于接收 Prometheus 发送的告警信息,然后管理这些警告。它支持丰富的告警通知渠道,而且很容易对告警的信息进行去重,降噪,分组,策略路由处理,是一款先进的告警通知系统。
Grouping(分组)
Grouping分组将性质类似的警告分组成一个通知类。当许多系统同时出现故障时,数百到数千个告警可能同时触发(这种情况尤其有用)。
比如:当出现网络分区时,十个到数百个服务实例正在集群中运行。这时多半服务实例暂时无法访问数据库。如果服务实例不能和数据库通信,则对于已经配置好告警规则的Prometheus服务将会对每个服务实例发送一个告警。这样数百个告警会发送到Alertmanager。
如果一个用户仅仅想看到一个页面,这个页面上的数据是精确地表示哪个服务实例受影响了。Alertmanager通过它们的集群和告警名称来分组标签,可以合并告警信息,这样它就可以发送一个单独受影响的通知。
告警分组,分组通知的时间,和通知的接收者是在配置文件中由一个路由树配置的。
Inhibition(降噪、抑制)
如果某些其他告警已经触发了,则对于某些告警,Inhibition是一个抑制通知的概念。
例如:一个告警已经触发,它正在通知整个集群是不可达的时,Alertmanager则可以将这个集群的其他告警无效。这可以防止与实际问题无关的数百或数千个触发告警的通知。
通过Alertmanager的配置文件配置Inhibition。
Sliences(静默)
静默是一个非常简单的方法,可以在给定时间内简单地忽略所有告警。slience基于matchers配置,类似路由树。来到的警告将会被检查,判断它们是否和活跃的slience相等或者正则表达式匹配。如果匹配成功,则不会将这些告警发送给接收者。
Silences 在 Alertmanager 的 web接口中配置。
Client behavior 客户行为
对于客户行为,Alertmanager有特别要求。这些仅仅适用于Prometheus服务不用于发送告警的高级用例。
能不能解答一下,Alertmanager发送告警时,http协议能否支持长连接?
http不支持长连接。