暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Prometheus——Alertmanager报警

程序媛的梦想 2017-11-27
1959

(本文百分之百原创,包括所有的图)Alertmanager用户实现监控的报警功能,它将消息通过Email、HipChat等方式发送通知。

整个流程(以邮件为例):

自定义的exporter和Pushgateway是为了手动触发报警,方便调试。

图1 Alertmanager发送告警邮件的整个流程

如上图所示:(1) 事先定义好exporter,启动自定义的exporter,手动触发告警条件;(2) exporter push数据给Pushgateway;(3) Prometheus到Pushgateway中pull数据;(4) Prometheus收到报警消息,通知Alertmanager去发邮件,Alertmanager根据配置文件中的信息,让发件人给接收者发邮件。

具体操作:

文件配置:

(1)在config.yml 配置SMTP和默认接收者:


(2)在first_rules.yml 配置报警规则:

prometheus自带有一个检查规则的工具promtool,可以用来检查写的规则是否正确:

SUCCESS说明没有问题了。


(3)在prometheus.yml 配置alertmanager的地址和报警规则文件:


触发报警

用自定义的exporter去手动触发告警的条件(例子中当xiangni_gauge的值变成100时触发告警条件)。

(1)事先写好exporter(这里用Java写的)

这个接口用来设置变量xiangnili_gauge的值:


然后启动自定义的exporter:


然后手动设置Value的值为100:


(2)Pushgateway(自定义exporter用到了Pushgateway)的Web页面:图中的Value变成了100。

(3)在Prometheus的页面中查看Alerts告警信息:

(4)Alertmanager的Web页面:

这样子说明Alertmanager已经收到了来自Prometheus的告警信息,它开始发告警邮件了。这时正常的话应该就可以收到告警邮件了。


接收告警邮件

告警的条件触发后,Prometheus将消息传到Alertmanager,然后Alertmanager触发设置的发件人给收件人发邮件。如下图所示,我lixiangni@xxx.com的邮箱收到了来自xiangnili@xxx.com的告警邮件。

Done. 


文章转载自程序媛的梦想,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论