本文介绍如何使用云消息队列 MQTT 版的轨迹查询功能排查设备在线问题和消息收发问题。当设备的状态出现异常时,您可以使用设备轨迹查询功能,查询设备的连接历史;当消息的收发不符合预期时,您可以使用消息轨迹查询功能,查询消息的收发轨迹。

查询设备轨迹

  1. 登录云消息队列 MQTT 版控制台,在顶部菜单栏选择地域(Region),例如华东1(杭州)
  2. 在左侧导航栏,单击轨迹查询
  3. 轨迹查询页面,单击目标实例,单击设备轨迹页签。
  4. 单击Client ID文本框。选择或直接输入您的Client ID(Client ID的拼接格式为<groupid>@@@<deviceid>),在日期选择器设置时间范围,单击搜索
    说明 时间范围的最大跨度为1天。
    client_track
    字段说明
    时间动作发生的日期时间。
    连接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:客户端请求断开连接。

查询消息轨迹

  1. 登录云消息队列 MQTT 版控制台,在顶部菜单栏选择地域,例如华东1(杭州)
  2. 在左侧导航栏,单击轨迹查询
  3. 轨迹查询页面,单击目标实例,单击消息轨迹页签。
  4. 查询消息轨迹支持以下三种方式:
    • 组合查询

      根据Client ID、Message ID和时间范围,查询某条消息的发送轨迹和投递轨迹。

      单击组合查询,单击Client ID文本框,选择或输入您的Client ID(Client ID的拼接格式为<groupid>@@@<deviceid>),单击Message ID文本框,选择或输入要查询的Message ID,在时间选择器设置时间范围,单击搜索
      说明 时间范围的最大跨度为1天。
      msgtrack
    • 按Client ID查询

      根据Client ID和时间范围,查询某个客户端的消息列表。

      单击按Client ID查询,单击Client ID 文本框,选择或输入您的Client ID(Client ID的拼接格式为 <groupid>@@@<deviceid>),在时间选择器设置时间范围,单击搜索
      说明 时间范围的最大跨度为1天。
      result
    • 按Message ID查询

      根据Message ID和时间范围,查询Message ID相同的消息的发送轨迹和投递轨迹。

      单击按Message ID查询,单击Message ID文本框,选择或输入要查询的Message ID,在时间选择器设置时间范围,单击搜索
      说明 时间范围的最大跨度为1天。
      msgid_result
      字段说明
      时间消息发送或投递的日期时间。
      Client IDs消息发送或投递的客户端的ID。
      说明
      • MQTT客户端发送:MQTT客户端发送消息。
      • 推送至MQTT客户端:消息投递至MQTT客户端。
      • MQ客户端发送云消息队列 RocketMQ 版客户端发送消息。
      • 推送离线消息至MQTT客户端:离线消息投递至MQTT客户端。