ddmq monitor
2020-08-03 14:02:13 0 举报
ddmq monitor流程
作者其他创作
大纲/内容
brokerConfig 变更
失败超出次数
注册zk brokerConfig监听
当前监控的group中是否存在变更group
失败未超出次数
启动InspectionMonitor
创建CarreraDataInspection
启动inspectionMonitor
没有
调用sendMessage重新发送一条新消息
LOGERROR
打印报警信息
是,重试一次
获取失败
启动consumer
启动MonitorApp
获取当前时间戳作为message key
wait
往SELF_TEST_TOPIC写入数据
主offset - 从offset > 60
启动BrokerMonitor
读取成功
GroupConfig 变更
读取Broker配置中的cproxy.pproxy
轮询从节点读取SELF_TEST_TOPIC的maxOffset跟数据
注册ShutdownHook
是
启动consumerLagMonitor
重试1次
GroupConfig 删除
删除当前的监控
注册zk GroupConfig监听
有
start 新的monitorItem
失败
根据concurrentMessages来批量调用SendMessage
轮询读取namesrv信息
从message key中提取发送时间戳
发送message
启动CarreraDataInspection
已message key为key将message保存再map中
根据key删除map中的message
从brokerConfig读取namesrv跟broker
遍历queue
从主节点读取SELF_TEST_TOPIC的maxOffset跟数据
根据当前offset获取msg的produce时间,对比获取delay
获取topic中的报警阈值
结束
group监控
stop 老的monitorItem
创建定时线程,每分钟打印CarreraDataInspection 中的RolloverTimeStats信息以及map中没有被consumer消费的超过10s的数据
新建新的监控,创建一个间隔1分的定时任务
consumer接收到消息
重启当前有的监控
从brokerConfig读取namesrv
否
是,超出重试次数
LogERROR
跟当前时间戳取差值作为rt时间,放入RolloverTimeStats对象中
遍历group中所有的topic
主maxOffset < 0
启动单线程池,每隔10s执行
收藏
收藏
0 条评论
下一页