OTA 업데이트를 위해 CloudWatch Logs 설정 - FreeRTOS

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

OTA 업데이트를 위해 CloudWatch Logs 설정

OTA 업데이트 서비스에서는 Amazon CloudWatch를 통한 로깅을 지원합니다. AWS IoT 콘솔을 사용하여 OTA 업데이트를 위한 Amazon CloudWatch 로깅을 활성화하고 구성할 수 있습니다. 자세한 내용은 Cloudwatch Logs를 참조하십시오.

로깅을 활성화하려면 IAM 역할을 생성하고 OTA 업데이트 로깅을 구성해야 합니다.

참고

OTA 업데이트 로깅을 활성화하기 전에 CloudWatch Logs 액세스 권한을 이해해야 합니다. CloudWatch Logs 액세스 권한이 있는 사용자는 디버깅 정보를 볼 수 있습니다. 자세한 내용은 Amazon CloudWatch Logs에 대한 인증 및 액세스 제어를 참조하십시오.

로깅 역할 생성 및 로깅 활성화

AWS IoT 콘솔을 사용하여 로깅 역할을 생성하고 로깅을 활성화합니다.

  1. 탐색 창에서 설정을 선택합니다.

  2. 로그에서 편집을 선택합니다.

  3. 세부 사항 수준에서 디버깅을 선택합니다.

  4. 역할 설정에서 새로 생성을 선택하여 로깅을 위한 IAM 역할을 생성합니다.

  5. 이름 아래에 역할의 고유한 이름을 입력합니다. 모든 필요한 권한을 가진 역할이 생성됩니다.

  6. [Update]를 선택합니다.

OTA 업데이트 로그

OTA 업데이트 서비스에서는 다음 중 하나가 발생할 경우 사용자의 계정에 로그를 게시합니다.

  • OTA 업데이트가 생성된 경우

  • OTA 업데이트가 완료된 경우

  • 코드 서명 작업이 생성된 경우

  • 코드 서명 작업이 완료된 경우

  • AWS IoT 작업이 생성된 경우

  • AWS IoT 작업이 완료된 경우

  • 스트림이 생성된 경우

CloudWatch 콘솔에서 로그를 볼 수 있습니다.

CloudWatch Logs에서 OTA 업데이트를 보려면

  1. 탐색 창에서 로그를 선택합니다.

  2. 로그 그룹에서 AWSIoTLogsV2를 선택합니다.

OTA 업데이트 로그는 다음 속성을 포함할 수 있습니다.

accountId

로그를 생성한 AWS 계정 ID입니다.

actionType

로그를 생성한 작업입니다. 이 속성은 다음 값 중 하나로 설정될 수 있습니다.

  • CreateOTAUpdate: : OTA 업데이트가 생성되었습니다.

  • DeleteOTAUpdate: : OTA 업데이트가 삭제되었습니다.

  • StartCodeSigning: : 코드 서명 작업이 시작되었습니다.

  • CreateAWSJob: An AWS IoT 작업이 생성되었습니다.

  • CreateStream: : 스트림이 생성되었습니다.

  • GetStream: 스트림에 대한 요청이 AWS IoT 맞춤 서비스.

  • DescribeStream: 스트림에 대한 정보 요청이 AWS IoT 맞춤 서비스.

awsJobId

로그를 생성한 AWS IoT 작업 ID입니다.

clientId

로그를 생성한 요청을 보낸 MQTT 클라이언트 ID입니다.

clientToken

로그를 생성한 요청과 연결된 클라이언트 토큰입니다.

세부 정보

로그를 생성한 작업에 대한 추가 정보입니다.

logLevel

로그의 로깅 수준입니다. OTA 업데이트 로그의 경우 이 값은 항상 DEBUG로 설정됩니다.

otaUpdateId

로그를 생성한 OTA 업데이트의 ID입니다.

protocol

로그를 생성한 요청을 만드는 데 사용된 프로토콜입니다.

status

로그를 생성한 작업의 상태입니다. 유효한 값은 , , , , , 입니다.

  • 성공

  • 실패

streamId

로그를 생성한 AWS 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." }

다음은 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." }

다음은 디바이스가 스트리밍 서비스에서 스트림을 요청할 때 생성되는 로그의 예입니다.

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