CloudWatch 로그 - AWS IoT Core

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CloudWatch 로그

CloudWatch Logs (cloudwatchLogs) 작업은 Amazon CloudWatch Logs로 데이터를 전송합니다. batchMode를 사용하여 하나의 메시지에 여러 디바이스 로그 레코드를 업로드하고 타임스탬프를 지정할 수 있습니다. 작업에서 데이터를 전송할 로그 그룹을 지정할 수도 있습니다.

요구 사항

이 규칙 작업은 다음 요구 사항을 충족해야 합니다.

  • logs:CreateLogStreamlogs:DescribeLogStreams, 및 logs:PutLogEvents 작업을 수행하도록 AWS IoT 위임할 수 있는 IAM 역할. 자세한 정보는 AWS IoT 규칙에 필요한 액세스 권한 부여을 참조하세요.

    AWS IoT 콘솔에서 이 규칙 작업을 수행할 수 있는 역할을 선택하거나 생성할 수 있습니다. AWS IoT

  • 고객 관리형 키 AWS KMS key (KMS 키) 를 사용하여 CloudWatch 로그의 로그 데이터를 암호화하는 경우 서비스에 호출자를 대신하여 KMS 키를 사용할 권한이 있어야 합니다. 자세한 내용은 Amazon Logs 사용 설명서의 로그 데이터 암호화를 사용하여 CloudWatch AWS KMS로그의 CloudWatch 로그 데이터 암호화를 참조하십시오.

batchMode에 대한 MQTT 메시지 형식 요구 사항

CloudWatch 로그 규칙 작업을 해제한 batchMode 상태로 사용하는 경우 MQTT 메시지 형식 지정 요구 사항이 없습니다. (참고: batchMode 파라미터의 기본값은 false입니다.) 그러나 CloudWatch Logs 규칙 동작을 batchMode 켜진 상태에서 사용하는 경우 (매개변수 값은true), 기기측 로그가 포함된 MQTT 메시지는 타임스탬프와 메시지 페이로드를 포함하도록 형식을 지정해야 합니다. 참고: timestamp는 이벤트가 발생한 시간을 나타내며, 1970년 1월 1일 00:00:00 UTC 이후 경과된 밀리초 수로 표시됩니다.

다음은 게시 형식의 예입니다.

[ {"timestamp": 1673520691093, "message": "Test message 1"}, {"timestamp": 1673520692879, "message": "Test message 2"}, {"timestamp": 1673520693442, "message": "Test message 3"} ]

이 요구 사항을 준수하려면 기기 측 로그가 생성되는 방식에 따라 로그를 전송하기 전에 해당 로그를 필터링하고 형식을 다시 지정해야 할 수 있습니다. 자세한 내용은 MQTT 메시지 페이로드를 참조하세요.

batchMode매개변수와 관계없이 message 콘텐츠는 메시지 크기 제한을 준수해야 합니다. AWS IoT 자세한 내용은 AWS IoT Core 엔드포인트 및 할당량을 참조하세요.

파라미터

이 작업을 사용하여 AWS IoT 규칙을 만들 때는 다음 정보를 지정해야 합니다.

logGroupName

작업에서 데이터를 보내는 CloudWatch 로그 그룹입니다.

대체 템플릿 지원: API 및 전용 AWS CLI

roleArn

CloudWatch 로그 그룹에 대한 액세스를 허용하는 IAM 역할. 자세한 정보는 요구 사항을 참조하세요.

대체 템플릿 지원: 아니오

(선택 사항) batchMode

로그 레코드 배치를 추출하여 업로드할지 여부를 나타냅니다. CloudWatch 값에는 true 또는 false(기본값)가 포함됩니다. 자세한 정보는 요구 사항을 참조하세요.

대체 템플릿 지원: 아니오

다음 JSON 예제는 규칙의 CloudWatch 로그 작업을 정의합니다. AWS IoT

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "cloudwatchLogs": { "logGroupName": "IotLogs", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_cw", "batchMode": false } } ] } }

다음 사항도 참조하세요.