このトピックでは、ApsaraMQ for MQTT のトレース機能を使用して、デバイスの状態とメッセージングの問題をトラブルシューティングする方法について説明します。デバイスの状態が異常な場合は、デバイストレース機能を使用して、このデバイスの接続履歴を照会できます。メッセージが期待どおりに送受信できない場合は、メッセージトレース機能を使用して、メッセージの送受信トレースを照会できます。
デバイストレースの照会
- ApsaraMQ for MQTT コンソール にログオンします。上部のナビゲーションバーで、リージョン ドロップダウンリストからリージョン([中国 (杭州)] など)を選択します。
- 左側のナビゲーションペインで、[メッセージトレース] を選択します。
- [トレースクエリ] ページで、照会するインスタンスをクリックし、[デバイストレース] タブをクリックします。
- [クライアント ID] フィールドをクリックします。<groupid>@@@<deviceid> の形式でクライアント ID を選択または入力します。日付ピッカーで時間範囲を設定し、[検索] をクリックします。説明 最大期間は 1 日です。
フィールド 説明 時間 アクションが発生した時刻。 接続 ID 接続の ID。 アクション - connect: Message Queue for MQTT クライアントが Message Queue for MQTT ブローカーへの接続をリクエストします。
- close: TCP 接続が閉じられます。
- disconnect: Message Queue for MQTT クライアントが Message Queue for MQTT ブローカーからの切断リクエストを送信します。
説明 - accepted: Message Queue for MQTT ブローカーが Message Queue for MQTT クライアントからの接続リクエストを受信します。
- not authorized: インスタンスにアクセスするためのクライアントの権限検証が失敗したため、TCP 接続が閉じられます。
- clientId conflict: Message Queue for MQTT クライアント ID の競合が原因で、TCP 接続が閉じられます。
- topic auth failed: トピックリソースにアクセスするためのクライアントの権限検証が失敗したため、TCP 接続が閉じられます。
- no heart: ハートビートがないため、TCP 接続が閉じられます。
- closed by client: Message Queue for MQTT クライアントの例外が原因で、TCP 接続が閉じられます。説明 Message Queue for MQTT クライアントは切断メッセージを送信しません。
- disconnected by client: Message Queue for MQTT クライアントが切断をリクエストします。
メッセージトレースの照会
- ApsaraMQ for MQTT コンソール にログオンします。上部のナビゲーションバーで、リージョン ドロップダウンリストからリージョン([中国 (杭州)] など)を選択します。
- 左側のナビゲーションペインで、[メッセージトレース] を選択します。
- [トレースクエリ] ページで、照会するインスタンスをクリックし、[メッセージトレース] タブをクリックします。
- 次のいずれかの方法を使用してメッセージを照会できます。
- [複合クエリ]
クライアント ID、メッセージ ID、および時間範囲を指定することで、メッセージの送信および配信トレースを照会できます。
[複合クエリ] をクリックします。[クライアント ID] フィールドで、<groupid>@@@<deviceid> の形式で Message Queue for MQTT クライアント ID を選択または入力します。[メッセージ ID] フィールドで、メッセージ ID を選択または入力します。日付ピッカーで時間範囲を設定します。次に、[検索] をクリックします。説明 最大期間は 1 日です。 - [クライアント ID によるクエリ]
クライアント ID と時間範囲を指定することで、Message Queue for MQTT クライアントのメッセージリストを照会できます。
[クライアント ID によるクエリ] をクリックします。[クライアント ID] フィールドで、<groupid>@@@<deviceid> の形式で Message Queue for MQTT クライアント ID を選択または入力します。日付ピッカーで時間範囲を設定します。次に、[検索] をクリックします。説明 最大期間は 1 日です。 - [メッセージ ID によるクエリ]
メッセージ ID と時間範囲を指定することで、同じメッセージ ID を持つメッセージの送信および配信トレースを照会できます。
[メッセージ ID によるクエリ] をクリックします。[メッセージ ID] フィールドでメッセージ ID を選択または入力し、日付ピッカーで時間範囲を設定します。次に、[検索] をクリックします。説明 最大期間は 1 日です。フィールド 説明 時間 メッセージが送受信された時刻。 クライアント ID メッセージを送信した、またはメッセージが配信された Message Queue for MQTT クライアントの ID。 説明 - Publish From MQTT Client: Message Queue for MQTT クライアントがメッセージを送信します。
- Push To MQTT Client: メッセージが Message Queue for MQTT クライアントに配信されます。
- Publish From MQ Client: ApsaraMQ for RocketMQ クライアントがメッセージを送信します。
- Push Offline Msg To MQTT Client: オフラインメッセージが Message Queue for MQTT クライアントに配信されます。
- [複合クエリ]