全部产品
Search
文档中心

云消息队列 RocketMQ 版:自助问题排查

更新时间:Aug 06, 2026

云消息队列 RocketMQ 版支持自助问题排查功能,可以根据日志文件分析异常、对实例进行后端服务诊断等,并可以根据异常给出合理的处理建议。问题排查期间可能会对您的实例探测并进行诊断分析,但不会对您的实例配置和正常业务造成影响。

地域限制

自助问题排查功能暂时仅支持华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)、西南1(成都)地域。

前提条件

RAM用户使用自助问题排查功能需要进行授权,详情请参见示例四:授予RAM用户所有实例诊断功能的操作权限

日志诊断

根据以.log为扩展名的日志文件进行日志诊断,并在诊断报告中给出相应的处理意见。异常和处理意见,请参见日志诊断处理建议

操作步骤

  1. 登录云消息队列 RocketMQ 版控制台,在顶部菜单栏选择地域,如华东1(杭州)

  2. 在左侧导航栏选择自助问题排查

  3. 自助问题排查页面,单击日志诊断,在日志区域中上传以.log为扩展名的日志文件,然后单击提交诊断

    说明

    上传的日志文件大小不能超过64MB。

  4. 诊断报告页面,耐心等待几分钟,待任务执行完成后即可查看相应的结果。也可以单击稍后查看并退出,在诊断历史页面,待刚才创建的诊断任务状态为执行完成后,单击其操作列的详情,重新回到诊断报告页面,查看诊断结果。

后端服务诊断

根据选择的实例进行后端服务诊断,并在诊断报告中给出相应的处理意见。异常和处理意见,请参见后端服务诊断处理建议

操作步骤

  1. 登录云消息队列 RocketMQ 版控制台,在顶部菜单栏选择地域,如华东1(杭州)

  2. 在左侧导航栏选择自助问题排查

  3. 自助问题排查页面,单击后端服务诊断,配置以下参数,然后单击提交诊断

    5.x版本实例

    参数

    说明

    示例

    实例

    选择云消息队列 RocketMQ 版的实例ID。

    rmq-cn-vkl42*****

    时间范围

    选择诊断的时间范围。

    2024-12-24 10:30:31 - 2024-12-24 11:30:31

    4.x版本实例

    参数

    说明

    示例

    实例

    选择云消息队列 RocketMQ 版的实例ID。

    rmq-cn-vkl42*****

    Topic 名称

    选择诊断的Topic。

    test_topic

    SDK类型

    选择使用的SDK类型。

    • HTTP SDK

    • TCP SDK

    TCP SDK

    时间范围

    选择诊断的时间范围。

    2024-12-24 10:30:31 - 2024-12-24 11:30:31

  4. 诊断报告页面,耐心等待几分钟,待任务执行完成后即可查看相应的结果。也可以单击稍后查看并退出,在诊断历史页面,待刚才创建的诊断任务状态为执行完成后,单击其操作列的详情,重新回到诊断报告页面,查看诊断结果。

Topic访问拓扑

根据选择的实例、Topic和时间范围,查询访问Topic的生产者和消费者。

说明

仅支持云消息队列 RocketMQ 版5.x系列实例。

操作步骤

  1. 登录云消息队列 RocketMQ 版控制台,在顶部菜单栏选择地域,如华东1(杭州)

  2. 在左侧导航栏选择自助问题排查

  3. 自助问题排查页面,单击Topic访问拓扑,配置以下参数,然后单击提交诊断

    参数

    说明

    示例

    实例

    选择云消息队列 RocketMQ 版的实例ID。

    rmq-cn-vkl42*****

    Topic 名称

    选择需要查询的Topic。

    testTopic

    时间范围

    选择诊断的时间范围。

    2024-12-24 10:30:31 - 2024-12-24 11:30:31

  4. 诊断报告页面,耐心等待几分钟,待任务执行完成后即可查看相应的结果。也可以单击稍后查看并退出,在诊断历史页面,待刚才创建的诊断任务状态为执行完成后,单击其操作列的详情,重新回到诊断报告页面,查看诊断结果。

处理建议

日志诊断

异常问题

处理建议

日志中存在未收录的日志

以下日志未被诊断系统收录,请提交工单咨询。

签名算法未找到

请检查JDK和操作系统版本,以及是否存在依赖冲突。

消费异常

请检查消费端代码或提交工单咨询。

如需进一步定位消费端问题,请参考以下高频子场景:

场景 1:消息未被消费 / 控制台显示"处理中"但客户端无日志

建议在消费入口处添加打印 Message ID 的日志,确认消息是否已到达客户端。若控制台无消息轨迹且客户端也无相关日志,重点排查客户端订阅配置和接收环节是否正常。

场景 2:顺序消息卡住 / 手动 ACK 无效

顺序消息具有单队列串行消费的特性,一条消息处理卡住会阻塞该队列后续所有消息的消费。服务端不支持从控制台手动跳过或 ACK 顺序消息,需自行排查消费端业务逻辑是否存在耗时过长或死锁问题。

场景 3:顺序消息重复拉取

顺序消息重复拉取通常由消费端处理失败触发:消费逻辑抛出异常或未在超时时间内返回 ACK,客户端会自动重试。建议检查本地客户端日志(默认路径:/{user.home}/logs/rocketmq/rocketmq-client.log),确认是否存在消费失败记录;同时排查客户端所在机器的性能指标(CPU、内存、Full GC 等),避免因机器性能波动导致消费超时。

场景 4:consumeTimeout 参数不生效

请核对当前使用的 SDK 版本是否支持 consumeTimeout 配置,并确认参数数值是否符合该版本的取值规范(单位、取值范围等)。不同版本 SDK 对此参数的支持情况存在差异。

心跳发送失败

请检查 Topic、Group 资源是否创建。如果伴随网络/后端服务异常,处理建议参考网络/后端服务异常,或提交工单咨询。

消费确认失败

如果伴随网络/后端服务异常,处理建议参考网络/后端服务异常,或提交工单咨询。

消息拉取失败

请检查 Topic、Group 资源是否创建。如果伴随网络/后端服务异常,处理建议参考网络/后端服务异常,或提交工单咨询。

消息发送失败

请检查 Topic 资源是否创建。如果伴随网络/后端服务异常,处理建议参考网络/后端服务异常。若报错与客户端代码相关,请参考以下常见场景排查:

场景 1:频繁创建 Producer 实例

若报错日志包含 checkCurrentState 或出现连接超时,原因可能是代码在重试循环或其他高频路径内重复调用 buildProducer() 创建新 Producer 实例。Producer 是重量级对象,应在应用启动时创建单例,整个生命周期内复用,避免频繁创建和销毁。请确保应用完成初始化后再开始发送消息。

场景 2:ONSClientException 报错(Namespace 参数缺失或错误)

除检查安全组端口、MQ 白名单和使用 telnet 测试网络连通性外,还需确认代码中是否正确设置了 Namespace 参数,例如:properties.setProperty(PropertyKeyConst.Namespace, "实例ID");。若 Namespace 参数缺失或填写错误,即使网络连通也会触发此异常。

若以上排查均未解决问题,提交工单咨询。

获取路由失败

请检查 Topic 资源是否创建。如果伴随网络/后端服务异常,处理建议参考网络/后端服务异常,或提交工单咨询。

客户端下线失败

如果伴随网络/后端服务异常,处理建议参考网络/后端服务异常。若发生在应用进程终止时,可忽略。

触发服务端限流

登录云消息队列 RocketMQ 版控制台,可通过查看实例仪表盘中的生产/消费TPS水位及被限流请求次数对实例的规格进行升配。升降配请参见实例升降配

消费 group 信息未找到

请检查客户端订阅时采用的Group是否已创建。登录云消息队列 RocketMQ 版控制台,在实例列表页面单击客户端访问的实例名称,然后在Group 管理页面查询客户端订阅时采用的Group是否存在。

AK 不合法

请检查客户端中,认证信息是否正确。

  • 5.x版本实例

    实例用户名,在云消息队列 RocketMQ 版控制台访问控制智能身份识别页签中获取。

  • 4.x版本实例

    AccessKey ID,阿里云身份验证标识。获取方式,请参见创建AccessKey

SK 不合法

请检查客户端中,认证信息是否正确。

  • 5.x版本实例

    实例密码,在云消息队列 RocketMQ 版控制台访问控制智能身份识别页签中获取。

  • 4.x版本实例

    AccessKey Secret,阿里云身份验证密钥。获取方式,请参见创建AccessKey

非法的定时消息时长

调整定时消息时长或升级实例的版本,实例的定时消息间隔时长请参见配额与限制

非法的消息属性

请根据错误日志,检查消息属性是否存在冲突。消息属性,请参见消息内部属性

消息类型不匹配

请检查控制台Topic消息类型与实际代码中发送的消息类型是否匹配。

本地消息缓存满

消费处理速度太慢,请检查消费逻辑。

网络错误

网络异常,详情请提交工单咨询。

无在线消费端

登录云消息队列 RocketMQ 版控制台,在实例列表页面单击客户端访问的实例名称,然后在Group 管理页面单击客户端使用的Group ID。

  • 5.x版本实例

    Group 详情页面单击运行信息页签,在客户端连接区域,查看是否存在对应的客户端。并自行检查客户端消费状态是否正常。

  • 4.x版本实例

    客户端连接信息区域,查看是否存在对应的客户端。并自行检查客户端消费状态是否正常。

本地请求丢失

可能的原因:

  1. 客户端异常卡住,例如发生Full GC。

  2. 网络问题导致重复传输,偶发可忽略。

后端服务异常

服务端异常,详情请提交工单咨询。

订阅关系不一致

登录云消息队列 RocketMQ 版控制台,在实例列表页面单击客户端访问的实例名称,然后在Group 管理页面单击客户端使用的Group ID,在Group 详情页面订阅关系区域查看是否存在不一致的订阅关系。确保Topic主题的订阅关系一致。订阅关系一致性的说明,请参见订阅关系(Subscription)

订阅关系不存在

请检查消费端是否在线,以及网络是否正常。

topic 未找到

请检查客户端发送/订阅的Topic是否已创建。登录云消息队列 RocketMQ 版控制台,在实例列表页面单击客户端访问的实例名称,然后在Topic 管理页面查询客户端访问的Topic是否存在。

请求码不支持

常见code 320,不支持批量消息。

后端服务诊断

检查项

异常问题

处理建议

实例检查

实例不存在

请检查实例名称。

实例不在运行状态

请检查实例状态。

Topic检查

topic 不存在

请检查Topic资源是否在控制台创建。

服务端检查

服务端机器宕机

后端物理服务器集群中单台机器发生宕机,可能导致短时间网络报错,可忽略。

服务端发布更新

后端服务器集群存在运维操作,可能导致秒级别网络闪断,客户端日志可见短时间网络报错,可忽略。若未提前收到运维通知,请提交工单咨询。

网络连接问题专项排查

若日志出现网络连接相关异常(如 RemotingConnectException、网络超时等),请根据网络接入方式按以下步骤排查。

VPC 一致性检查(前置)

确认 RocketMQ 实例与 ECS 处于同一 VPC。在 RocketMQ 控制台实例详情页和 ECS 控制台实例详情页分别查看 VPC ID,确认两者一致。若分属不同 VPC,需通过 VPC 对等连接或 CEN 打通网络,参见下方 VPC 对等连接场景。

VPC 对等连接场景

  1. 检查 ECS 所在 VPC 的路由表,确认是否存在目的网段为 RocketMQ 实例 IP 段、下一跳为对等连接 ID 的路由条目。若路由缺失,需在 VPC 控制台补充配置。

  2. 检查 ECS 的 /etc/resolv.conf,确认 DNS 配置中包含阿里云内网 DNS 地址(100.100.2.136100.100.2.138)。若 DNS 配置不正确,可能导致域名解析失败而无法连接。

公网连接场景(RemotingConnectException)

  1. 使用 nc -vz <endpoint> 8080 命令测试网络连通性。若端口不通,检查本地防火墙及安全组出方向规则是否放行 8080 端口。

  2. 若网络连通但仍报 RemotingConnectException,建议使用官方 SDK 示例代码进行对比测试,排除因自定义配置差异导致的接入问题。

VPC 内网连接场景(Serverless 实例,RemotingConnectException)

  1. 检查 RocketMQ 实例关联的安全组,确认入方向规则已放行 80808081 端口。

  2. 检查 ECS 所在安全组的出方向规则,确认已放行访问 RocketMQ 实例对应端口的流量。

通用端口及白名单检查

无论哪种接入方式,连接失败时均建议:

  • 确认 RocketMQ 实例关联的安全组已开放所需端口(TCP/IP 接入:8080、8081;HTTP 接入:80、443)。

  • 确认客户端 IP 已加入实例的 MQ 白名单(如有 IP 白名单限制)。

常见问题

Q:Broker 处理心跳(HeartbeatData)时,是逐个 Group 独立鉴权还是全组原子鉴权?

A:文档暂不承诺 Broker 端具体的原子性或独立性处理逻辑,建议以实际业务表现为准。若遇到心跳相关鉴权异常,建议使用官方文档提供的标准 SDK 示例代码进行对比测试,以排除因自定义接入方式差异或非标实现导致的问题。如标准示例可正常运行而业务代码异常,则问题通常在接入方式上,可对比检查鉴权参数配置及 HeartbeatData 构造逻辑。