本文介紹如何使用云消息隊列 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客戶端。