Prometheus 告警分为两部分。Prometheus 服务器中的告警规则会向Alertmanager发送告警。正则表达式
而后,Alertmanager 处理这些告警信息,包括沉默,禁止,聚合和发送到电子邮件、PagerDuty和HipChat等。数据库
设置告警和通知的主要步骤是:服务器
设置并配置Alertmanager网络
配置Prometheus和Alertmanager通讯ip
在Prometheus中建立告警规则路由
----------------------------------------------------------------------------------------------------------------------------------------------------文档
Alertmanager处理客户端应用程序(如Prometheus服务器)发送的警报。it
它负责重复数据删除,分组并将它们路由到正确的接收方集成,例如电子邮件,PagerDuty或OpsGenie。 它还处理警报的沉默和抑制。io
如下介绍Alertmanager实现的核心概念。 请参阅配置文档以了解如何更详细地使用它们。class
(分组)
分组将类似性质的警报分类为单个通知。
在由系统服务器单节点宕机致使成百上千台服务器同时触发告警的时候,这个功能很是有用。
示例:你的群集中有数十或数百个服务实例运行在同一个网络区域。一半的服务实例没法访问数据库。
Prometheus中的警报规则被配置为在每一个服务实例没法与数据库通讯时发送警报。结果有数百个警报被发送到Alertmanager。
做为用户,只但愿获取一个告警信息,同时仍然可以准确查看哪些服务实例受到了影响。
所以,能够将Alertmanager配置为按照群集和警报名称对警报进行分组,以便发送单个紧凑型通知。
告警的分组,分组通知的时间以及这些通知的接收者能够经过修改配置文件中的路由树配置来实现。
抑制
抑制是一个概念,若是某些其余警报已经触发,则抑制某些警报的通知。
示例:警报触发,通知整个群集没法访问。
若是该特定警报正在触发,警报管理器能够配置为关闭与该群集有关的全部其余警报。
这能够防止数百或数千个与实际问题无关的触发警报的通知。
禁止经过Alertmanager的配置文件进行配置。
沉默
沉默是简单地将警报静音给定时间的简单方法。
沉默是基于匹配器配置的,就像路由树同样。
传入的警报会检查它们是否与主动沉默的全部相等或正则表达式匹配器匹配。
若是他们这样作,则不会发送通知来发送该警报。
Alertmanager的Web界面中配置了静音。
Alertmanager对客户的行为有特殊要求。 这些仅适用于普罗米修斯不用于发送警报的高级用例。
Alertmanager支持网状配置以建立高可用性群集。 这可使用-mesh- *标志进行配置。
重要的是不要平衡普罗米修斯和其警报管理者之间的流量,而应将普罗米修斯指向全部警报管理员名单。
----------------------------------------------------------------------------------------------------------------------------------------------------
CONFIGURATION