Alertmanager与Prometheus是相互分离的两个部分。Prometheus服务器根据报警规则将警报发送给Alertmanager,而后Alertmanager将silencing、inhibition、aggregation等消息经过电子邮件、PaperDuty和HipChat发送通知。数据库
设置警报和通知的主要步骤:
服务器
安装配置Alertmanager网络
配置Prometheus经过 -alertmanager.url标志与Alertmanager通讯并发
在Prometheus中建立告警规则ide
(一)Alertmanager简介及机制url
Alertmanager处理由相似Prometheus服务器等客户端发来的警报,以后须要删除重复、分组,并将它们经过路由发送到正确的接收器,好比电子邮件、Slack等。Alertmanager还支持沉默和警报抑制的机制。spa
(1.1)分组
命令行
分组是指当出现问题时,Alertmanager会收到一个单一的通知,而当系统宕机时,颇有可能成百上千的警报会同时生成,这种机制在较大的中断中特别有用。ip
例如,当数十或数百个服务的实例在运行,网络发生故障时,有可能服务实例的一半不可达数据库。在告警规则中配置为每个服务实例都发送警报的话,那么结果是数百警报被发送至Alertmanager。可是做为用户只想看到单一的报警页面,同时仍然可以清楚的看到哪些实例受到影响,所以,人们经过配置Alertmanager将警报分组打包,并发送一个相对看起来紧凑的通知。ci
分组警报、警报时间,以及接收警报的receiver是在配置文件中经过路由树配置的。
(1.2)抑制
抑制是指当警报发出后,中止重复发送由此警报引起其余错误的警报的机制。
例如,当警报被触发,通知整个集群不可达,能够配置Alertmanager忽略由该警报触发而产生的全部其余警报,这能够防止通知数百或数千与此问题不相关的其余警报。
抑制机制能够经过Alertmanager的配置文件来配置。
(1.3)沉默
沉默是一种简单的特定时间静音提醒的机制。一种沉默是经过匹配器来配置,就像路由树同样。传入的警报会匹配RE,若是匹配,将不会为此警报发送通知。
沉默机制能够经过Alertmanager的Web页面进行配置。
Alertmanager的配置
Alertmanager经过命令行flag和一个配置文件进行配置。命令行flag配置不变的系统参数、配置文件定义的禁止规则、通知路由和通知接收器。
要查看全部可用的命令行flag,运行alertmanager -h。
Alertmanager在运行时加载配置,若是不能很好的造成新的配置,更改将不会被应用,并记录错误。