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

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

CloudWatch 로그 AWS IoT 로그 항목

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

메시지 브로커 로그 항목

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

Connect 로그 항목

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

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 로그 속성 뿐만 아니라 Connect 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

principalId

요청하는 보안 주체의 ID입니다.

프로토콜

요청에 사용된 프로토콜. 유효한 값은 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 로그 속성 뿐만 아니라 Disconnect 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

principalId

요청하는 보안 주체의 ID입니다.

프로토콜

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

sourceIp

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

sourcePort

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

reason

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

details

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

disconnectReason

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

GetRetainedMessage 로그 항목

AWS IoT 메시지 브로커는 호출 GetRetainedMessageGetRetainedMessage값이 있는 로그 항목을 생성합니다. eventType

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 로그 속성 뿐만 아니라 GetRetainedMessage 로그 항목에는 다음과 같은 속성이 포함됩니다.

마지막 ModifiedDate

보존된 메시지를 저장한 Epoch 날짜 및 시간 (밀리초) AWS IoT

프로토콜

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

qos

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

topicName

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

ListRetainedMessage 로그 입력

AWS IoT 메시지 브로커는 호출 ListRetainedMessageListRetainedMessages값이 있는 로그 항목을 생성합니다. eventType

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 로그 속성 뿐만 아니라 ListRetainedMessage 로그 항목에는 다음과 같은 속성이 포함됩니다.

프로토콜

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

Publish-In 로그 항목

AWS IoT 메시지 브로커는 MQTT 메시지를 수신하면 o가 포함된 로그 항목을 생성합니다. 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 로그 속성 뿐만 아니라 Publish-In 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

principalId

요청하는 보안 주체의 ID입니다.

프로토콜

요청에 사용된 프로토콜. 유효한 값은 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 로그 속성 뿐만 아니라 Publish-Out 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

principalId

요청하는 보안 주체의 ID입니다.

프로토콜

요청에 사용된 프로토콜. 유효한 값은 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 로그 속성 외에 Queued 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

details
Server Error

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

프로토콜

요청에 사용된 프로토콜. 값은 항상 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 로그 속성 외에 Queued 성공 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

프로토콜

요청에 사용된 프로토콜. 값은 항상 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 로그 속성 외에 Queued 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

details
Throttled while queueing offline message

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

프로토콜

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

qos

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

topicName

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

Subscribe 로그 항목

AWS IoT 메시지 브로커는 MQTT 클라이언트가 주제를 Subscribe 구독할 때 eventType OF를 사용하여 로그 항목을 생성합니다.

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 로그 속성 뿐만 아니라 Subscribe 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

principalId

요청하는 보안 주체의 ID입니다.

프로토콜

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

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 로그 속성MQTT 3 구독 로그 항목 속성 외에도 MQTT 5 Subscribe 로그 항목에는 다음 속성이 포함됩니다.

구독

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

서버 인증서 OCSP 로그 항목

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

OCSP 로그 항목 검색 StapleData

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

StapleData 검색/OCSP 로그 항목 예제

다음은 의 로그 입력 예제입니다. 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 로그 속성

reason

작업이 실패하는 이유.

도메인 ConfigName

도메인 구성의 이름.

연결 세부 정보

연결 세부 정보에 대한 간략한 설명

  • http StatusCode

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

  • ocsp ResponderUri

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

  • sourceIp

    서버의 소스 IP 주소. AWS IoT Core

  • 타겟 IP

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

ocsp RequestDetails

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

  • 요청자 이름

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

  • 요청 CertId

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

ocsp ResponseDetails

OCSP 응답에 대한 세부 정보

  • 응답 CertId

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

  • OCSP ResponseStatus

    OCSP 응답의 상태입니다.

  • 인증서 상태

    인증서의 상태입니다.

  • 서명

    신뢰할 수 있는 주체의 응답에 적용하는 서명.

  • 이것은 UpdateTime

    상태가 표시된 시간이 정확한 것으로 알려져 있습니다.

  • 다음 UpdateTime

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

  • 생산되었습니다. AtTime

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

  • 스테이플 크기 DataPayload

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

Device Shadow 로그 항목

AWS IoT Device Shadow 서비스는 다음 이벤트에 대한 로그 항목을 생성합니다.

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 로그 속성 뿐만 아니라 DeleteThingShadow 로그 항목에는 다음과 같은 속성이 포함됩니다.

디바이스 ShadowName

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

프로토콜

요청에 사용된 프로토콜. 유효한 값은 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 로그 속성 뿐만 아니라 GetThingShadow 로그 항목에는 다음과 같은 속성이 포함됩니다.

디바이스 ShadowName

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

프로토콜

요청에 사용된 프로토콜. 유효한 값은 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 로그 속성 뿐만 아니라 UpdateThingShadow 로그 항목에는 다음과 같은 속성이 포함됩니다.

디바이스 ShadowName

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

프로토콜

요청에 사용된 프로토콜. 유효한 값은 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 로그 속성 뿐만 아니라 FunctionExecution 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

principalId

요청하는 보안 주체의 ID입니다.

resources

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

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

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

clientId

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

principalId

요청하는 보안 주체의 ID입니다.

resources

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

ruleAction

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

ruleName

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

topicName

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

RuleMatch 로그 입력

AWS IoT 규칙 엔진은 메시지 브로커가 규칙과 일치하는 메시지를 RuleMatch 수신할 때 o를 사용하여 로그 항목을 생성합니다. eventType

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 로그 속성 뿐만 아니라 RuleMatch 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

principalId

요청하는 보안 주체의 ID입니다.

ruleName

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

topicName

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

RuleExecutionThrottled 로그 입력

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

RuleExecutionThrottled 로그 입력 예제

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

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

clientId

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

details

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

principalId

요청하는 보안 주체의 ID입니다.

reason

문자열 "RuleExecution스로틀”

ruleName

트리거할 규칙의 이름.

topicName

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

RuleNotFound 로그 입력

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

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 로그 속성 뿐만 아니라 RuleNotFound 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

details

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

principalId

요청하는 보안 주체의 ID입니다.

reason

문자열 "RuleNot찾음”

ruleName

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

topicName

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

StartingRuleExecution 로그 항목

AWS IoT 규칙 엔진이 규칙 작업을 트리거하기 시작하면 o가 포함된 로그 항목을 생성합니다StartingRuleExecution. eventType

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 로그 속성 뿐만 아니라 rule- 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

principalId

요청하는 보안 주체의 ID입니다.

ruleAction

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

ruleName

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

topicName

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

Job 로그 항목

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

DescribeJobExecution 로그 항목

AWS IoT Jobs 서비스는 서비스가 작업 실행을 설명해 eventType 달라는 요청을 받으면 로그와 함께 로그 항목을 생성합니다. DescribeJobExecution

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 로그 속성 뿐만 아니라 GetJobExecution 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

clientToken

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

details

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

jobId

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

프로토콜

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

topicName

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

GetPendingJobExecution 로그 입력

AWS IoT Jobs 서비스는 서비스가 작업 실행 요청을 받을 GetPendingJobExecution 때 로그와 함께 로그 항목을 생성합니다. eventType

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 로그 속성 뿐만 아니라 GetPendingJobExecution 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

clientToken

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

details

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

프로토콜

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

topicName

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

ReportFinalJobExecutionCount 로그 입력

AWS IoT Jobs 서비스는 작업이 완료될 entryType ReportFinalJobExecutionCount 때 로그와 함께 로그 항목을 생성합니다.

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 로그 속성 뿐만 아니라 ReportFinalJobExecutionCount 로그 항목에는 다음과 같은 속성이 포함됩니다.

details

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

jobId

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

StartNextPendingJobExecution 로그 입력

보류 중인 다음 작업 실행을 시작하라는 요청을 받으면 AWS IoT 작업 서비스는 o가 포함된 로그 항목을 생성합니다StartNextPendingJobExecution. eventType

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 로그 속성 뿐만 아니라 StartNextPendingJobExecution 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

clientToken

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

details

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

프로토콜

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

topicName

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

UpdateJobExecution 로그 입력

AWS IoT Jobs 서비스는 서비스가 작업 실행 업데이트 요청을 받을 UpdateJobExecution 때 로그와 함께 로그 항목을 생성합니다. eventType

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 로그 속성 뿐만 아니라 UpdateJobExecution 로그 항목에는 다음과 같은 속성이 포함됩니다.

clientId

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

clientToken

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

details

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

jobId

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

프로토콜

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

topicName

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

versionNumber

작업 실행 버전입니다.

Device provisioning 로그 항목

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

GetDeviceCredentials 로그 입력

AWS IoT 디바이스 프로비저닝 서비스는 클라이언트가 GetDeviceCredential GetDeviceCredential 호출할 때 로그가 꺼진 eventType 상태로 로그 항목을 생성합니다.

GetDevice자격 증명 로그 항목 예제

{ "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 로그 속성 뿐만 아니라 GetDeviceCredentials 로그 항목에는 다음과 같은 속성이 포함됩니다.

details

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

디바이스 CertificateId

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

ProvisionDevice 로그 입력

AWS IoT 디바이스 프로비저닝 서비스는 클라이언트가 ProvisionDevice ProvisionDevice 호출할 때 로그가 꺼진 eventType 상태로 로그 항목을 생성합니다.

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 로그 속성 뿐만 아니라 ProvisionDevice 로그 항목에는 다음과 같은 속성이 포함됩니다.

details

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

디바이스 CertificateId

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

프로비저닝 TemplateName

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

Dynamic thing group 로그 항목

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

AddThingToDynamicThingGroupsFailed 로그 입력

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

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

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

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

AddThingToDynamicThingGroupsFailed 로그 입력 예제

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

{ "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 로그 속성 뿐만 아니라 AddThingToDynamicThingGroupsFailed 로그 항목에는 다음과 같은 속성이 포함됩니다.

동적 ThingGroup 이름

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

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 로그 속성

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

accountId

사용자 AWS 계정 ID.

eventType

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

logLevel

사용 중인 로그 수준입니다. 자세한 내용은 로그 수준 단원을 참조하세요.

status

요청 상태입니다.

타임스탬프

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

traceId

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