首页 > 大众点评Cat源码阅读(八)——告警机制_weixin

大众点评Cat源码阅读(八)——告警机制_weixin

互联网 2021-04-19 04:24:09

2019独角兽企业重金招聘Python工程师标准>>>hot3.png

基本逻辑流程 查询当前告警类型配置的所有告警规则每间隔一分钟,取对应类型的报表,如果transaction类型的告警,就取transaction类型的报表,event类型的,就取event类型的报表,根据报表里面的duration(key=当前分钟,value=生成的次数)去校验是否触发告警规则,如果触发,则返回告警实例。将上一步返回的告警实例,插入到AlertMananger内部队列里AlertManager 异步线程消费告警实例。根据类型、分组、级别(warn、error)查询对应的发送通道(email、sms、weixin),无论发送成功与否,都要写入数据库。(这里没有记录发送成功与否的状态,算是个bug) Transaction告警

Cat告警在Cat-home里面。序列图如下: 输入图片说明

如上图所示,Cat后台启动时,启动各种Alert,Alert内部每隔一分钟,将所有的告警规则过一遍,将触发了告警规则数据封装成一个告警实例,将告警实例插入到AlertManager里面的一个阻塞队列里面。AlertManager在初始化的时候启动一个跑批任务,每隔5ms从队列里面取告警实例,发送出去。

具体发送告警的实体类是

com.dianping.cat.report.alert.sender.sender.Sender Event告警机制

Event类型告警处理时序图如下:

输入图片说明

免责声明:非本网注明原创的信息,皆为程序自动获取互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件12小时内删除。