消息中间件巡检

   日期:2020-07-07     浏览:130    评论:0    
核心提示:除资源使用情况外,消息中间件RocketMQ、kafka巡检还可以检查哪些?一、RocketMQ巡检1、检查 broker 写入延迟是否有压力2、检查 broker busy 的数量与频率3、主题发送TPS、发送错误率巡检4、从节点消费情况5、集群消息流转情况巡检二、Kafka巡检1、插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图

除资源使用情况外,消息中间件RocketMQ、kafka还可以巡检哪些?

  • 一、RocketMQ巡检
    • 1、检查 broker 写入耗时是否有压力
    • 2、检查 broker busy 的数量与频率
    • 3、主题发送TPS、发送错误率巡检
    • 4、从节点消费情况检查
    • 5、集群各broker消息流转情况巡检
  • 二、Kafka巡检
    • 1、检查是否有分区发生 ISR频繁扩张收缩
    • 2、检查分区 leader 选举值是否处于正常水平
    • 3、检查controller是否频繁选举
    • 4、检查是否有客户端频繁断开连接
    • 5、消费组是否出现频繁重平衡现象

一、RocketMQ巡检

1、检查 broker 写入耗时是否有压力

输入内容

grep 'PAGECACHERT' store.log 

输出结果:

2020-07-06 19:53:48 INFO StoreStatsService - [PAGECACHERT] TotalPut 13857, PutMessageDistributeTime [<=0ms]:13717 [0~10ms]:140 [10~50ms]:0 [50~100ms]:0 [100~200ms]:0 [200~500ms]:0 [500ms~1s]:0 [1~2s]:0 [2~3s]:0 [3~4s]:0 [4~5s]:0 [5~10s]:0 [10s~]:0 

该命令能统计出写入耗时不同的消息数,查看写入pagecache时延,一般写入200~500ms的消息较多则集群压力较大,存在超过500ms的消息则集群消息写入压力很大了需要扩容。

2、检查 broker busy 的数量与频率

grep 'broker busy' /home/logs/rocketmqlogs/rocketmq_client.log 

如果频繁发生broker busy则集群压力较大,需要进行扩容。

3、主题发送TPS、发送错误率巡检

首先检查集群客户端是否出现发送超时,若存在发送超时再检查是否大面积客户端存在发送超时,弱不存在说明集群正常,可以尝试判断客户端是否垃圾回收等。否则,集群应该会出现broker busy,按照 broker busy的方式处理。

4、从节点消费情况检查

检查从节点是否开始消费,在未发生因主节点宕机造成主从切换的情况下,主题未消费数据占用主节点内存超40%,从节点开始消费,此时主节点不消费。当内存占用小于30%时,切换回主节点。说明此时存在消费组消息大量积压,需要关注集群压力情况,若积压对集群造成影响则考虑将积压的消费组重置点位到当前。

5、集群各broker消息流转情况巡检

通过RocketMQ-console查看各broker数据流转是否正常,消息发送是否均衡,若出现严重不均衡的情况则要介入处理,一般为发送客户端发送线程问题导致,可能是客户端指定了固定的key导致消息发送到单个queue造成集群节点负载不均衡。

二、Kafka巡检

1、检查是否有分区发生 ISR频繁扩张收缩

找出kafka集群controller所在的broker位置,查看controller.log文件。

less -mN  /data/logs/kafka/controller.log | grep "Shrinking ISR"

这个情况一般是由于副本所在节点网络I/O负载开销过大导致的,如果分区太少,可适当增加分区分散节点压力,或者手动将分区副本分配值网络负载低的节点。

2、检查分区 leader 选举值是否处于正常水平

在controller.log文件中搜索“Topics not in Preferred replica”。

less -mN  /data/logs/kafka/controller.log | grep "Topics not in Preferred replica"

3、检查controller是否频繁选举

在controller.log文件中搜索“Controller moved to another broker”。

less -mN  /data/logs/kafka/controller.log | grep "Controller  moved to another broker"

4、检查是否有客户端频繁断开连接

在kafkaServer.out文件中搜索 “Attempting to send response via channel for which there is no open connection”。

less -mN  /data/logs/kafka/ | grep "Attempting to send response via channel for which there is no open connection"

若存在大量短连接客户端频繁与集群断开重连会严重影响集群性能,增大消息发送耗时,如:Spark消费。

5、消费组是否出现频繁重平衡现象

在kafkaServer.out文件中搜索 “Preparing to rabalance group”。

less -mN /data/logs/kafka/kafkaServer.out | grep "Preparing to rabalance group"

若出现此问题,首先检查是否有节点网络不稳定导致频繁重连zk,如果有需要修复网络通道,若没有则检查session.timeout.ms、max.poll.interval.ms、heartbeat.interval.ms 参数是否能够满足业务消费逻辑。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服