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

基本逻辑流程

  1. 查询当前告警类型配置的所有告警规则
  2. 每间隔一分钟,取对应类型的报表,如果transaction类型的告警,就取transaction类型的报表,event类型的,就取event类型的报表,根据报表里面的duration(key=当前分钟,value=生成的次数)去校验是否触发告警规则,如果触发,则返回告警实例。
  3. 将上一步返回的告警实例,插入到AlertMananger内部队列里
  4. 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类型告警处理时序图如下:

输入图片说明

转载于:https://my.oschina.net/liangxiao/blog/1511674

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值