2026年7月2日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

RocketMQ 可观测性最佳实践

发布日期:2025-02-26 17:31:06 浏览次数: 2288
作者:可观测学堂

微信搜一搜,关注“可观测学堂”

推荐语

探索RocketMQ在企业级应用中的可观测性实践,深入了解其监控和维护策略。

核心内容:
1. RocketMQ的高性能、高可用性和可扩展性优势
2. 多语言客户端支持和易于监控维护的特点
3. 部署DataKit和RocketMQ Exporter进行监控和故障排查

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家


RocketMQ 概述


Apache RocketMQ 是一个开源的分布式消息传递和流处理平台,由阿里巴巴团队最初开发并捐赠给 Apache 软件基金会。它主要用于处理大规模消息的发送和接收,支持高吞吐量、可扩展性强且具有高可用性的消息服务。


RocketMQ 的优势有以下几点:

  • 高性能:RocketMQ 能够支持每秒处理百万级消息的高吞吐量,满足企业级应用的需求。

  • 高可用性:支持故障转移和消息冗余,保证消息不丢失,实现99.999%的高可用性。

  • 可扩展性:结构支持水平扩展,无需停机即可增加节点,极大地提高了系统的灵活性和可扩展性。

  • 多语言客户端支持:除了Java,RocketMQ 还提供了 C++、Python、Go 等多种语言的客户端,满足不同开发需求。

  • 易于监控和维护:提供了丰富的监控指标和管理工具,帮助运维人员轻松管理和监控消息系统的状态。


RocketMQ 是一个功能强大的消息中间件,适用于需要高可靠性、高性能和高可扩展性的现代互联网、金融和电信等领域的企业级应用。


观测云



部署 DataKit

DataKit 是一个开源的、跨平台的数据收集和监控工具,由观测云开发并维护。它旨在帮助用户收集、处理和分析各种数据源,如日志、指标和事件,以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式,可以轻松集成到现有的监控系统中。


登录观测云控制台,在「集成」 - 「DataKit」选择对应安装方式,当前采用 Linux 主机部署 DataKit。




安装 RocketMQ Exporter

通过 RocketMQ Exporter 可以采集 RocketMQ 的指标信息并对外暴露。


  • 拉取 rocketmq-exporter


git clone https://github.com/apache/rocketmq-exporter.git


进入安装目录


cd rocketmq-exporter/


  • 构建安装包(2选1)


1)构建 jar 包方式


mvn clean package


构建完成,进入 target 目录


cd target


启动 jar 包 (替换命令行中 nameserverip 地址)


nohup java -jar target/rocketmq-exporter-0.0.2-SNAPSHOT.jar --rocketmq.config.namesrvAddr=nameserverip:9876 &


2)构建 Docker 镜像方式


mvn package -Dmaven.test.skip=true docker:build


使用镜像启动 Docker (替换命令行中 nameserverip 地址)


docker run -d --net="host" --name rocketmq-exporter -p 5557:5557 docker.io/rocketmq-exporter --rocketmq.config.namesrvAddr=nameserverip:9876


  • 测试 rocketmq-exporter 是否正常


curl http://127.0.0.1:5557/metrics



采集 RocketMQ 指标

RocketMQ Exporter 暴露指标端口为:5557,可以直接通过 prom 采集器进行采集。进入 DataKit 安装目录 /usr/local/datakit/conf.d ,复制 prom 目录下的配置文件并命名为 rocketmq.conf 。示例如下:


开启 DataKit Prometheus 插件,复制 sample 文件


cd /usr/local/datakit/conf.d/promcp prom.conf.sample rocketmq.conf


修改配置文件 rocketmq.conf


[[inputs.prom]]urls = ["http://127.0.0.1:5557/metrics"]ignore_req_err = falsesource = "rocketmq"# metric_types 需要选择空,rocketmq-exporter 没有指定数据类型metric_types = []interval = "60s"


重启 DataKit


datakit service restart



监控视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “RocketMQ”, 选择“RocketMQ 监控视图”,点击“确定”。





关键指标


rocketmq_broker_tps ( broker 每秒生产消息数量)

  • 这个指标显示了每秒中 Broker 接收的消息数量,是衡量消息生产活动高低的直接指标。监控这一指标可以帮助运维团队了解系统当前的负载能力和处理能力。


rocketmq_broker_qps ( broker 每秒消费消息数量)

  • 相对于生产消息数量,这个指标显示的是 Broker 每秒处理的消费请求数量。这不仅反映了消费者的活跃程度,还可以用来评估 Broker 处理消费请求的效率。


rocketmq_producer_tps (某个 topic 每秒生产的消息数量)

  • 特定 Topic 的生产速率能够帮助运维团队识别特定业务流的压力情况。通过监控这一指标,可以及时发现某个业务线可能存在的问题或者性能瓶颈。


rocketmq_consumer_tps (某个消费组每秒消费的消息数量)

  • 这个指标展示了消费组的消费能力,通过监控可以了解消费组的处理效率和及时性。若消费速度跟不上生产速度,可能需要扩展消费者数量或优化消费逻辑。


rocketmq_group_diff (消费组堆积量指标)

  • 这个指标展示了消费组的消息积压量,通过监控可以了解某个消费组对指定 Topic 的未消费消息数量,监控消费组的消费能力是否正常。


rocketmq_group_get_latency_by_storetime (某个消费组的消费延时时间)

  • 这个指标显示了消息从存储到被消费组消费的延时。它是衡量消息系统响应能力的关键指标,对于要求实时性较高的应用尤其重要。



监控器

1)rocketmq_broker_tps ( broker 每秒生产消息数量)


阈值建议:如果您的系统通常运行在每秒1000条消息,可以设置一个上限阈值为1500条,下限阈值为500条。


监控告警:

  • 高阈值告警:如果 TPS 超过1500条/秒,发送告警,因为可能出现生产过载。

  • 低阈值告警:如果 TPS 低于500条/秒,发送告警,可能存在生产中断或性能下降。



2)rocketmq_group_diff (消费组堆积量指标)


阈值建议:根据实际业务的吞吐量和消息处理需求设置阈值告警。



3)rocketmq_consumer_tps (某个消费组每秒消费的消息数量)


阈值建议:如果正常消费速度为每秒800条,可以设置一个阈值下限为400条。


监控告警:

  • 低阈值告警:如果消费 TPS 低于400条/秒,发出告警。这可能意味着消费者处理能力不足或存在系统故障。



4)rocketmq_group_get_latency_by_storetime (某个消费组的消费延时时间)


阈值建议:如果延时通常在5秒以内,可以设置告警阈值为10秒。


监控告警:如果延时超过10秒,发送告警。高延时可能影响业务操作的实时性,需检查并解决问题。


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅