本文介绍如何使用云消息队列 MQTT 版的轨迹查询功能排查设备在线问题和消息收发问题。当设备的状态出现异常时,您可以使用设备轨迹查询功能,查询设备的连接历史;当消息的收发不符合预期时,您可以使用消息轨迹查询功能,查询消息的收发轨迹。
查询设备轨迹
- 登录云消息队列 MQTT 版控制台,在顶部菜单栏选择地域(Region),例如华东1(杭州)。
- 在左侧导航栏,单击轨迹查询。
- 在轨迹查询页面,单击目标实例,单击设备轨迹页签。
- 单击Client ID文本框。选择或直接输入您的Client ID(Client ID的拼接格式为<groupid>@@@<deviceid>),在日期选择器设置时间范围,单击搜索。说明 时间范围的最大跨度为1天。
字段 说明 时间 动作发生的日期时间。 连接ID 连接标识。 动作 - connect:客户端请求与服务端连接。
- close:TCP连接断开。
- disconnect:客户端请求断开与服务端的连接。
说明 - accepted:服务端接收客户端发起的连接请求。
- not authorized:客户端访问的实例权限校验失败导致TCP连接断开。
- clientId conflict:客户端标识冲突导致TCP连接断开。
- topic auth failed:客户端访问的Topic资源权限校验失败导致TCP连接断开。
- no heart:无心跳导致TCP连接断开。
- closed by client:客户端异常导致TCP连接断开。说明 客户端没有发送disconnect报文。
- disconnected by client:客户端请求断开连接。
查询消息轨迹
- 登录云消息队列 MQTT 版控制台,在顶部菜单栏选择地域,例如华东1(杭州)。
- 在左侧导航栏,单击轨迹查询。
- 在轨迹查询页面,单击目标实例,单击消息轨迹页签。
- 查询消息轨迹支持以下三种方式:
- 组合查询
根据Client ID、Message ID和时间范围,查询某条消息的发送轨迹和投递轨迹。
单击组合查询,单击Client ID文本框,选择或输入您的Client ID(Client ID的拼接格式为<groupid>@@@<deviceid>),单击Message ID文本框,选择或输入要查询的Message ID,在时间选择器设置时间范围,单击搜索。说明 时间范围的最大跨度为1天。 - 按Client ID查询
根据Client ID和时间范围,查询某个客户端的消息列表。
单击按Client ID查询,单击Client ID 文本框,选择或输入您的Client ID(Client ID的拼接格式为 <groupid>@@@<deviceid>),在时间选择器设置时间范围,单击搜索。说明 时间范围的最大跨度为1天。 - 按Message ID查询
根据Message ID和时间范围,查询Message ID相同的消息的发送轨迹和投递轨迹。
单击按Message ID查询,单击Message ID文本框,选择或输入要查询的Message ID,在时间选择器设置时间范围,单击搜索。说明 时间范围的最大跨度为1天。字段 说明 时间 消息发送或投递的日期时间。 Client IDs 消息发送或投递的客户端的ID。 说明 - MQTT客户端发送:MQTT客户端发送消息。
- 推送至MQTT客户端:消息投递至MQTT客户端。
- MQ客户端发送:云消息队列 RocketMQ 版客户端发送消息。
- 推送离线消息至MQTT客户端:离线消息投递至MQTT客户端。
- 组合查询