當裝置的狀態出現異常時,您可以使用设备轨迹查询(又稱“日誌拉取”)功能查詢裝置的串連歷史,快速排查裝置離線問題,定位異常原因。
操作步驟
登入雲Message QueueTT 版控制台,並在左側導覽列單擊实例列表。
在頂部功能表列選擇目標地區,然後在執行個體列表中單擊執行個體名稱進入实例详情頁面。
在執行個體列表中找到目標執行個體,在其操作列中,選擇。
在设备轨迹查询頁面,設定Group ID、Device ID和时间范围,然後單擊查询。
說明時間範圍的最大跨度為1天。
欄位
說明
Channel 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報文。常見觸發情境:用戶端進程崩潰或被強制終止(如 kill -9)、MQTT SDK 內部異常導致TCP串連異常關閉。排查時檢查用戶端日誌確認斷開時間點,確認用戶端進程狀態是否異常退出。
Socket IOException:網路抖動或丟包導致TCP串連斷開。常見觸發情境:用戶端本網閃斷、防火牆或Proxy 伺服器阻斷MQTT串連。排查時檢查用戶端網路連通性,確認本地防火牆和安全性群組規則允許存取MQTT連接埠(1883/8883)。
invalid param:請求參數不合法導致TCP串連斷開。
disconnected by client:用戶端請求中斷連線。
ServerShutdown:服務端升級或服務端宕機造成的TCP串連斷開。
時間
裝置動作發生的時間。
查詢結果為空白時的排查
查詢結果為空白,說明裝置在所選時間範圍內沒有串連記錄。按以下步驟排查:
確認裝置是否發起過串連請求:通過規則管理訂閱上下線通知,即時監控裝置串連狀態。
檢查裝置端網路:確認裝置能訪問 MQTT 存取點網域名稱,檢查防火牆是否允許存取。
檢查認證資訊:確認 Token 或認證是否到期或配置錯誤。
檢查重連邏輯:確認裝置的重連間隔和最大重試次數。
確認時間範圍:時間範圍最大跨度為 1 天,確認覆蓋裝置可能的串連時段。
相關文檔
如果需要查詢裝置的狀態,請參見裝置狀態查詢。