- 文档首页
消息队列 RocketMQ版
用户指南
消息查询
消息轨迹
消息轨迹
本文介绍如何查看消息轨迹。
当一条消息从生产者发送到消息队列 RocketMQ版服务端,再由消费者进行消费,消息队列 RocketMQ版会完整记录消息的全链路流转过程,并以消息轨迹的形式呈现在消息队列 RocketMQ版控制台。
消息轨迹可作为生产环境中排查问题强有力的数据支持。消息轨迹记录了消息从生产端到消息队列 RocketMQ版服务端,最后到消费端的整个过程,包括各阶段状态、耗时、生产者 IP 地址、消费者 IP 地址等。
推荐您在以下场景中使用消息轨迹功能:
- 查看消息的生产事件,例如由哪个生产者发送、生产状态、发送耗时与生产时间等信息。
- 查看消息的消费事件,例如由哪些消费者消费、消费状态、消息处理的耗时与消费时间等信息。
- 辅助识别消息堆积现象。如果某消息的轨迹中未显示消费事件,可以在Group管理页面查看消费者状态,确认消息是否因堆积而导致尚未消费。
消息队列 RocketMQ版目前支持 4.x 和 5.x 两种版本实例。
- 4.x 版本实例需要在生产者和消费者客户端中开启消息轨迹,开启后才能在控制台中查看消息轨迹。
- 使用 5.x gRPC 协议客户端时,无需在客户端中额外开启消息轨迹,即可在控制台中查看消息轨迹。
- 使用 5.x Remoting 协议客户端时,需要在生产者和消费者客户端中开启消息轨迹,开启后才能在控制台中查看消息轨迹。
前提条件
- 已经部署生产端和消费端服务、成功接入消息队列 RocketMQ版,并在 3 天内有消息生产和消费行为。
- 如果使用 4.x 版本实例,或使用 5.x Remoting 协议客户端,需要先在生产者和消费者客户端中开启消息轨迹。
开启消息轨迹
构造函数中的参数 enableMsgTrace 指定为 true,表示开启消息轨迹。示例代码如下:
说明
暂不支持 customizedTraceTopic 参数,即 customizedTraceTopic 参数应传 null 或者传空。
AclClientRPCHook aclHook = new AclClientRPCHook(new SessionCredentials(ACL_ACCESS_KEY,ACL_SECRET_KEY));
DefaultMQProducer producer = new DefaultMQProducer("ProducerGroupName", aclHook,true,null);
AclClientRPCHook aclHook = new AclClientRPCHook(new SessionCredentials(ACL_ACCESS_KEY,ACL_SECRET_KEY));
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("please_rename_unique_group_name_5", aclHook, new AllocateMessageQueueAveragely(),true,null);
查看消息轨迹
在生产者和消费者客户端开启消息轨迹之后,可以参考以下步骤在控制台中查看消息轨迹。
- 在顶部菜单栏中选择地域,并在选择左侧导航栏中单击实例列表。
- 在顶部页签栏中单击消息查询,然后查看消息。具体操作请参见消息查询。
- 在查询结果中找到需要查看消息轨迹的消息条目,并单击其消息ID。
- 详情页面展示消息的基本信息区域与消息轨迹区域,其中消息轨迹区域展示消息生产、在消息队列 RocketMQ版服务端中存储、订阅消费的全流程消息轨迹。详细信息请参考消息轨迹说明。
-
消息轨迹查询结果包括以下三部分:消息生产者、Topic 和消息消费。
消息生产者
消息消费
一条消息可能会被多个消费者消费,所以消息消费信息以列表形式呈现,且支持根据消费时间和 Group 进行筛选。列表中展示的信息如下。
最近更新时间:2026.08.04 14:13:05