View a markdown version of this page

CloudWatch Logs AWS IoT 로그 항목 - AWS IoT Core

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

CloudWatch Logs AWS IoT 로그 항목

의 각 구성 요소는 고유한 로그 항목을 AWS IoT 생성합니다. 각 로그 항목에는 로그 항목이 생성되도록 한 작업을 지정하는 eventType이 있습니다. 이번 단원에서는 다음 AWS IoT 구성 요소에서 작성되는 로그 항목에 대해 설명합니다.

메시지 브로커 로그 항목

AWS IoT 메시지 브로커는 다음 이벤트에 대한 로그 항목을 생성합니다.

Connect 로그 항목

AWS IoT 메시지 브로커는 MQTT 클라이언트가 연결Connect될 때 eventType이 인 로그 항목을 생성합니다.

Connect 로그 항목 예제

{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "INFO", "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb", "accountId": "123456789012", "status": "Success", "eventType": "Connect", "protocol": "MQTT", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490 }

일반적인 CloudWatch Logs 속성 외에도Connect 로그 항목에는 다음 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다.

protocol

요청에 사용된 프로토콜. 유효한 값은 MQTT 또는 HTTP입니다.

sourceIp

요청이 시작된 IP 주소입니다.

sourcePort

요청이 시작된 포트입니다.

Disconnect 로그 항목

AWS IoT 메시지 브로커는 MQTT 클라이언트가 연결 해제될 DisconnecteventType이 인 로그 항목을 생성합니다.

Disconnect 로그 항목 예제

{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "INFO", "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb", "accountId": "123456789012", "status": "Success", "eventType": "Disconnect", "protocol": "MQTT", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490, "reason": "DUPLICATE_CLIENT_ID", "details": "A new connection was established with the same client ID", "disconnectReason": "CLIENT_INITIATED_DISCONNECT" }

일반적인 CloudWatch Logs 속성 외에도Disconnect 로그 항목에는 다음 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다.

protocol

요청에 사용된 프로토콜. 유효한 값은 MQTT 또는 HTTP입니다.

sourceIp

요청이 시작된 IP 주소입니다.

sourcePort

요청이 시작된 포트입니다.

reason

클라이언트가 연결을 해제하는 이유입니다.

details

오류에 대한 간단한 설명입니다.

disconnectReason

클라이언트가 연결을 해제하는 이유입니다.

Ping 로그 항목

AWS IoT 메시지 브로커는 연결된 클라이언트에서 MQTT PINGREQ를 처리하고 해당 PINGRESP를 전송할 PingeventType이 인 로그 항목을 생성합니다. Ping 작업당 단일 로그 항목이 생성됩니다.

중요

핑 로그 항목은 기본적으로 옵트인되고 비활성화됩니다. 방출 임계값은 항목별 결과와 일치합니다. 성공 항목은 DEBUG 수준에서 내보내지고 실패 항목은 ERROR 수준에서 내보내집니다. 따라서 연결에 적용되는 이벤트 수준 또는 리소스별 재정의가 ERROR 또는 보다 자세한 수준(WARN, INFO또는 DEBUG)으로 설정될 때마다 Ping 실패 항목이 표시되지만 Ping 성공 항목은 해당 수준이 로 설정된 경우에만 게시됩니다DEBUG. 이러한 설정을 구성하려면 에서 계정 및 이벤트 수준 로깅 구성 AWS IoT (CLI) 및 섹션을 참조하세요AWS IoT (CLI)에서 리소스별 재정의 구성.

성공 시 logLevelDEBUG이고는 status입니다Success. 실패 시(예: PINGRESP를 전송하기 전에 클라이언트 연결이 종료되는 경우)는 ERROR logLevel이고는 status입니다Failure.

Ping 로그 항목 예제(성공)

{ "timestamp": "2025-10-31 15:37:23.476", "logLevel": "DEBUG", "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb", "accountId": "123456789012", "status": "Success", "eventType": "Ping", "protocol": "MQTT", "latency": 128, "requestTimestamp": "2025-10-31 15:37:23.348", "responseTimestamp": "2025-10-31 15:37:23.476", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490 }

Ping 로그 항목 예제(실패)

{ "timestamp": "2025-10-31 15:37:23.476", "logLevel": "ERROR", "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb", "accountId": "123456789012", "status": "Failure", "eventType": "Ping", "protocol": "MQTT", "requestTimestamp": "2025-10-31 15:37:23.476", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490, "reason": "CONNECTION_ALREADY_CLOSED", "details": "Connection has already closed" }

일반적인 CloudWatch Logs 속성 뿐만 아니라 Ping 로그 항목에는 다음과 같은 속성이 포함됩니다.

protocol

요청에 사용된 프로토콜. 이 값은 항상 MQTT입니다.

대기 시간

PINGREQ 수신과 PINGRESP 전송 사이의 밀리초 단위 시간입니다. 이 필드는가 status인 경우에만 표시됩니다Success.

requestTimestamp

가 클라이언트로부터 PINGREQ를 AWS IoT Core 수신했을 때의 타임스탬프입니다.

responseTimestamp

가 PINGRESP를 클라이언트로 AWS IoT Core 전송할 때의 타임스탬프입니다. 이 필드는가 status인 경우에만 표시됩니다Success.

clientId

요청하는 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다.

sourceIp

요청이 시작된 IP 주소입니다.

sourcePort

요청이 시작된 포트입니다.

reason

Ping 작업 실패 이유입니다. 이 필드는가 status인 경우에만 표시됩니다Failure.

details

오류에 대한 간단한 설명입니다. 이 필드는가 status인 경우에만 표시됩니다Failure.

Connection.AuthNError 로그 항목

AWS IoT 메시지 브로커는 인증 실패로 인해 클라이언트 연결 시도가 거부될 Connection.AuthNErroreventType이 인 로그 항목을 생성합니다. logLevel이 로그 항목의는 항상 ERROR 이고 status는 항상 입니다Failure. 이 로그 항목은 Connection.AuthNError CloudWatch 지표에 해당합니다.

중요

Connection.AuthNError 로그 항목은 기본적으로 옵트인되고 비활성화됩니다. ERROR 로그 수준에서 방출되므로 연결에 적용되는 이벤트 수준 또는 리소스별 재정의가 ERROR 또는 보다 자세한 수준(WARN, 또는 )으로 설정된 경우에만 Connection.AuthNError 로그 항목이 게시됩니다INFODEBUG. 이러한 설정을 구성하려면 에서 계정 및 이벤트 수준 로깅 구성 AWS IoT (CLI) 및 섹션을 참조하세요AWS IoT (CLI)에서 리소스별 재정의 구성.

참고

이 로그 항목은 TLS 핸드셰이크에 제공된 서버 이름 표시(SNI)를 소유 AWS 계정 한에 게시됩니다. 클라이언트가 SNI를 제공하지 않거나 SNI를 계정으로 확인할 수 없는 경우 로그 항목 또는 지표가 생성되지 않습니다.

Connection.AuthNError 로그 항목 예제

{ "timestamp": "2025-10-31 15:37:23.476", "logLevel": "ERROR", "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb", "accountId": "123456789012", "status": "Failure", "eventType": "Connection.AuthNError", "protocol": "MQTT", "authenticationType": "AWS_X509", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490, "targetIp": "52.94.236.10", "targetPort": 8883, "serverNameIndication": "a1b2c3d4e5f6g7-ats.iot.us-east-1.amazonaws.com", "reason": "DEVICE_CERTIFICATE_NOT_REGISTERED", "details": "Device certificate is not registered" }

일반적인 CloudWatch Logs 속성 뿐만 아니라 Connection.AuthNError 로그 항목에는 다음과 같은 속성이 포함됩니다.

protocol

요청에 사용된 프로토콜. 유효한 값은 MQTT 또는 HTTP입니다.

authenticationType

연결 시도에 사용되는 인증 유형입니다. 유효한 값은 AWS_X509, AWS_SIGV4, CUSTOM_AUTHCUSTOM_AUTH_X509입니다.

clientId

가능한 경우 요청을 하는 클라이언트의 ID입니다.

principalId

가능한 경우 요청하는 보안 주체의 ID입니다.

sourceIp

요청이 시작된 IP 주소입니다.

sourcePort

요청이 시작된 포트입니다.

targetIp

연결의 대상 IP 주소입니다. 이 필드는 일부 로그 항목에는 없을 수 있습니다.

targetPort

연결의 대상 포트입니다.

serverNameIndication

클라이언트에서 제공하는 TLS Server Name Indication(SNI) 확장 호스트 이름입니다.

reason

클라이언트 인증이 실패한 이유입니다. 가능한 값 목록은 Connection.AuthNError 오류 코드 섹션을 참조하세요.

details

인증 실패에 대한 간략한 설명입니다.

Connection.AuthNError 오류 코드

다음 표에는 Connection.AuthNError 로그 항목에 나타날 수 있는 reason 오류 코드와 해당 details 메시지가 나열되어 있습니다. 나중에 추가 오류 코드가 추가될 수 있습니다.

오류 코드 오류 메시지
CUSTOM_AUTHORIZER_LAMBDA_EXECUTION_ERROR 사용자 지정 권한 부여자 Lambda 호출 실패
CUSTOM_AUTHORIZER_NOT_FOUND 사용자 지정 권한 부여자를 찾을 수 없음
CUSTOM_AUTHORIZER_PARAMETER_INVALID 사용자 지정 인증 파라미터가 잘못되었습니다.
DEVICE_CERTIFICATE_INACTIVE 디바이스 인증서가 활성 상태가 아님
DEVICE_CERTIFICATE_NOT_REGISTERED 디바이스 인증서가 등록되지 않음
DEVICE_CERTIFICATE_REVOKED 디바이스 인증서가 취소됨
DOMAIN_CONFIGURATION_DISABLED 제공된 서버 이름 표시(SNI)에 대한 도메인 구성이 비활성화됨
DOMAIN_CONFIGURATION_INVALID 도메인 구성의 엔드포인트 유형이 잘못되었습니다.
INTERNAL_SERVER_ERROR 내부 서버 오류
NOT_AUTHENTICATED 제공된 자격 증명을 인증할 수 없습니다.
SECURITY_TOKEN_EXPIRED 보안 토큰이 만료되었습니다.
SECURITY_TOKEN_INVALID 요청에 포함된 보안 토큰이 잘못되었습니다.
SECURITY_TOKEN_SIGNATURE_MISMATCH 요청 서명이 제공된 서명과 일치하지 않습니다.
SNI_MISUSED 클라이언트가이 계정과 연결되지 않은 SNI를 사용했습니다.

DeleteConnection 로그 항목

AWS IoT 메시지 브로커는 MQTT 클라이언트 연결이 삭제될 DeleteConnectioneventType이 인 로그 항목을 생성합니다.

DeleteConnection 로그 항목 예제

{ "timestamp": "2025-08-09 15:37:23.476", "logLevel": "INFO", "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb", "accountId": "123456789012", "status": "Success", "eventType": "DeleteConnection", "protocol": "HTTP", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490 }

일반적인 CloudWatch Logs 속성 외에도DeleteConnection 로그 항목에는 다음 속성이 포함됩니다.

clientId

해제될 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다. 위탁자 ID를 사용하여 위탁자를 식별하는 방법에 대한 자세한 내용은 IAM 사용 설명서IAM ID 및 자격 증명 비교를 참조하세요.

protocol

요청에 사용된 프로토콜. 유효한 값은 HTTP입니다.

sourceIp

요청이 시작된 IP 주소입니다.

sourcePort

요청이 시작된 포트입니다.

GetRetainedMessage 로그 항목

AWS IoT 메시지 브로커는가 GetRetainedMessage 호출될 GetRetainedMessageeventType이 인 로그 항목을 생성합니다.

GetRetainedMessage 로그 항목 예제

{ "timestamp": "2017-08-07 18:47:56.664", "logLevel": "INFO", "traceId": "1a60d02e-15b9-605b-7096-a9f584a6ad3f", "accountId": "123456789012", "status": "Success", "eventType": "GetRetainedMessage", "protocol": "HTTP", "topicName": "a/b/c", "qos": "1", "lastModifiedDate": "2017-08-07 18:47:56.664" }

일반적인 CloudWatch Logs 속성 외에도GetRetainedMessage 로그 항목에는 다음 속성이 포함됩니다.

lastModifiedDate

보관된 메시지가 저장된 밀리초 단위의 Epoch 날짜 및 시간입니다 AWS IoT.

protocol

요청에 사용된 프로토콜. 유효한 값: HTTP.

qos

게시 요청에 사용되는 서비스 품질(QoS) 수준입니다. 유효한 값은 0 또는 1입니다.

topicName

구독하는 주제의 이름입니다.

ListRetainedMessage 로그 항목

AWS IoT 메시지 브로커는가 ListRetainedMessages 호출될 ListRetainedMessageeventType이 인 로그 항목을 생성합니다.

ListRetainedMessage 로그 항목 예제

{ "timestamp": "2017-08-07 18:47:56.664", "logLevel": "INFO", "traceId": "1a60d02e-15b9-605b-7096-a9f584a6ad3f", "accountId": "123456789012", "status": "Success", "eventType": "ListRetainedMessage", "protocol": "HTTP" }

일반적인 CloudWatch Logs 속성 로그ListRetainedMessage 항목에는 외에도 다음 속성이 포함됩니다.

protocol

요청에 사용된 프로토콜. 유효한 값: HTTP.

ListSubscriptions 로그 항목

AWS IoT 메시지 브로커는 클라이언트 구독 나열 요청이 수신될 ListSubscriptionseventType이 인 로그 항목을 생성합니다.

ListSubscriptions 로그 항목 예제

{ "timestamp": "2025-08-22 19:57:46.587", "logLevel": "INFO", "traceId": "5bea658a-0752-bf20-770f-ad17c8dabb95", "accountId": "987654321", "status": "Success", "eventType": "ListSubscriptions", "protocol": "HTTP", "clientId": "abc", "principalId": "AIDAZPOK3C3545MCMYATF", "sourceIp": "52.94.133.137", "sourcePort": 13490, "maxResults": 100 }

일반적인 CloudWatch Logs 속성 뿐만 아니라 ListSubscriptions 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다.

protocol

요청에 사용된 프로토콜. 유효한 값: HTTP.

sourceIp

요청이 시작된 IP 주소입니다.

sourcePort

요청이 시작된 포트입니다.

maxResults

요청된 최대 결과 수입니다.

GetConnection 로그 항목

AWS IoT 메시지 브로커는 연결 정보 가져오기 요청이 수신될 GetConnectioneventType이 인 로그 항목을 생성합니다.

GetConnection 로그 항목 예제

{ "timestamp": "2025-08-22 19:19:50.679", "logLevel": "INFO", "traceId": "7a04de1a-d1a3-50bc-3ca5-96b1ee293dae", "accountId": "987654321", "status": "Success", "eventType": "GetConnection", "protocol": "HTTP", "clientId": "aClient", "principalId": "AIDAZPOK3C3545MCMYATF", "sourceIp": "52.94.133.137", "sourcePort": 31983 }

일반적인 CloudWatch Logs 속성 뿐만 아니라 GetConnection 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다.

protocol

요청에 사용된 프로토콜. 유효한 값: HTTP.

sourceIp

API 요청이 시작된 IP 주소입니다.

sourcePort

API 요청이 시작된 포트입니다.

Publish-In 로그 항목

AWS IoT 메시지 브로커는 MQTT 메시지를 수신하면 eventType이 인 로그 항목을 생성합니다Publish-In.

Publish-In 로그 항목 예제

{ "timestamp": "2017-08-10 15:39:30.961", "logLevel": "INFO", "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699", "accountId": "123456789012", "status": "Success", "eventType": "Publish-In", "protocol": "MQTT", "topicName": "$aws/things/MyThing/shadow/get", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490, "retain": "True" }

일반적인 CloudWatch Logs 속성 외에도Publish-In 로그 항목에는 다음 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다.

protocol

요청에 사용된 프로토콜. 유효한 값은 MQTT 또는 HTTP입니다.

retain

메시지에 RETAIN 플래그가 True 값으로 설정되어 있을 때 사용되는 속성입니다. 메시지에 RETAIN 플래그가 설정되어 있지 않으면 이 속성은 로그 항목에 나타나지 않습니다. 자세한 정보는 MQTT 보존 메시지을 참조하십시오.

sourceIp

요청이 시작된 IP 주소입니다.

sourcePort

요청이 시작된 포트입니다.

topicName

구독하는 주제의 이름입니다.

Publish-Out 로그 항목

메시지 브로커는 MQTT 메시지를 게시하면 eventTypePublish-Out인 로그 항목을 생성합니다.

Publish-Out 로그 항목 예제

{ "timestamp": "2017-08-10 15:39:30.961", "logLevel": "INFO", "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699", "accountId": "123456789012", "status": "Success", "eventType": "Publish-Out", "protocol": "MQTT", "topicName": "$aws/things/MyThing/shadow/get", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490 }

일반적인 CloudWatch Logs 속성 외에도Publish-Out 로그 항목에는 다음 속성이 포함됩니다.

clientId

해당 MQTT 주제에 대한 메시지를 수신하는 구독 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다.

protocol

요청에 사용된 프로토콜. 유효한 값은 MQTT 또는 HTTP입니다.

sourceIp

요청이 시작된 IP 주소입니다.

sourcePort

요청이 시작된 포트입니다.

topicName

구독하는 주제의 이름입니다.

대기 중 로그 항목

영구 세션이 있는 디바이스의 연결이 끊어지면 MQTT 메시지 브로커는 디바이스의 메시지를 저장하고 eventType이 인 로그 항목을 AWS IoT 생성합니다Queued. MQTT 영구 세션에 대한 자세한 내용은 섹션을 참조MQTT 지속적 세션하세요.

대기 중 서버 오류 로그 항목 예제

{ "timestamp": "2022-08-10 15:39:30.961", "logLevel": "ERROR", "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699", "accountId": "123456789012", "topicName": "$aws/things/MyThing/get", "clientId": "123123123", "qos": "1", "protocol": "MQTT", "eventType": "Queued", "status": "Failure", "details": "Server Error" }

일반적인 CloudWatch Logs 속성 서버Queued 오류 로그 항목에는 외에도 다음 속성이 포함됩니다.

clientId

메시지가 대기할 클라이언트의 ID입니다.

details
Server Error

서버 오류로 인해 메시지가 저장되지 않았습니다.

protocol

요청에 사용된 프로토콜. 값은 항상 MQTT입니다.

qos

요청의 서비스 품질(QoS) 수준입니다. QoS가 0인 메시지는 저장되지 않으므로 값은 항상 1입니다.

topicName

구독하는 주제의 이름입니다.

대기 중 성공 로그 항목 예시

{ "timestamp": "2022-08-10 15:39:30.961", "logLevel": "INFO", "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699", "accountId": "123456789012", "topicName": "$aws/things/MyThing/get", "clientId": "123123123", "qos": "1", "protocol": "MQTT", "eventType": "Queued", "status": "Success" }

일반적인 CloudWatch Logs 속성 성공Queued 로그 항목에는 외에도 다음 속성이 포함됩니다.

clientId

메시지가 대기할 클라이언트의 ID입니다.

protocol

요청에 사용된 프로토콜. 값은 항상 MQTT입니다.

qos

요청의 서비스 품질(QoS) 수준입니다. QoS가 0인 메시지는 저장되지 않으므로 값은 항상 1입니다.

topicName

구독하는 주제의 이름입니다.

대기 중 제한된 로그 항목 예시

{ "timestamp": "2022-08-10 15:39:30.961", "logLevel": "ERROR", "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699", "accountId": "123456789012", "topicName": "$aws/things/MyThing/get", "clientId": "123123123", "qos": "1", "protocol": "MQTT", "eventType": "Queued", "status": "Failure", "details": "Throttled while queueing offline message" }

일반적인 CloudWatch Logs 속성 제한Queued 로그 항목에는 외에도 다음 속성이 포함됩니다.

clientId

메시지가 대기할 클라이언트의 ID입니다.

details
Throttled while queueing offline message

클라이언트가 Queued messages per second per account 제한을 초과하여 메시지가 저장되지 않았습니다.

protocol

요청에 사용된 프로토콜. 값은 항상 MQTT입니다.

qos

요청의 서비스 품질(QoS) 수준입니다. QoS가 0인 메시지는 저장되지 않으므로 값은 항상 1입니다.

topicName

구독하는 주제의 이름입니다.

Subscribe 로그 항목

AWS IoT 메시지 브로커는 MQTT 클라이언트가 주제를 구독할 SubscribeeventType이 인 로그 항목을 생성합니다.

MQTT 3 구독 로그 항목 예시

{ "timestamp": "2017-08-10 15:39:04.413", "logLevel": "INFO", "traceId": "7aa5c38d-1b49-3753-15dc-513ce4ab9fa6", "accountId": "123456789012", "status": "Success", "eventType": "Subscribe", "protocol": "MQTT", "topicName": "$aws/things/MyThing/shadow/#", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490 }

일반적인 CloudWatch Logs 속성 외에도Subscribe 로그 항목에는 다음 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다.

protocol

요청에 사용된 프로토콜. 값은 항상 MQTT입니다.

sourceIp

요청이 시작된 IP 주소입니다.

sourcePort

요청이 시작된 포트입니다.

topicName

구독하는 주제의 이름입니다.

MQTT 5 구독 로그 항목 예시

{ "timestamp": "2022-11-30 16:24:15.628", "logLevel": "INFO", "traceId": "7aa5c38d-1b49-3753-15dc-513ce4ab9fa6", "accountId": "123456789012", "status": "Success", "eventType": "Subscribe", "protocol": "MQTT", "topicName": "test/topic1,$invalid/reserved/topic", "subscriptions": [ { "topicName": "test/topic1", "reasonCode": 1 }, { "topicName": "$invalid/reserved/topic", "reasonCode": 143 } ], "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490 }

MQTT 5 구독 작업의 경우, 일반적인 CloudWatch Logs 속성MQTT 3 구독 로그 항목 속성 외에도 MQTT 5 Subscribe 로그 항목에는 다음 속성이 포함됩니다.

구독

구독 요청의 요청된 주제와 개별 MQTT 5 사유 코드 간의 매핑 목록입니다. 자세한 내용은 MQTT 사유 코드를 참조하세요.

로그 항목 구독 취소

AWS IoT 메시지 브로커는 MQTT 클라이언트가 MQTT 주제 구독을 취소할 UnsubscribeeventType이 인 로그 항목을 생성합니다.

MQTT 구독 취소 로그 항목 예시

{ "timestamp": "2024-08-20 22:53:32.844", "logLevel": "INFO", "traceId": "db6bd09a-2c3f-1cd2-27cc-fd6b1ce03b58", "accountId": "123456789012", "status": "Success", "eventType": "Unsubscribe", "protocol": "MQTT", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490 }

외에도 일반적인 CloudWatch Logs 속성 Unsubscribe 로그 항목에는 다음 속성이 포함됩니다.

protocol

요청에 사용된 프로토콜. 값은 항상 MQTT입니다.

clientId

요청하는 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다.

sourceIp

요청이 시작된 IP 주소입니다.

sourcePort

요청이 시작된 포트입니다.

SendDirectMessage 로그 항목

AWS IoT 메시지 브로커는 SendDirectMessage API 요청이 이루어질 SendDirectMessageeventType이 인 로그 항목을 생성합니다.

AWS IoT Core IoT 로깅을 활성화하면가 SendDirectMessage 이벤트를 CloudWatch Logs에 기록합니다. 로깅 구성에 대한 자세한 내용은 섹션을 참조하세요AWS IoT 로깅 구성.

SendDirectMessage 성공 로그 항목 예제

{ "timestamp": "2026-01-20 20:44:00.123", "logLevel": "INFO", "traceId": "1a2b3c4d-1234-3214-abcd-1a2b3c4d5e6f", "accountId": "123456789012", "status": "Success", "eventType": "SendDirectMessage", "protocol": "HTTP", "topicName": "commands/reboot", "clientId": "mydevice-002", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "confirmation": true, "sourceIp": "203.0.113.45", "sourcePort": 52847, "timeout": 3 }

SendDirectMessage 실패 로그 항목 예제

{ "timestamp": "2026-01-15 20:30:00.123", "logLevel": "ERROR", "traceId": "1a2b3c4d-1234-5678-abcd-1a2b3c4d5e6f", "accountId": "123456789012", "status": "Failure", "eventType": "SendDirectMessage", "protocol": "HTTP", "topicName": "commands/reboot", "clientId": "myDevice", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "confirmation": true, "sourceIp": "203.0.113.45", "sourcePort": 52847, "reason": "DELIVERY_CONFIRMATION_TIMEOUT", "details": "The delivery confirmation was not received within the specified timeout period", "timeout": 2 }

일반적인 CloudWatch Logs 속성 뿐만 아니라 SendDirectMessage 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

직접 메시지를 수신하는 클라이언트의 ID입니다.

topicName

메시지가 전송된 주제입니다.

protocol

요청에 사용된 프로토콜. 유효한 값: HTTP.

확인

전송 확인이 요청되었는지 여부입니다. 유효한 값은 true 또는 false입니다.

제한 시간

수신 클라이언트의 전송 확인을 기다리는 최대 시간입니다. confirmation가 인 경우에만 표시됩니다true.

reason

실패의 이유 코드입니다.

details

오류에 대한 간단한 설명입니다.

principalId

요청하는 위탁자의 ID입니다.

sourceIp

요청이 시작된 IP 주소입니다.

sourcePort

요청이 시작된 포트입니다.

사유 코드

다음 사유 코드와 세부 정보가 실패 로그 항목에 표시됩니다.

SendDirectMessage 사유 코드
이유 세부 정보
MALFORMED_CLIENTID 이 클라이언트 ID는 유효하지 않습니다. 클라이언트 IDs 128자를 초과할 수 없으며 달러 기호($)로 시작할 수 없습니다. 다른 클라이언트 ID 입력
INVALID_TOPIC 이 주제는 유효하지 않습니다. 주제 크기는 256바이트 이내여야 하고, 9개 미만의 부분을 포함해야 하며, 달러 기호($)로 시작해서는 안 됩니다.
INVALID_TIMEOUT_PARAMETER 잘못된 제한 시간 값입니다. 1~15 사이의 정수여야 합니다.
INVALID_CONFIRMATION_PARAMETER 잘못된 확인 값입니다. 'true' 또는 'false'여야 합니다.
RECEIVE_AUTHORIZATION_FAILURE 대상 클라이언트에 대한 권한 부여가 실패했습니다. 정책이 필요한 권한을 부여하는지 확인
TARGET_CLIENT_ID_NOT_FOUND 클라이언트 ID를 찾을 수 없습니다. 클라이언트가 연결되어 있는지 확인하고 다시 시도하세요.
TARGET_CLIENT_NOT_CONNECTED 대상 클라이언트 ID가 연결되지 않았지만 활성 영구 세션이 있음
SEND_DIRECT_MESSAGE_THROTTLED 직접 메시지 전송 요청 속도 초과로 인해 요청이 거부되었습니다.
RECEIVE_SESSION_THROTTLED 요청 속도가 연결당 초당 아웃바운드 게시 요청을 초과하여 요청이 거부되었습니다.
RECEIVER_MAX_UNACKED_QOS1_EXCEEDED 수신기 클라이언트가 확인되지 않은 QoS 1 메시지의 최대 수에 도달했습니다.
DELIVERY_CONFIRMATION_TIMEOUT 지정된 제한 시간 내에 전송 확인을 받지 못했습니다.
DELIVERY_CONFIRMATION_SENDER_DISCONNECT 전송 확인을 받기 전에 발신자가 연결 해제됨
CLIENT_ENDPOINT_NOT_WRITABLE 수신기 클라이언트 엔드포인트를 쓸 수 없음
INTERNAL_SERVER_ERROR 내부 서버 오류

서버 인증서 OCSP 로그 항목

AWS IoT Core 는 다음 이벤트에 대한 로그 항목을 생성합니다.

RetrieveOCSPStapleData 로그 항목

AWS IoT Core 는 서버가 OCSP 스테이플 데이터를 검색할 eventType RetrieveOCSPStapleData 때이 인 로그 항목을 생성합니다.

RetrieveOCSPStapleData 로그 항목 예시

다음은 Success의 로그 항목 예시입니다.

{ "timestamp": "2024-01-30 15:39:30.961", "logLevel": "INFO", "traceId": "180532b7-0cc7-057b-687a-5ca1824838f5", "accountId": "123456789012", "status": "Success", "eventType": "RetrieveOCSPStapleData", "domainConfigName": "test-domain-config-name", "connectionDetails": { "httpStatusCode": "200", "ocspResponderUri": "http://ocsp.example.com", "sourceIp": "205.251.233.181", "targetIp": "250.15.5.3" }, "ocspRequestDetails": { "requesterName": "iot.amazonaws.com", "requestCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01" }, "ocspResponseDetails": { "responseCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01", "ocspResponseStatus": "successful", "certStatus": "good", "signature": "4C:6F:63:61:6C:20:52:65:73:70:6F:6E:64:65:72:20:53:69:67:6E:61:74:75:72:65", "thisUpdateTime": "Jan 31 01:21:02 2024 UTC", "nextUpdateTime": "Feb 02 00:21:02 2024 UTC", "producedAtTime": "Jan 31 01:37:03 2024 UTC", "stapledDataPayloadSize": "XXX" } }

다음은 Failure의 로그 항목 예시입니다.

{ "timestamp": "2024-01-30 15:39:30.961", "logLevel": "ERROR", "traceId": "180532b7-0cc7-057b-687a-5ca1824838f5", "accountId": "123456789012", "status": "Failure", "reason": "A non 2xx HTTP response was received from the OCSP responder.", "eventType": "RetrieveOCSPStapleData", "domainConfigName": "test-domain-config-name", "connectionDetails": { "httpStatusCode": "444", "ocspResponderUri": "http://ocsp.example.com", "sourceIp": "205.251.233.181", "targetIp": "250.15.5.3" }, "ocspRequestDetails": { "requesterName": "iot.amazonaws.com", "requestCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01" } }

RetrieveOCSPStaple 작업의 경우 일반적인 CloudWatch Logs 속성 외에도 로그 항목에는 다음 속성이 포함됩니다.

reason

작업이 실패하는 이유입니다.

domainConfigName

도메인 구성의 이름입니다.

connectionDetails

연결 세부 정보에 대한 간략한 설명입니다.

  • httpStatusCode

    서버에 대한 클라이언트의 요청에 따라 OCSP 응답기가 반환하는 HTTP 상태 코드입니다.

  • ocspResponderUri

    서버 인증서에서 AWS IoT Core 가져오는 OCSP 응답기 URI입니다.

  • sourceIp

    AWS IoT Core 서버의 소스 IP 주소입니다.

  • targetIp

    OCSP 응답기의 대상 IP 주소입니다.

ocspRequestDetails

OCSP 요청의 세부 정보입니다.

  • requesterName

    OCSP 응답기에 요청을 보내는 AWS IoT Core 서버의 식별자입니다.

  • requestCertId

    요청의 인증서 ID입니다. OCSP 응답이 요청되는 인증서의 ID입니다.

ocspResponseDetails

OCSP 응답의 세부 정보입니다.

  • responseCertId

    OCSP 응답의 인증서 ID입니다.

  • ocspResponseStatus

    OCSP 응답의 상태입니다.

  • certStatus

    인증서의 상태입니다.

  • signature

    신뢰할 수 있는 엔터티가 응답에 적용하는 서명입니다.

  • thisUpdateTime

    표시되는 상태가 올바른 것으로 알려진 시간입니다.

  • nextUpdateTime

    인증서 상태에 대한 최신 정보를 사용할 수 있는 시점 또는 그 이전입니다.

  • producedAtTime

    OCSP 응답자가 이 응답에 서명한 시간입니다.

  • stapledDataPayloadSize

    스테이플링된 데이터의 페이로드 크기입니다.

프라이빗 엔드포인트에 대한 RetrieveOCSPStapleData 로그 항목

AWS IoT Core 는 서버가 OCSP 스테이플 데이터를 검색할 eventType RetrieveOCSPStapleData 때이 인 로그 항목을 생성합니다.

프라이빗 엔드포인트에 대한 RetrieveOCSPStapleData 로그 항목 예시

다음은 Success의 로그 항목 예시입니다.

{ "timestamp": "2024-01-30 15:39:30.961", "logLevel": "INFO", "traceId": "180532b7-0cc7-057b-687a-5ca1824838f5", "accountId": "123456789012", "status": "Success", "eventType": "RetrieveOCSPStapleData", "domainConfigName": "test-domain-config-name", "lambdaDetails": { "lambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "sourceArn": "arn:aws:iot:us-west-2:123456789012:domainconfiguration/testDomainConfigure/6bzfg" }, "authorizedResponderArn": "arn:aws:acm:us-west-2:123456789012:certificate/certificate_ID", "ocspRequestDetails": { "requesterName": "iot.amazonaws.com", "requestCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01" }, "ocspResponseDetails": { "responderId": "04:C1:3F:8F:27:D6:49:13:F8:DE:B2:36:9D:85:8E:F8:31:3B:A6:D0" "responseCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01", "ocspResponseStatus": "successful", "certStatus": "good", "signature": "4C:6F:63:61:6C:20:52:65:73:70:6F:6E:64:65:72:20:53:69:67:6E:61:74:75:72:65", "thisUpdateTime": "Jan 31 01:21:02 2024 UTC", "nextUpdateTime": "Feb 02 00:21:02 2024 UTC", "producedAtTime": "Jan 31 01:37:03 2024 UTC", "stapledDataPayloadSize": "XXX" } }

다음은 Failure의 로그 항목 예시입니다.

{ "timestamp": "2024-01-30 15:39:30.961", "logLevel": "ERROR", "traceId": "180532b7-0cc7-057b-687a-5ca1824838f5", "accountId": "123456789012", "status": "Failure", "reason": "The payload returned by the Lambda function exceeds the maximum response size of 7 kilobytes.", "eventType": "RetrieveOCSPStapleData", "domainConfigName": "test-domain-config-name", "lambdaDetails": { "lambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "sourceArn": "arn:aws:iot:us-west-2:123456789012:domainconfiguration/testDomainConfigure/6bzfg" }, "authorizedResponderArn": "arn:aws:acm:us-west-2:123456789012:certificate/certificate_ID", "ocspRequestDetails": { "requesterName": "iot.amazonaws.com", "requestCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01" } }

RetrieveOCSPStaple 작업의 경우, 일반적인 CloudWatch Logs 속성RetrieveOCSPStapleData 로그 항목의 속성 외에도 프라이빗 엔드포인트의 로그 항목에는 다음 속성이 포함됩니다.

lambdaDetails

Lambda 함수의 세부 정보입니다.

  • lambdaArn

    Lambda 함수의 ARN입니다.

  • sourceArn

    도메인 구성의 ARN입니다.

authorizedResponderArn

도메인 구성에 구성된 ARN이 있는 경우, 권한 부여자 응답자의 ARN입니다.

Device Shadow 로그 항목

AWS IoT 디바이스 섀도우 서비스는 다음 이벤트에 대한 로그 항목을 생성합니다.

DeleteThingShadow 로그 항목

디바이스 섀도우 서비스는 디바이스 섀도우 삭제 요청이 수신되면 eventTypeDeleteThingShadow인 로그 항목을 작성합니다.

DeleteThingShadow 로그 항목 예제

{ "timestamp": "2017-08-07 18:47:56.664", "logLevel": "INFO", "traceId": "1a60d02e-15b9-605b-7096-a9f584a6ad3f", "accountId": "123456789012", "status": "Success", "eventType": "DeleteThingShadow", "protocol": "MQTT", "deviceShadowName": "Jack", "topicName": "$aws/things/Jack/shadow/delete" }

일반적인 CloudWatch Logs 속성 외에도DeleteThingShadow 로그 항목에는 다음 속성이 포함됩니다.

deviceShadowName

업데이트할 섀도우의 이름입니다.

protocol

요청에 사용된 프로토콜. 유효한 값은 MQTT 또는 HTTP입니다.

topicName

요청이 게시된 주제의 이름입니다.

GetThingShadow 로그 항목

디바이스 섀도우 서비스는 섀도우 가져오기 요청이 수신되면 eventTypeGetThingShadow인 로그 항목을 작성합니다.

GetThingShadow 로그 항목 예제

{ "timestamp": "2017-08-09 17:56:30.941", "logLevel": "INFO", "traceId": "b575f19a-97a2-cf72-0ed0-c64a783a2504", "accountId": "123456789012", "status": "Success", "eventType": "GetThingShadow", "protocol": "MQTT", "deviceShadowName": "MyThing", "topicName": "$aws/things/MyThing/shadow/get" }

일반적인 CloudWatch Logs 속성 외에도GetThingShadow 로그 항목에는 다음 속성이 포함됩니다.

deviceShadowName

요청한 섀도우의 이름입니다.

protocol

요청에 사용된 프로토콜. 유효한 값은 MQTT 또는 HTTP입니다.

topicName

요청이 게시된 주제의 이름입니다.

UpdateThingShadow 로그 항목

디바이스 섀도우 서비스는 디바이스 섀도우 업데이트 요청이 수신되면 eventTypeUpdateThingShadow인 로그 항목을 작성합니다.

UpdateThingShadow 로그 항목 예제

{ "timestamp": "2017-08-07 18:43:59.436", "logLevel": "INFO", "traceId": "d0074ba8-0c4b-a400-69df-76326d414c28", "accountId": "123456789012", "status": "Success", "eventType": "UpdateThingShadow", "protocol": "MQTT", "deviceShadowName": "Jack", "topicName": "$aws/things/Jack/shadow/update" }

일반적인 CloudWatch Logs 속성 외에도UpdateThingShadow 로그 항목에는 다음 속성이 포함됩니다.

deviceShadowName

업데이트할 섀도우의 이름입니다.

protocol

요청에 사용된 프로토콜. 유효한 값은 MQTT 또는 HTTP입니다.

topicName

요청이 게시된 주제의 이름입니다.

Rules engine 로그 항목

AWS IoT 규칙 엔진은 다음 이벤트에 대한 로그를 생성합니다.

FunctionExecution 로그 항목

규칙 엔진은 규칙의 SQL 쿼리가 외부 함수를 호출할 때 eventTypeFunctionExecution인 로그 항목을 작성합니다. 외부 함수는 규칙의 작업이 AWS IoT 또는 다른 웹 서비스에 HTTP 요청을 할 때 호출됩니다(예: get_thing_shadow 또는 호출machinelearning_predict).

FunctionExecution 로그 항목 예제

{ "timestamp": "2017-07-13 18:33:51.903", "logLevel": "DEBUG", "traceId": "180532b7-0cc7-057b-687a-5ca1824838f5", "status": "Success", "eventType": "FunctionExecution", "clientId": "N/A", "topicName":"rules/test", "ruleName": "ruleTestPredict", "ruleAction": "MachinelearningPredict", "resources": { "ModelId": "predict-model" }, "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167" }

일반적인 CloudWatch Logs 속성 외에도FunctionExecution 로그 항목에는 다음 속성이 포함됩니다.

clientId

FunctionExecution 로그에서는 N/A입니다.

principalId

요청하는 위탁자의 ID입니다.

리소스

규칙의 작업에서 사용하는 리소스 모음입니다.

ruleName

일치하는 규칙의 이름입니다.

topicName

구독하는 주제의 이름입니다.

RuleExecution 로그 항목

AWS IoT 규칙 엔진은 규칙의 작업을 트리거할 때 RuleExecution 로그 항목을 생성합니다.

RuleExecution 로그 항목 예제

{ "timestamp": "2017-08-10 16:32:46.070", "logLevel": "INFO", "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e", "accountId": "123456789012", "status": "Success", "eventType": "RuleExecution", "clientId": "abf27092886e49a8a5c1922749736453", "topicName": "rules/test", "ruleName": "JSONLogsRule", "ruleAction": "RepublishAction", "resources": { "RepublishTopic": "rules/republish" }, "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167" }

일괄 처리 로그 항목을 사용한 RuleExecution 예제

{ "logLevel": "INFO", "accountId": "123456789012", "status": "Success", "eventType": "RuleExecution", "ruleName": "rule_test", "ruleAction": "HttpAction", "resources": { "Url": "https://example.com", "ConfirmationUrl": "https://example.com" }, "details": "HttpAction made a request to the specified endpoint", "batchDetails": { "timestamps": [ "1234567890123", "1234567890123", "1234567890123" ], "traceIds": [ "30aa7ccc-1d23-0b97-aa7b-76196d83537e", "30aa7ccc-1d23-0b97-aa7b-76196d83537c", "30aa7ccc-1d23-0b97-aa7b-76196d83537d" ], "clientIds": [ "N/A", "N/A", "N/A" ], "topicNames": [ "topic/ruletest", "topic/ruletest", "topic/ruletest" ], "principalIds": [ "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167" ], "batchSize": 3, "batchSizeInBytes": 114 } }

일반적인 CloudWatch Logs 속성 뿐만 아니라 RuleExecution 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다.

리소스

규칙의 작업에서 사용하는 리소스 모음입니다.

ruleAction

트리거된 작업의 이름입니다.

ruleName

일치하는 규칙의 이름입니다.

topicName

구독하는 주제의 이름입니다.

RuleMatch 로그 항목

AWS IoT 규칙 엔진은 메시지 브로커가 규칙과 일치하는 메시지를 수신할 RuleMatcheventType이 인 로그 항목을 생성합니다.

RuleMatch 로그 항목 예제

{ "timestamp": "2017-08-10 16:32:46.002", "logLevel": "INFO", "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e", "accountId": "123456789012", "status": "Success", "eventType": "RuleMatch", "clientId": "abf27092886e49a8a5c1922749736453", "topicName": "rules/test", "ruleName": "JSONLogsRule", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167" }

일반적인 CloudWatch Logs 속성 외에도RuleMatch 로그 항목에는 다음 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다.

ruleName

일치하는 규칙의 이름입니다.

topicName

구독하는 주제의 이름입니다.

RuleExecutionThrottled 로그 항목

실행이 제한되면 AWS IoT 규칙 엔진은 eventType가 인 로그 항목을 생성합니다RuleExecutionThrottled.

RuleExecutionThrottled 로그 항목 예시

{ "timestamp": "2017-10-04 19:25:46.070", "logLevel": "ERROR", "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e", "accountId": "123456789012", "status": "Failure", "eventType": "RuleExecutionThrottled", "clientId": "abf27092886e49a8a5c1922749736453", "topicName": "$aws/rules/example_rule", "ruleName": "example_rule", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "reason": "RuleExecutionThrottled", "details": "Exection of Rule example_rule throttled" }

일반적인 CloudWatch Logs 속성 외에도RuleExecutionThrottled 로그 항목에는 다음 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

details

오류에 대한 간단한 설명입니다.

principalId

요청하는 위탁자의 ID입니다.

reason

'RuleExecutionThrottled' 문자열

ruleName

트리거할 규칙의 이름.

topicName

게시된 주제의 이름입니다.

RuleNotFound 로그 항목

AWS IoT 규칙 엔진이 지정된 이름의 규칙을 찾을 수 없는 경우 eventType이 인 로그 항목을 생성합니다RuleNotFound.

RuleNotFound 로그 항목 예제

{ "timestamp": "2017-10-04 19:25:46.070", "logLevel": "ERROR", "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e", "accountId": "123456789012", "status": "Failure", "eventType": "RuleNotFound", "clientId": "abf27092886e49a8a5c1922749736453", "topicName": "$aws/rules/example_rule", "ruleName": "example_rule", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "reason": "RuleNotFound", "details": "Rule example_rule not found" }

일반적인 CloudWatch Logs 속성 외에도RuleNotFound 로그 항목에는 다음 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

details

오류에 대한 간단한 설명입니다.

principalId

요청하는 위탁자의 ID입니다.

reason

문자열 "RuleNotFound".

ruleName

찾을 수 없는 규칙의 이름입니다.

topicName

게시된 주제의 이름입니다.

StartingRuleExecution 로그 항목

AWS IoT 규칙 엔진이 규칙의 작업을 트리거하기 시작하면 eventType이 인 로그 항목이 생성됩니다StartingRuleExecution.

StartingRuleExecution 로그 항목 예제

{ "timestamp": "2017-08-10 16:32:46.002", "logLevel": "DEBUG", "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e", "accountId": "123456789012", "status": "Success", "eventType": "StartingRuleExecution", "clientId": "abf27092886e49a8a5c1922749736453", "topicName": "rules/test", "ruleName": "JSONLogsRule", "ruleAction": "RepublishAction", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167" }

일반적인 CloudWatch Logs 속성 외에도rule- 로그 항목에는 다음 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

principalId

요청하는 위탁자의 ID입니다.

ruleAction

트리거된 작업의 이름입니다.

ruleName

일치하는 규칙의 이름입니다.

topicName

구독하는 주제의 이름입니다.

Job 로그 항목

AWS IoT 작업 서비스는 다음 이벤트에 대한 로그 항목을 생성합니다. 디바이스로부터 MQTT 또는 HTTP 요청이 수신되면 로그 항목이 생성됩니다.

DescribeJobExecution 로그 항목

AWS IoT 작업 서비스는 서비스가 작업 실행을 설명하라는 요청을 수신할 DescribeJobExecutioneventType이 인 로그 항목을 생성합니다.

DescribeJobExecution 로그 항목 예제

{ "timestamp": "2017-08-10 19:13:22.841", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "eventType": "DescribeJobExecution", "protocol": "MQTT", "clientId": "thingOne", "jobId": "002", "topicName": "$aws/things/thingOne/jobs/002/get", "clientToken": "myToken", "details": "The request status is SUCCESS." }

일반적인 CloudWatch Logs 속성 외에도GetJobExecution 로그 항목에는 다음 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

clientToken

요청 멱등성을 보장하는 고유한 대/소문자 구분 식별자입니다. 자세한 내용은 멱등성 보장 방법(How to Ensure Idempotency) 단원을 참조하세요.

details

작업 서비스의 다른 정보입니다.

jobId

작업 실행의 작업 ID입니다.

protocol

요청에 사용된 프로토콜. 유효한 값은 MQTT 또는 HTTP입니다.

topicName

요청에 사용된 주제입니다.

GetPendingJobExecution 로그 항목

AWS IoT 작업 서비스는 서비스가 작업 실행 요청을 수신할 GetPendingJobExecutioneventType이 인 로그 항목을 생성합니다.

GetPendingJobExecution 로그 항목 예제

{ "timestamp": "2018-06-13 17:45:17.197", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "eventType": "GetPendingJobExecution", "protocol": "MQTT", "clientId": "299966ad-54de-40b4-99d3-4fc8b52da0c5", "topicName": "$aws/things/299966ad-54de-40b4-99d3-4fc8b52da0c5/jobs/get", "clientToken": "24b9a741-15a7-44fc-bd3c-1ff2e34e5e82", "details": "The request status is SUCCESS." }

일반적인 CloudWatch Logs 속성 외에도GetPendingJobExecution 로그 항목에는 다음 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

clientToken

요청 멱등성을 보장하는 고유한 대/소문자 구분 식별자입니다. 자세한 내용은 멱등성 보장 방법(How to Ensure Idempotency) 단원을 참조하세요.

details

작업 서비스의 다른 정보입니다.

protocol

요청에 사용된 프로토콜. 유효한 값은 MQTT 또는 HTTP입니다.

topicName

구독하는 주제의 이름입니다.

ReportFinalJobExecutionCount 로그 항목

AWS IoT 작업 서비스는 ReportFinalJobExecutionCount 작업이 완료되면 entryType이 인 로그 항목을 생성합니다.

ReportFinalJobExecutionCount 로그 항목 예제

{ "timestamp": "2017-08-10 19:44:16.776", "logLevel": "INFO", "accountId": "123456789012", "status": "Success", "eventType": "ReportFinalJobExecutionCount", "jobId": "002", "details": "Job 002 completed. QUEUED job execution count: 0 IN_PROGRESS job execution count: 0 FAILED job execution count: 0 SUCCEEDED job execution count: 1 CANCELED job execution count: 0 REJECTED job execution count: 0 REMOVED job execution count: 0" }

일반적인 CloudWatch Logs 속성 외에도ReportFinalJobExecutionCount 로그 항목에는 다음 속성이 포함됩니다.

details

작업 서비스의 다른 정보입니다.

jobId

작업 실행의 작업 ID입니다.

StartNextPendingJobExecution 로그 항목

대기 중인 다음 작업 실행을 시작하라는 요청을 수신하면 AWS IoT 작업 서비스는 eventType이 인 로그 항목을 생성합니다StartNextPendingJobExecution.

StartNextPendingJobExecution 로그 항목 예제

{ "timestamp": "2018-06-13 17:49:51.036", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "eventType": "StartNextPendingJobExecution", "protocol": "MQTT", "clientId": "95c47808-b1ca-4794-bc68-a588d6d9216c", "topicName": "$aws/things/95c47808-b1ca-4794-bc68-a588d6d9216c/jobs/start-next", "clientToken": "bd7447c4-3a05-49f4-8517-dd89b2c68d94", "details": "The request status is SUCCESS." }

일반적인 CloudWatch Logs 속성 외에도StartNextPendingJobExecution 로그 항목에는 다음 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

clientToken

요청 멱등성을 보장하는 고유한 대/소문자 구분 식별자입니다. 자세한 내용은 멱등성 보장 방법(How to Ensure Idempotency) 단원을 참조하세요.

details

작업 서비스의 다른 정보입니다.

protocol

요청에 사용된 프로토콜. 유효한 값은 MQTT 또는 HTTP입니다.

topicName

요청에 사용된 주제입니다.

UpdateJobExecution 로그 항목

AWS IoT 작업 서비스는 서비스가 작업 실행 업데이트 요청을 수신할 UpdateJobExecutioneventType이 인 로그 항목을 생성합니다.

UpdateJobExecution 로그 항목 예제

{ "timestamp": "2017-08-10 19:25:14.758", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "eventType": "UpdateJobExecution", "protocol": "MQTT", "clientId": "thingOne", "jobId": "002", "topicName": "$aws/things/thingOne/jobs/002/update", "clientToken": "myClientToken", "versionNumber": "1", "details": "The destination status is IN_PROGRESS. The request status is SUCCESS." }

일반적인 CloudWatch Logs 속성 외에도UpdateJobExecution 로그 항목에는 다음 속성이 포함됩니다.

clientId

요청하는 클라이언트의 ID입니다.

clientToken

요청 멱등성을 보장하는 고유한 대/소문자 구분 식별자입니다. 자세한 내용은 멱등성 보장 방법(How to Ensure Idempotency) 단원을 참조하세요.

details

작업 서비스의 다른 정보입니다.

jobId

작업 실행의 작업 ID입니다.

protocol

요청에 사용된 프로토콜. 유효한 값은 MQTT 또는 HTTP입니다.

topicName

요청에 사용된 주제입니다.

versionNumber

작업 실행 버전입니다.

Device provisioning 로그 항목

AWS IoT 디바이스 프로비저닝 서비스는 다음 이벤트에 대한 로그를 생성합니다.

GetDeviceCredentials 로그 항목

AWS IoT 디바이스 프로비저닝 서비스는 클라이언트가를 호출할 GetDeviceCredentialeventType이 인 로그 항목을 생성합니다GetDeviceCredential.

GetDeviceCredentials 로그 항목 예제

{ "timestamp" : "2019-02-20 20:31:22.932", "logLevel" : "INFO", "traceId" : "8d9c016f-6cc7-441e-8909-7ee3d5563405", "accountId" : "123456789101", "status" : "Success", "eventType" : "GetDeviceCredentials", "deviceCertificateId" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "details" : "Additional details about this log." }

일반적인 CloudWatch Logs 속성 외에도GetDeviceCredentials 로그 항목에는 다음 속성이 포함됩니다.

details

오류에 대한 간단한 설명입니다.

deviceCertificateId

디바이스 인증서의 ID입니다.

ProvisionDevice 로그 항목

AWS IoT 디바이스 프로비저닝 서비스는 클라이언트가를 호출할 ProvisionDeviceeventType이 인 로그 항목을 생성합니다ProvisionDevice.

ProvisionDevice 로그 항목 예제

{ "timestamp" : "2019-02-20 20:31:22.932", "logLevel" : "INFO", "traceId" : "8d9c016f-6cc7-441e-8909-7ee3d5563405", "accountId" : "123456789101", "status" : "Success", "eventType" : "ProvisionDevice", "provisioningTemplateName" : "myTemplate", "deviceCertificateId" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "details" : "Additional details about this log." }

일반적인 CloudWatch Logs 속성 외에도ProvisionDevice 로그 항목에는 다음 속성이 포함됩니다.

details

오류에 대한 간단한 설명입니다.

deviceCertificateId

디바이스 인증서의 ID입니다.

provisioningTemplateName

프로비저닝 템플릿의 이름입니다.

Dynamic thing group 로그 항목

AWS IoT 동적 사물 그룹은 다음 이벤트에 대한 로그를 생성합니다.

AddThingToDynamicThingGroupsFailed 로그 항목

AWS IoT 가 지정된 동적 그룹에 사물을 추가할 수 없는 경우 eventType이 인 로그 항목을 생성합니다AddThingToDynamicThingGroupsFailed. 사물이 동적 사물 그룹에 추가되기 위한 조건을 충족한 경우 발생하지만 동적 그룹에 추가할 수 없거나 동적 그룹에서 제거되었습니다. 이는 다음과 같은 이유로 발생할 수 있습니다.

  • 사물이 이미 최대 그룹 수에 속합니다.

  • --override-dynamic-groups 옵션은 사물을 정적 사물 그룹에 추가하는 데 사용되었습니다. 이를 가능하게 하기 위해 동적 사물 그룹에서 제거되었습니다.

자세한 내용은 동적 사물 그룹 제한 및 충돌을 참조하세요.

AddThingToDynamicThingGroupsFailed 로그 항목 예제

이 예제에서는 AddThingToDynamicThingGroupsFailed 오류의 로그 항목을 보여줍니다. 다음 예제에서 TestThingdynamicThingGroupNames에 나열된 동적 사물 그룹에 추가되기 위한 조건을 충족했지만 reason에 설명된 대로 해당 동적 그룹에 추가할 수 없습니다.

{ "timestamp": "2020-03-16 22:24:43.804", "logLevel": "ERROR", "traceId": "70b1f2f5-d95e-f897-9dcc-31e68c3e1a30", "accountId": "57EXAMPLE833", "status": "Failure", "eventType": "AddThingToDynamicThingGroupsFailed", "thingName": "TestThing", "dynamicThingGroupNames": [ "DynamicThingGroup11", "DynamicThingGroup12", "DynamicThingGroup13", "DynamicThingGroup14" ], "reason": "The thing failed to be added to the given dynamic thing group(s) because the thing already belongs to the maximum allowed number of groups." }

일반적인 CloudWatch Logs 속성 외에도 AddThingToDynamicThingGroupsFailed 로그 항목에는 다음 속성이 포함됩니다.

dynamicThingGroupNames

사물을 추가할 수 없는 동적 사물 그룹의 배열입니다.

reason

사물을 동적 사물 그룹에 추가할 수 없는 이유입니다.

thingName

동적 사물 그룹에 추가할 수 없는 사물의 이름입니다.

플릿 인덱싱 로그 항목

AWS IoT 플릿 인덱싱은 다음 이벤트에 대한 로그 항목을 생성합니다.

NamedShadowCountForDynamicGroupQueryLimitExceeded 로그 항목

동적 그룹에서 특정 데이터 소스가 아닌 쿼리 용어에 대해 사물당 최대 25개의 명명된 섀도우가 처리됩니다. 사물에 대해 이 제한이 위반되면 NamedShadowCountForDynamicGroupQueryLimitExceeded 이벤트 유형이 내보내집니다.

NamedShadowCountForDynamicGroupQueryLimitExceeded 로그 항목 예제

이 예에서는 NamedShadowCountForDynamicGroupQueryLimitExceeded 오류의 로그 항목을 보여줍니다. 이 예에서는 reason 필드에 설명된 대로 모든 값 기반 DynamicGroup 결과가 정확하지 않을 수 있습니다.

{ "timestamp": "2020-03-16 22:24:43.804", "logLevel": "ERROR", "traceId": "70b1f2f5-d95e-f897-9dcc-31e68c3e1a30", "accountId": "571032923833", "status": "Failure", "eventType": "NamedShadowCountForDynamicGroupQueryLimitExceeded", "thingName": "TestThing", "reason": "A maximum of 25 named shadows per thing are processed for non-data source specific query terms in dynamic groups." }

일반적인 CloudWatch Logs 속성

모든 CloudWatch Logs 로그 항목에는 다음 속성이 포함됩니다.

accountId

AWS 계정 ID.

eventType

로그가 작성된 이벤트 유형입니다. 이벤트 유형의 값은 로그 항목을 생성한 이벤트에 따라 다릅니다. 각 로그 항목 설명에는 해당 로그 항목의 eventType 값이 포함됩니다.

logLevel

사용 중인 로그 수준입니다. 자세한 정보는 로그 수준을 참조하십시오.

status

요청 상태입니다.

timestamp

클라이언트가 AWS IoT 메시지 브로커에 연결된 시점의 사람이 읽을 수 있는 UTC 타임스탬프입니다.

traceId

특정 요청에서 모든 로그의 연관성을 나타내는 데 사용할 수 있도록 무작위로 생성되는 식별자입니다.