阿里云 RocketMQ 5.0 可观测最佳实践

阿里云 RocketMQ 5.0 介绍

阿里云 RocketMQ 5.0 产品是阿里云基于 Apache RocketMQ 构建的低延迟、高并发、高可用、高可靠的分布式消息中间件。和历史版本产品相比,RocketMQ 5.0 在规格弹性能力、可观测性能力、集成易用性和运维便捷性等方面进行全面增强,帮助开发者以更低的门槛实现业务开发和集成。

对阿里云 RocketMQ 5.0 进行监控观测是保障消息系统稳定可靠运行的必要手段,通过实时监控消息堆积、生产消费延迟、TPS/QPS、Broker/Consumer 状态等关键指标,能够及时发现性能瓶颈、异常波动或故障风险,帮助用户快速定位和解决问题,确保消息不丢、不重、不延迟,从而支撑业务的高可用性、连续性与数据一致性。

观测云

观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

采集方法

  1. 登录观测云控制台
  2. 点击【集成】菜单,选择【云帐号管理】
  3. 点击【添加云账号】,选择【阿里云】,填写界面所需的信息,如之前已配置过云账号信息,则忽略此步骤
  1. 点击【测试】,测试成功后点击【保存】,如果测试失败,请检查相关配置信息是否正确,并重新测试
  2. 点击【云账号管理】列表上可以看到已添加的云账号,点击相应的云账号,进入详情页
  3. 点击云账号详情页的【集成】按钮,在未安装列表下,找到阿里云 RocketMQ 5.0,点击【安装】按钮,弹出安装界面安装即可。

关键指标

实例(Instance)

监控指标 MetricName 统计方法 单位
实例API调用TPS InstanceApiCallTps Sum count/s
5.0系列实例存储大小 InstanceStorageSize Sum byte
5.0系列实例公网下行流量带宽 InstanceInternetFlowoutBandwidth Max byte/s
5.0系列实例发送API调用TPS峰值 InstanceSendApiCallTps Max count/s
5.0系列实例消费API调用TPS峰值 InstanceReceiveApiCallTps Max count/s
公网实例每秒活跃连接数 InstanceActiveConnection Average、Minimum、Maximum count/s
公网实例每秒入bit数 InstanceTrafficRX Average、Minimum、Maximum bit/s
公网实例每秒出bit数 InstanceTrafficTX Average、Minimum、Maximum bit/s
公网实例每秒丢失出bit数 InstanceDropTrafficTX Average、Minimum、Maximum bit/s
公网实例每秒丢失入bit数 InstanceDropTrafficRX Average、Minimum、Maximum bit/s
公网实例网络流出带宽使用率 InstanceTrafficTXUtilization Average、Minimum、Maximum %
公网实例网络流入带宽使用率 InstanceTrafficRXUtilization Average、Minimum、Maximum %

生产者(Producer)

监控指标 MetricName 统计方法 单位
Producer(Instance)每分钟发送消息数量 SendMessageCountPerInstance Sum count/min
Producer(Topic)每分钟发送消息数量 SendMessageCountPerTopic Sum count/min
每分钟(Instance)发送被限流次数 ThrottledSendRequestsPerInstance Sum count/min
每分钟(Topic)发送被限流次数 ThrottledSendRequestsPerTopic Sum count/min

消费者(Consumer)

监控指标 MetricName 统计方法 单位
Consumer(Instance)每分钟接收消息数量 ReceiveMessageCountPerInstance Sum count/min
Consumer(GroupId)每分钟接收消息数量 ReceiveMessageCountPerGid Sum count/min
Consumer(GroupId&Topic)每分钟接收消息数量 ReceiveMessageCountPerGidTopic Sum count/min
每分钟(Instance)消费被限流次数 ThrottledReceiveRequestsPerInstance Sum count/min
每分钟(GroupId)接收被限流次数 ThrottledReceiveRequestsPerGid Sum count/min
每分钟(GroupId&Topic)接收被限流次数 ThrottledReceiveRequestsPerGidTopic Sum count/min
消息堆积量(GroupId) ConsumerLag Sum count
消息堆积量(GroupId&Topic) ConsumerLagPerGidTopic Sum count
消息处理延迟时间(GroupId) ConsumerLagLatencyPerGid Max ms
消息处理延迟时间(GroupId&Topic) ConsumerLagLatencyPerGidTopic Max ms
已就绪消息排队时间(GroupId&Topic) ReadyMessageQueueTimePerGidTopic Max ms
已就绪消息量(GroupId) ReadyMessages Sum count
已就绪消息量(GroupId&Topic) ReadyMessagesPerGidTopic Sum count
每分钟转为死信状态的消息量(GroupId) SendDLQMessageCountPerGid Sum count/min
每分钟转为死信状态的消息量(GroupId&Topic) SendDLQMessageCountPerGidTopic Sum count/min

更多指标可查阅阿里云 RocketMQ 5.0 产品文档,点击这里

场景视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 "阿里云 RocketMQ 5.0", 选择 "阿里云 RocketMQ 5.0监控视图",点击 "确定" 即可添加视图。

RocketMQ 5.0列表可以查看对应区域RocketMQ 5.0开通信息

实例(Instance)分组,可以看到RocketMQ 5.0实例相关指标

生产者(Producer)分组,可以看到RocketMQ 5.0的生产者相关指标

消费者(Consumer)分组,可以看到RocketMQ 5.0消费者相关指标

监控器(告警)

观测云内置了监控器模板,可以选择从模版创建监控器,并开启适合业务的监控器以及时通知相关成员关注问题,触发条件、频率等信息可以依据实际业务进行调整。

登录 观测云控制台,点击「监控」 -「新建监控器」,选择官方模版库,输入 "RocketMQ 5.0", 选择对应的监控器,点击 "确定" 即可添加。

实例发送API调用TPS峰值告警

简要描述:RocketMQ 版 5.0实例规格明确规定了消息收发基础规格TPS上限,即消息收发API调用频率。若实例消息收发API调用TPS峰值超过规格限制,会导致实例被限流。阿里云建议设置为实例发送TPS峰值上限的70%。例如消息发送TPS峰值上限为5000,则阈值设置为3500。

告警配置:

告警效果:

消息堆积量告警

简要描述:云消息队列 RocketMQ 版支持按照ConsumerGroup粒度监控消息堆积量,可以用来预警下游消费堆积故障场景。业务侧上线后根据可容忍的经验评估报警阈值。

告警配置:

告警效果:

配置限流次数告警

简要描述:云消息队列 RocketMQ 版支持将指定实例触发限流的事件作为监控项,通过对限流次数的监控,可以帮助您了解当前业务的受损情况。业务侧上线后根据可容忍的经验评估报警阈值。

告警配置:

告警效果:

总结

通过将阿里云 RocketMQ 5.0 的原生监控数据集成到观测云平台,用户可以实现更全面、更高效的数据监控与分析。观测云作为一个强大的可观测性平台,能够将阿里云 RocketMQ 5.0 监控数据与自身丰富的数据处理和可视化能力相结合。用户不仅可以实时查看 RocketMQ 5.0 的运行状态,如消息堆积、发送调用API峰值超过阈值、限流等关键指标,还可以通过观测云的智能告警功能,快速发现并响应潜在的性能问题或异常情况。此外,观测云支持多种数据源的整合,能够将 RocketMQ 5.0 数据与其他云服务或本地应用的监控数据进行关联分析,帮助用户从全局视角洞察系统的健康状况,从而更好地优化资源配置、提升系统稳定性,并为后续的运维决策提供有力支持。

相关推荐
JAVA学习通8 小时前
JetLinks设备接入的认识与理解
运维·docker·容器·rocketmq
remaindertime11 小时前
RocketMQ 集群部署实战:为什么我选择自己搭建,而不是现成方案
linux·docker·rocketmq
fat house cat_7 天前
为什么RocketMQ选择mmap+write?RocketMQ零拷贝技术深度解析
java·rocketmq·零拷贝
RunningShare12 天前
大数据消息中间件选型终极指南:深度解析Kafka、Pulsar、RocketMQ架构与性能
大数据·kafka·rocketmq·pulsar
Lxinccode12 天前
python(44) : docker构建支持消费rocketmq的客户端
python·docker·rocketmq·importerror·not found·dynamic library·pyrocketmq
求你不要出Bug了12 天前
RokcetMQ事务消息详解
分布式·rocketmq·事务消息
阿里云云原生13 天前
阿里云 AI 中间件重磅发布,打通 AI 应用落地“最后一公里”
云原生·rocketmq
cominglately14 天前
kafka和rocketmq的副本机制区别: isr 主从模式,Dledger模式
分布式·kafka·rocketmq
qyt198852014 天前
关于队列的比较(Kafka、RocketMQ、RabbitMQ)
kafka·rabbitmq·rocketmq