

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# OTA 更新のための CloudWatch Logs のセットアップ
<a name="ota-logging"></a>

OTA 更新サービスは、Amazon CloudWatch でのログ記録をサポートしています。 AWS IoT コンソールを使用して、OTA 更新の Amazon CloudWatch ログ記録を有効にして設定できます。詳細については、[Cloudwatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) を参照してください。

ログ記録を有効にするには、IAM ロールを作成し、OTA 更新ログを設定する必要があります。

**注記**  
OTA 更新ログ記録を有効にする前に、CloudWatch Logs へのアクセス権限を理解しておく必要があります。CloudWatch Logs に対するアクセス権限のあるユーザーは、デバッグ情報を表示できます。詳細については、「[Amazon CloudWatch Logs の認証とアクセスコントロール](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/auth-and-access-control-cwl.html)」を参照してください。

## ログ記録ロールの作成およびログ記録の有効化
<a name="create-ota-logging-role"></a>

[AWS IoT コンソール](https://console.aws.amazon.com/iot/home)を使用して、ログ記録ロールを作成し、ログ記録を有効にします。

1. ナビゲーションパネルから [**Settings (設定)**] を選択します。

1. [**Logs (ログ)**] の下で、[**Edit (編集)**] を選択します。

1. [**Level of verbosity (詳細レベル)**] の下で、[**Debug (デバッグ)**] を選択します。

1. **[Set role]** (ロールの設定) で、**[Create new]** (新規作成) を選択し、ログ記録用に IAM ロールを作成します。

1. [**Name (名前)**] の下にロールの一意の名前を入力します。必要なすべての権限でロールが作成されます。

1. **[更新]** を選択します。

## OTA 更新ログ
<a name="ota-logs"></a>

OTA 更新サービスは、以下のいずれかが発生するとアカウントにログを生成します。
+ OTA 更新が作成される。
+ OTA 更新が完了する。
+ コード署名ジョブが作成される。
+ コード署名ジョブが完了する。
+  AWS IoT ジョブが作成されます。
+  AWS IoT ジョブが完了しました。
+ ストリームが作成される。

[CloudWatch コンソール](https://console.aws.amazon.com/cloudwatch/home)でログを表示できます。

**CloudWatch Logs で OTA 更新を表示するには**

1. ナビゲーションペインで、[**Logs (ログ)**] を選択します。

1. **[ロググループ]** で、**[AWSIoTLogsV2]** を選択します。

OTA 更新ログには、次のプロパティが含まれます。

**accountId**  
ログが生成された AWS アカウント ID。

**actionType**  
ログを生成したアクションです。これは、次のいずれかの値に設定できます。  
+ `CreateOTAUpdate`: OTA 更新が作成されました。
+ `DeleteOTAUpdate`: OTA 更新が削除されました。
+ `StartCodeSigning`: コード署名ジョブが開始されました。
+ `CreateAWSJob`: AWS IoT ジョブが作成されました。
+ `CreateStream`: ストリームが作成されました。
+ `GetStream`: ストリームのリクエストが AWS IoT MQTT ベースのファイル配信機能に送信されました。
+ `DescribeStream`: ストリームに関する情報のリクエストが、 AWS IoT MQTT ベースのファイル配信機能に送信されました。

**awsJobId**  
ログを生成した AWS IoT ジョブ ID。

**clientId**  
ログを生成するリクエストを行った MQTT クライアント ID。

**clientToken**  
ログを生成するリクエストに関連付けられたクライアントのトークン。

**details**  
ログを生成したオペレーションに関する詳細。

**logLevel**  
ログのログ記録レベル。OTA 更新ログの場合、これは常に `DEBUG` に設定されます。

**otaUpdateId**  
ログを生成した OTA 更新の ID。

**protocol**  
ログを生成するリクエストを行うために使用されたプロトコル。

**ステータス**  
ログを生成したオペレーションのステータス。次の値を指定できます。  
+ Success
+ 失敗

**streamId**  
ログを生成した AWS IoT ストリーム ID。

**timestamp**  
ログが生成された時刻。

**topicName**  
ログを生成するリクエストを行うために使用された MQTT トピック。

### ログの例
<a name="ota-example-logs"></a>

コード署名ジョブの開始時に生成されるログの例を次に示します。

```
{ 
    "timestamp": "2018-07-23 22:59:44.955", 
    "logLevel": "DEBUG", 
    "accountId": "123456789012", 
    "status": "Success", 
    "actionType": "StartCodeSigning", 
    "otaUpdateId": "08957b03-eea3-448a-87fe-743e6891ca3a", 
    "details": "Start code signing job. The request status is SUCCESS." 
}
```

 AWS IoT ジョブの作成時に生成されるログの例を次に示します。

```
{ 
    "timestamp": "2018-07-23 22:59:45.363", 
    "logLevel": "DEBUG", 
    "accountId": "123456789012", 
    "status": "Success", 
    "actionType": "CreateAWSJob", 
    "otaUpdateId": "08957b03-eea3-448a-87fe-743e6891ca3a", 
    "awsJobId": "08957b03-eea3-448a-87fe-743e6891ca3a", 
    "details": "Create AWS Job The request status is SUCCESS." 
}
```

OTA 更新の作成時に生成されるログの例を次に示します。

```
{ 
    "timestamp": "2018-07-23 22:59:45.413", 
    "logLevel": "DEBUG", 
    "accountId": "123456789012", 
    "status": "Success", 
    "actionType": "CreateOTAUpdate", 
    "otaUpdateId": "08957b03-eea3-448a-87fe-743e6891ca3a", 
    "details": "OTAUpdate creation complete. The request status is SUCCESS." 
}
```

ストリームの作成時に生成されるログの例を次に示します。

```
{ 
    "timestamp": "2018-07-23 23:00:26.391", 
    "logLevel": "DEBUG", 
    "accountId": "123456789012", 
    "status": "Success", 
    "actionType": "CreateStream", 
    "otaUpdateId": "3d3dc5f7-3d6d-47ac-9252-45821ac7cfb0", 
    "streamId": "6be2303d-3637-48f0-ace9-0b87b1b9a824", 
    "details": "Create stream. The request status is SUCCESS." 
}
```

OTA 更新の削除時に生成されるログの例を次に示します。

```
{ 
    "timestamp": "2018-07-23 23:03:09.505", 
    "logLevel": "DEBUG", 
    "accountId": "123456789012", 
    "status": "Success", 
    "actionType": "DeleteOTAUpdate", 
    "otaUpdateId": "9bdd78fb-f113-4001-9675-1b595982292f", 
    "details": "Delete OTA Update. The request status is SUCCESS." 
}
```

デバイスが MQTT ベースのファイル配信機能からストリームをリクエストしたときに生成されるログの例を次に示します。

```
{ 
    "timestamp": "2018-07-25 22:09:02.678", 
    "logLevel": "DEBUG", 
    "accountId": "123456789012", 
    "status": "Success", 
    "actionType": "GetStream", 
    "protocol": "MQTT", 
    "clientId": "b9d2e49c-94fe-4ed1-9b07-286afed7e4c8", 
    "topicName": "$aws/things/b9d2e49c-94fe-4ed1-9b07-286afed7e4c8/streams/1e51e9a8-9a4c-4c50-b005-d38452a956af/get/json", 
    "streamId": "1e51e9a8-9a4c-4c50-b005-d38452a956af", 
    "details": "The request status is SUCCESS." 
}
```

デバイスが `DescribeStream` API を呼び出すときに生成されるログの例を次に示します。

```
{ 
    "timestamp": "2018-07-25 22:10:12.690", 
    "logLevel": "DEBUG", 
    "accountId": "123456789012", 
    "status": "Success", 
    "actionType": "DescribeStream", 
    "protocol": "MQTT", 
    "clientId": "581075e0-4639-48ee-8b94-2cf304168e43", 
    "topicName": "$aws/things/581075e0-4639-48ee-8b94-2cf304168e43/streams/71c101a8-bcc5-4929-9fe2-af563af0c139/describe/json", 
    "streamId": "71c101a8-bcc5-4929-9fe2-af563af0c139", 
    "clientToken": "clientToken", 
    "details": "The request status is SUCCESS." 
}
```