设置 CloudWatch OTA 更新的日志 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置 CloudWatch OTA 更新的日志

OTA 更新服务支持使用 Amazon CloudWatch 进行日志记录。您可以使用Amazon IoT控制台以启用和配置亚马逊 CloudWatch 登录 OTA 更新。有关更多信息,请参阅 Cloudwatch Logs

要启用日志记录,必须创建 IAM 角色并配置 OTA 更新日志记录。

注意

在启用 OTA 更新日志记录之前,请务必了解 CloudWatch 记录访问权限。有权访问的用户 CloudWatch 日志可以查看您的调试信息。想要了解有关信息,请参阅Amazon 的身份验证和访问控制 CloudWatch 日志.

创建日志记录角色并启用日志记录

可以使用 Amazon IoT 控制台创建日志记录角色并启用日志记录。

  1. 从导航窗格中,选择 Settings (设置)

  2. Logs (日志) 下,选择 Edit (编辑)

  3. Level of verbosity (详细程度级别) 下,选择 Debug (调试)

  4. UDER设置角色,选择创建新的以创建 IAM 角色以进行日志记录。

  5. Name (名称) 下,为角色输入唯一名称。将创建具备所有必需权限的角色。

  6. 选择 Update(更新)。

OTA 更新日志

当发生以下任一情况时,OTA 更新服务将日志发布到账户:

  • 创建 OTA 更新。

  • OTA 更新已完成。

  • 创建代码签名作业。

  • 代码签名作业已完成。

  • 创建 Amazon IoT 作业。

  • Amazon IoT 作业已完成。

  • 创建流。

您可以在CloudWatch 控制台。

在 中查看 OTA 更新 CloudWatch 日志

  1. 从导航窗格中,选择 Logs (日志)

  2. Log Groups (日志组) 中,选择 AWSIoTLogsV2

OTA 更新日志可以包含以下属性:

accountId

这些区域有:Amazon在其中生成日志的账户 ID。

actionType

生成日志的操作。可以设置为以下值之一:

  • CreateOTAUpdate:已创建 OTA 更新。

  • DeleteOTAUpdate:已删除 OTA 更新。

  • StartCodeSigning:已启动代码签名作业。

  • CreateAWSJob:已创建 Amazon IoT 作业。

  • CreateStream:已创建流。

  • GetStream:流的请求已发送到Amazon IoT基于 MQTT 的文件传输功能。

  • DescribeStream:流相关信息的请求已发送到Amazon IoT基于 MQTT 的文件传输功能。

awsJobId

生成日志的 Amazon IoT 作业 ID。

clientId

发出生成日志请求的 MQTT 客户端 ID。

clientToken

与生成日志请求关联的客户端令牌。

details

有关生成日志的操作的更多信息。

logLevel

日志的日志记录级别。对于 OTA 更新日志,该属性始终设置为 DEBUG

otaUpdateId

生成日志的 OTA 更新的 ID。

协议

用于发出生成日志请求的协议。

status

生成日志操作的状态。有效值为:

  • 成功

  • 失败

streamId

生成日志的 Amazon IoT 流 ID。

timestamp

日志生成的时间。

topicName

用于发出生成日志请求的 MQTT 主题。

日志示例

以下是启动代码签名作业时生成的日志示例:

{ "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." }

以下是创建 Amazon 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 Amazon 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." }