31. Prometheus-报警-Alertmanager

原文:https://prometheus.io/docs/alerting/alertmanager/

Alertmanager处理由客户端应用程序发送过来的报警,例如Prometheus server。它负责对报警的重复数据删除、分组和通过电子邮件、PagerDuty或OpsGenie发送到正确的整合接收者。它还负责沉默和抑制报警。

下面描述了Alertmanager实现的核心概念。请查阅配置文档以了解如何更详细地使用它们。

分组(grouping)

分组将类似性质的报警分类为单个通知。当许多系统同时发生故障并且可能同时触发数百数千个报警时,此功能特别有用。

例如:当集群中正在运行数十个或数百个服务实例的某个网络分区发送故障时。您有一半的服务实例不再能访问数据库。Prometheus中的报警规则配置为在每个服务实例无法与数据库通信时为其发送报警。结果,数百个警报被发送到Alertmanager。

作为用户,只希望获得一个页面,同时仍然能够准确查看受影响的服务实例。因此,可以将Alertmanager配置为按报警的集群和报警名称分组报警,以便它发送一个紧凑的通知。

报警的分组、分组通知的时间以及这些通知的接收者由配置文件中的路由树配置。

 

抑制(inhibition)

抑制是指如果某些报警已经发出通知,则抑制某些其他警报发出通知。

例如:已经发出通知您无法访问整个集群的报警。可以将Alertmanager配置与该集群有关的所有其他报警为静默。这样可以防止与实际问题无关的数百或数千个触发报警的通知。

抑制需要通过Alertmanager的配置文件进行配置。

静默(sliences)

沉默是一种简单的方式,可以在给定时间内简单地使报警为静默。沉默是根据匹配器配置的,就像路由树一样。检查传入报警是否与活动静默的所有相等或正则表达式匹配项匹配。如果这样做,则不会针对该报警发送任何通知。

静默需要在Alertmanager的Web界面中进行配置。

客户端行为(client behavior)

Alertmanager 有针对客户端行为的特殊要求。这些仅与不使用Prometheus发送报警的高级用例有关。

高可用性

Alertmanager支持配置为高可用性集群。可以使用--cluster- *标志进行配置。

重要的不是在Prometheus及其Alertmanagers之间平衡流量,而是将Prometheus指向所有Alertmanagers的列表。

你可能感兴趣的:(Prometheus)