

# ワイヤレスゲートウェイとワイヤレスデバイスのリソースのログエントリ
<a name="wireless-log-entries"></a>

ログ記録を有効にすると、ワイヤレスゲートウェイとワイヤレスデバイスのログエントリを表示できます。次のセクションでは、リソースタイプとイベントタイプに基づくさまざまな種類のログエントリについて説明します。

## ワイヤレスゲートウェイのログエントリ
<a name="gateway-log-entries"></a>

このセクションでは、[CloudWatch コンソール](https://console.aws.amazon.com/cloudwatch)に表示されるワイヤレスゲートウェイリソースのサンプルログエントリの一部を紹介します。これらのログメッセージにはイベントタイプ `CUPS_Request` または `Certificate` を含めることができ、ログレベル `INFO`、`ERROR`、または `DISABLED` をリソースレベルまたはイベントレベルで表示するように構成できます。エラー情報のみを表示する場合は、ログレベルを `ERROR` に設定します。`ERROR` ログエントリ内のメッセージには、失敗した理由に関する情報が含まれます。

ワイヤレスゲートウェイリソースのログエントリは、次のイベントタイプに基づいて分類できます。
+ 

**CUPS\$1Request**  
ゲートウェイで実行されている LoRa Basics Station は、定期的に更新のためのリクエストを Configuration and Update Server (CUPS) に送信します。このイベントタイプの場合、ワイヤレスゲートウェイリソース用に CLI を構成するときにログレベルを `INFO` に設定すると、ログには次のように表示されます。
  + イベントが成功すると、`logLevel` が `INFO` であるログメッセージが表示されます。メッセージには、ゲートウェイに送信された CUPS 応答の詳細と、ゲートウェイの詳細が含まれます。このログエントリの例を以下に示します。ログエントリ内の `logLevel` およびその他のフィールドに関する詳細は、「[AWS IoT Wireless リソースとログレベル](configure-resource-logging.md#log-levels-resources)」を参照してください。

    ```
    {
        "timestamp": "2021-05-13T16:56:08.853Z",
        "resource": "WirelessGateway",
        "wirelessGatewayId": "5da85cc8-3361-4c79-8be3-3360fb87abda",
        "wirelessGatewayType": "LoRaWAN",
        "gatewayEui": "feffff00000000e2",
        "event": "CUPS_Request",
        "logLevel": "INFO",
        "message": "Sending CUPS response of total length 3213 to GatewayEui: feffff00000000e2 with  TC Credentials,"
    }
    ```
  + エラーがある場合、`logLevel` が `ERROR` であるログエントリが表示され、メッセージにはエラーに関する詳細が含まれます。`CUPS_Request` イベントでエラーが発生する場合の例としては、CUPS CRC の欠落、ゲートウェイの TC Uri と AWS IoT Core for LoRaWAN の不一致、`IoTWirelessGatewayCertManagerRole` の欠落、ワイヤレスゲートウェイレコードを取得できなかったことなどがあります。次の例は、CRC 欠落のログエントリを示しています。エラーを解決するには、ゲートウェイ設定をチェックして、正しい CUPS CRC を入力したことを確認します。

    ```
    {
        "timestamp": "2021-05-13T16:56:08.853Z",
        "resource": "WirelessGateway",
        "wirelessGatewayId": "5da85cc8-3361-4c79-8be3-3360fb87abda",
        "wirelessGatewayType": "LoRaWAN",
        "gatewayEui": "feffff00000000e2",
        "event": "CUPS_Request",
        "logLevel": "ERROR",
        "message": "The CUPS CRC is missing from the request. Check your gateway setup and enter the CUPS CRC,"
    }
    ```
+ 

**証明書**  
これらのログエントリは、AWS IoT への接続を認証するためにワイヤレスゲートウェイが正しい証明書を提供したかどうかをチェックするのに役立ちます。このイベントタイプの場合、ワイヤレスゲートウェイリソース用に CLI を構成するときにログレベルを `INFO` に設定すると、ログには次のように表示されます。
  + イベントが成功すると、`logLevel` が `INFO` であるログメッセージが表示されます。メッセージには、証明書 ID とワイヤレスゲートウェイ ID に関する詳細が含まれます。このログエントリの例を以下に示します。ログエントリ内の `logLevel` およびその他のフィールドに関する詳細は、「[AWS IoT Wireless リソースとログレベル](configure-resource-logging.md#log-levels-resources)」を参照してください。

    ```
    {
        "resource": "WirelessGateway",
        "wirelessGatewayId": "5da85cc8-3361-4c79-8be3-3360fb87abda",
        "wirelessGatewayType": "LoRaWAN",
        "event": "Certificate",
        "logLevel": "INFO",
        "message": "Gateway connection authenticated. 
        (CertificateId: b5942a7aee973eda24314e416889227a5e0aa5ed87e6eb89239a83f515dea17c, WirelessGatewayId: 5da85cc8-3361-4c79-8be3-3360fb87abda)"
    }
    ```
  + エラーがある場合、`logLevel` が `ERROR` であるログエントリが表示され、メッセージにはエラーに関する詳細が含まれます。`Certificate` イベントでエラーが発生する場合の例としては、証明書 ID やワイヤレスゲートウェイ ID が無効であること、またはワイヤレスゲートウェイ ID と証明書 IDの不一致などがあります。次の例は、無効なワイヤレスゲートウェイ ID が原因の `ERROR` を示しています。エラーを解決するには、ゲートウェイ ID を確認します。

    ```
    {
        "resource": "WirelessGateway",
        "wirelessGatewayId": "5da85cc8-3361-4c79-8be3-3360fb87abda",
        "wirelessGatewayType": "LoRaWAN",
        "event": "Certificate",
        "logLevel": "INFO",
        "message": "The gateway connection couldn't be authenticated because a provisioned gateway associated with the certificate couldn't be found. 
        (CertificateId: 729828e264810f6fc7134daf68056e8fd848afc32bfe8082beeb44116d709d9e)"
    }
    ```

## ワイヤレスデバイスのログエントリ
<a name="device-log-entries"></a>

このセクションでは、[CloudWatch コンソール](https://console.aws.amazon.com/cloudwatch)に表示されるワイヤレスデバイスリソースのサンプルログエントリの一部を紹介します。これらのログメッセージのイベントタイプは、LoRaWAN デバイスと Sidewalk デバイスのどちらを使用しているかによって異なります。各ワイヤレスデバイスリソースまたはイベントタイプは、`INFO`、`ERROR`、または`DISABLED` のログレベルを表示するように構成できます。

**注記**  
リクエストに、LoRaWAN と Sidewalk の両方のワイヤレスメタデータを同時に含めてはなりません。このシナリオで `ERROR` ログエントリを回避するには、LoRaWAN または Sidewalk のいずれかのワイヤレスデータを指定してください。

### LoRaWAN デバイスログエントリ
<a name="lorawan-log-entries"></a>

LoRaWAN ワイヤレスデバイスのログエントリは、次のイベントタイプに基づいて分類できます。
+ 

**`Join` および `Rejoin`**  
LoRaWAN デバイスを追加して AWS IoT Core for LoRaWAN に接続する際、デバイスからアップリンクデータを送信できるようにするには、`activation` または `join procedure` と呼ばれるプロセスを完了する必要があります。詳細については、「[ワイヤレスデバイスを AWS IoT Core for LoRaWAN に追加する](lorawan-end-devices-add.md)」を参照してください。

  このイベントタイプの場合、ワイヤレスゲートウェイリソース用に CLI を構成するときにログレベルを `INFO` に設定すると、ログには次のように表示されます。
  + イベントが成功すると、`logLevel` が `INFO` であるログメッセージが表示されます。メッセージには、参加または再参加リクエストのステータスに関する詳細が含まれます。このログエントリの例を以下に示します。ログエントリ内の `logLevel` およびその他のフィールドに関する詳細は、「[AWS IoT Wireless リソースとログレベル](configure-resource-logging.md#log-levels-resources)」を参照してください。

    ```
    {
        "timestamp": "2021-05-13T16:56:08.853Z",
        "resource": "WirelessDevice",
        "wirelessDeviceType": "LoRaWAN",
        "WirelessDeviceId": "5da85cc8-3361-4c79-8be3-3360fb87abda",    
        "devEui": "feffff00000000e2",
        "event": "Rejoin",
        "logLevel": "INFO",
        "message": "Rejoin succeeded"
    }
    ```
  + エラーがある場合、`logLevel` が `ERROR` であるログエントリが表示され、メッセージにはエラーに関する詳細が含まれます。`Join` および `Rejoin` イベントでエラーが発生する場合の例としては、無効な LoRaWAN リージョン設定、または無効な Message Integrity Code (MIC) などがあります。次の例は、MIC チェックが原因の参加エラーを示しています。エラーを解決するには、正しいルートキーを入力したかどうかを確認します。

    ```
    {
        "timestamp": "2020-11-24T01:46:50.883481989Z",
        "resource": "WirelessDevice",
        "wirelessDeviceType": "LoRaWAN",
        "WirelessDeviceId": "cb4c087c-1be5-4990-8654-ccf543ee9fff",
        "devEui": "58a0cb000020255c",
        "event": "Join",
        "logLevel": "ERROR",
        "message": "invalid MIC. It's most likely caused by wrong root keys."
    }
    ```
+ 

**Uplink\$1Data および Downlink\$1Data**  
イベントタイプ `Uplink_Data` は、ペイロードが LoRaWAN または Sidewalk デバイスから AWS IoT に送られたときに AWS IoT Wireless によって生成されたメッセージに使用されます。イベントタイプ `Downlink_Data` は、AWS IoT からワイヤレスデバイスに送信されたダウンリンクメッセージに関連するメッセージに使用されます。

  このイベントタイプの場合、ワイヤレスデバイス用に CLI を構成するときにログレベルを `INFO` に設定すると、ログには次のように表示されます。
  + イベントが成功すると、`logLevel` が `INFO` であるログメッセージが表示されます。メッセージには、送信されたアップリンクメッセージまたはダウンリンクメッセージのステータスに関する詳細と、ワイヤレスデバイス ID が含まれます。Sidewalk デバイスのこのログエントリの例を次に示します。ログエントリ内の `logLevel` およびその他のフィールドに関する詳細は、「[AWS IoT Wireless リソースとログレベル](configure-resource-logging.md#log-levels-resources)」を参照してください。

    ```
    {
        "resource": "WirelessDevice",
        "wirelessDeviceId": "5371db88-d63d-481a-868a-e54b6431845d",
        "wirelessDeviceType": "Sidewalk",
        "event": "Downlink_Data",
        "logLevel": "INFO",
        "messageId": "8da04fa8-037d-4ae9-bf67-35c4bb33da71",
        "message": "Message delivery succeeded.  MessageId: 8da04fa8-037d-4ae9-bf67-35c4bb33da71. AWS IoT Core: {\"message\":\"OK\",\"traceId\":\"038b5b05-a340-d18a-150d-d5a578233b09\"}"
    }
    ```
  + エラーがある場合、`logLevel` が `ERROR` であるログエントリが表示されます。メッセージにはエラーの詳細が含まれており、解決に役立ちます。`Registration` イベントでエラーが発生する場合の例としては、認証の問題、リクエストが無効であるか多すぎること、ペイロードの暗号化または復号化ができなかったこと、指定された ID を使用してワイヤレスデバイスを検出できなかったことなどがあります。次の例は、メッセージの処理中に発生したアクセス許可エラーを示しています。

    ```
    {
        "resource": "WirelessDevice",
        "wirelessDeviceId": "cb4c087c-1be5-4990-8654-ccf543ee9fff",
        "wirelessDeviceType": "LoRaWAN",
        "event": "Uplink_Data",
        "logLevel": "ERROR",
        "message": "Cannot assume role MessageId: ef38877f-3454-4c99-96ed-5088c1cd8dee. 
        Access denied: User: arn:aws:sts::005196538709:assumed-role/DataRoutingServiceRole/6368b35fd48c445c9a14781b5d5890ed is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::400232685877:role/ExecuteRules_Role\tstatus code: 403, request id: 471c3e35-f8f3-4e94-b734-c862f63f4edb"
    }
    ```

### Sidewalk デバイスのログエントリ
<a name="sidewalk-log-entries"></a>

Sidewalk デバイスのログエントリは、次のイベントタイプに基づいて分類できます。
+ 

**`Registration`**  
これらのログエントリは、AWS IoT Wireless に登録している任意の Sidewalk デバイスのステータスをモニタリングするのに役立ちます。このイベントタイプの場合、ワイヤレスデバイスリソース用に CLI を構成するときにログレベルを `INFO` に設定すると、`logLevel` が `INFO` および `ERROR` であるログメッセージが表示されます。メッセージには、開始から完了までの登録の進行状況に関する詳細が含まれます。`ERROR` ログメッセージには、デバイスの登録に関する問題のトラブルシューティング方法に関する情報が含まれます。

  以下は、ログレベルが `INFO` のログメッセージの例を示しています。ログエントリ内の `logLevel` およびその他のフィールドに関する詳細は、「[AWS IoT Wireless リソースとログレベル](configure-resource-logging.md#log-levels-resources)」を参照してください。

  ```
  {
      "resource": "WirelessDevice",
      "wirelessDeviceId": "8d0b2775-e19b-4b2a-a351-cb8a2734a504",
      "wirelessDeviceType": "Sidewalk",
      "event": "Registration",
      "logLevel": "INFO",
      "message": "Successfully completed device registration. Amazon SidewalkId = 2000000002"
  }
  ```
+ 

**Uplink\$1Data および Downlink\$1Data**  
イベントタイプ `Uplink_Data` および `Downlink_Data` は、LoRaWAN デバイスの対応するイベントタイプと同様です。詳細については、LoRaWAN デバイスのログエントリに関して前述された「**Uplink\$1Data および Downlink\$1Data**」セクションを参照してください。

### 次のステップ
<a name="cwl-format-next-steps"></a>

AWS IoT Wireless へのログ記録を有効にした後に CloudWatch コンソールでリソースのログエントリを表示する方法と、表示できるさまざまなログエントリについて学習しました。**ロググループ**を使用してフィルターストリームを作成することができますが、CloudWatch Insights を使用して、フィルターストリームを作成および使用することをお勧めします。詳細については、「[CloudWatch Insights を使用して AWS IoT Wireless のログをフィルタリングする](cwl-insights.md)」を参照してください。