

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

# CloudWatch Logs AWS IoT 로그 항목
<a name="cwl-format"></a>

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

**Topics**
+ [메시지 브로커 로그 항목](#message-broker-logs)
+ [서버 인증서 OCSP 로그 항목](#server-ocsp-logs)
+ [Device Shadow 로그 항목](#device-shadow-logs)
+ [Rules engine 로그 항목](#rule-engine-logs)
+ [Job 로그 항목](#job-logs)
+ [Device provisioning 로그 항목](#provision-logs)
+ [Dynamic thing group 로그 항목](#dynamic-group-logs)
+ [플릿 인덱싱 로그 항목](#fleet-indexing-logs)
+ [일반적인 CloudWatch Logs 속성](#cwl-common-attributes)

## 메시지 브로커 로그 항목
<a name="message-broker-logs"></a>

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

**Topics**
+ [Connect 로그 항목](#log-mb-connect)
+ [Disconnect 로그 항목](#log-mb-disconnect)
+ [Ping 로그 항목](#log-mb-ping)
+ [Connection.AuthNError 로그 항목](#log-mb-authn-error)
+ [DeleteConnection 로그 항목](#log-mb-delete-connection)
+ [GetRetainedMessage 로그 항목](#log-mb-get-retain)
+ [ListRetainedMessage 로그 항목](#log-mb-list-retain)
+ [ListSubscriptions 로그 항목](#log-mb-list-subscriptions)
+ [GetConnection 로그 항목](#log-mb-get-connection)
+ [Publish-In 로그 항목](#log-mb-publish-in)
+ [Publish-Out 로그 항목](#log-mb-publish-out)
+ [대기 중 로그 항목](#log-mb-queued)
+ [Subscribe 로그 항목](#log-mb-subscribe)
+ [로그 항목 구독 취소](#log-mb-unsubscribe)
+ [SendDirectMessage 로그 항목](#log-mb-send-direct-message)

### Connect 로그 항목
<a name="log-mb-connect"></a>

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

#### Connect 로그 항목 예제
<a name="log-mb-connect.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`Connect` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

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

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

### Disconnect 로그 항목
<a name="log-mb-disconnect"></a>

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

#### Disconnect 로그 항목 예제
<a name="log-mb-disconnect.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`Disconnect` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

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

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

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

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

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

### Ping 로그 항목
<a name="log-mb-ping"></a>

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

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

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

#### Ping 로그 항목 예제(성공)
<a name="log-mb-ping.example"></a>

```
{
    "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 로그 항목 예제(실패)
<a name="log-mb-ping.example-failure"></a>

```
{
    "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 속성](#cwl-common-attributes) 뿐만 아니라 `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 로그 항목
<a name="log-mb-authn-error"></a>

 AWS IoT 메시지 브로커는 인증 실패로 인해 클라이언트 연결 시도가 거부될 `Connection.AuthNError` 때 `eventType`이 인 로그 항목을 생성합니다. `logLevel`이 로그 항목의는 항상 `ERROR` 이고 `status`는 항상 입니다`Failure`. 이 로그 항목은 [`Connection.AuthNError`](metrics_dimensions.md#authentication-metrics) CloudWatch 지표에 해당합니다.

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

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

#### Connection.AuthNError 로그 항목 예제
<a name="log-mb-authn-error.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 뿐만 아니라 `Connection.AuthNError` 로그 항목에는 다음과 같은 속성이 포함됩니다.

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

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

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

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

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

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

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

targetPort  
연결의 대상 포트입니다.

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

reason  
클라이언트 인증이 실패한 이유입니다. 가능한 값 목록은 [Connection.AuthNError 오류 코드](#log-mb-authn-error-codes) 섹션을 참조하세요.

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

#### Connection.AuthNError 오류 코드
<a name="log-mb-authn-error-codes"></a>

다음 표에는 `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 로그 항목
<a name="log-mb-delete-connection"></a>

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

#### DeleteConnection 로그 항목 예제
<a name="log-mb-delete-connection.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`DeleteConnection` 로그 항목에는 다음 속성이 포함됩니다.

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

principalId  
요청하는 위탁자의 ID입니다. 위탁자 ID를 사용하여 위탁자를 식별하는 방법에 대한 자세한 내용은 *IAM 사용 설명서*의 [IAM ID 및 자격 증명 비교](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html)를 참조하세요.

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

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

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

### GetRetainedMessage 로그 항목
<a name="log-mb-get-retain"></a>

 AWS IoT 메시지 브로커는가 [`GetRetainedMessage`](https://docs.aws.amazon.com/iot/latest/developerguide/API_iotdata_GetRetainedMessage.html) 호출될 `GetRetainedMessage` 때 `eventType`이 인 로그 항목을 생성합니다.

#### GetRetainedMessage 로그 항목 예제
<a name="log-mb-get-retain-example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`GetRetainedMessage` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

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

### ListRetainedMessage 로그 항목
<a name="log-mb-list-retain"></a>

 AWS IoT 메시지 브로커는가 [`ListRetainedMessages`](/iot/latest/developerguide/API_iotdata_ListRetainedMessages.html) 호출될 `ListRetainedMessage` 때 `eventType`이 인 로그 항목을 생성합니다.

#### ListRetainedMessage 로그 항목 예제
<a name="log-mb-list-retain-example"></a>

```
{
    "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 속성](#cwl-common-attributes) 로그`ListRetainedMessage` 항목에는 외에도 다음 속성이 포함됩니다.

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

### ListSubscriptions 로그 항목
<a name="log-mb-list-subscriptions"></a>

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

#### ListSubscriptions 로그 항목 예제
<a name="log-mb-list-subscriptions.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 뿐만 아니라 `ListSubscriptions` 로그 항목에는 다음과 같은 속성이 포함됩니다.

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

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

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

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

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

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

### GetConnection 로그 항목
<a name="log-mb-get-connection"></a>

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

#### GetConnection 로그 항목 예제
<a name="log-mb-get-connection.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 뿐만 아니라 `GetConnection` 로그 항목에는 다음과 같은 속성이 포함됩니다.

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

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

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

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

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

### Publish-In 로그 항목
<a name="log-mb-publish-in"></a>

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

#### Publish-In 로그 항목 예제
<a name="log-mb-publish-in.example"></a>

```
{
        "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 속성](#cwl-common-attributes) 외에도`Publish-In` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

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

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

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

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

### Publish-Out 로그 항목
<a name="log-mb-publish-out"></a>

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

#### Publish-Out 로그 항목 예제
<a name="log-mb-publish-out.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`Publish-Out` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

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

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

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

### 대기 중 로그 항목
<a name="log-mb-queued"></a>

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

#### 대기 중 서버 오류 로그 항목 예제
<a name="log-mb-queued.server-error.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 서버`Queued` 오류 로그 항목에는 외에도 다음 속성이 포함됩니다.

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

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

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

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

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

#### 대기 중 성공 로그 항목 예시
<a name="log-mb-queued.success.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 성공 로그 항목에는 외에도`Queued` 다음 속성이 포함됩니다.

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

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

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

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

#### 대기 중 제한된 로그 항목 예시
<a name="log-mb-queued.throttled.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 제한 로그 항목에는 외에도`Queued` 다음 속성이 포함됩니다.

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

details  
**`Throttled while queueing offline message`**  
클라이언트가 ` [Queued messages per second per account](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#genref_queued_messages_per_second_per_account) ` 제한을 초과하여 메시지가 저장되지 않았습니다.

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

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

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

### Subscribe 로그 항목
<a name="log-mb-subscribe"></a>

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

#### MQTT 3 구독 로그 항목 예시
<a name="log-mb-connect.example.subscribe"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`Subscribe` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

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

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

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

#### MQTT 5 구독 로그 항목 예시
<a name="log-mb-connect.example.subscribe.mqtt5"></a>

```
{
	"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 속성](#cwl-common-attributes) 및 [MQTT 3 구독 로그 항목 속성](#log-mb-connect.example.subscribe) 외에도 MQTT 5 `Subscribe` 로그 항목에는 다음 속성이 포함됩니다.

구독  
구독 요청의 요청된 주제와 개별 MQTT 5 사유 코드 간의 매핑 목록입니다. 자세한 내용은 [MQTT 사유 코드](https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html#mqtt5-reason-codes)를 참조하세요.

### 로그 항목 구독 취소
<a name="log-mb-unsubscribe"></a>

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

#### MQTT 구독 취소 로그 항목 예시
<a name="log-mb-connect.example.unsubscribe"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`Unsubscribe` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

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

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

### SendDirectMessage 로그 항목
<a name="log-mb-send-direct-message"></a>

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

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

#### SendDirectMessage 성공 로그 항목 예제
<a name="log-mb-send-direct-message.success.example"></a>

```
{
    "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 실패 로그 항목 예제
<a name="log-mb-send-direct-message.failure.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 뿐만 아니라 `SendDirectMessage` 로그 항목에는 다음과 같은 속성이 포함됩니다.

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

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

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

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

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

reason  
실패의 이유 코드입니다.

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

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

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

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

#### 사유 코드
<a name="log-mb-send-direct-message-reason-codes"></a>

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


**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 로그 항목
<a name="server-ocsp-logs"></a>

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

**Topics**
+ [RetrieveOCSPStapleData 로그 항목](#log-retrieve-ocsp-staple)
+ [프라이빗 엔드포인트에 대한 RetrieveOCSPStapleData 로그 항목](#log-retrieve-ocsp-staple-private-endpoint)

### RetrieveOCSPStapleData 로그 항목
<a name="log-retrieve-ocsp-staple"></a>

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

#### RetrieveOCSPStapleData 로그 항목 예시
<a name="log-retrieve-ocsp-staple.example"></a>

다음은 `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 속성](#cwl-common-attributes) 외에도 로그 항목에는 다음 속성이 포함됩니다.

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 로그 항목
<a name="log-retrieve-ocsp-staple-private-endpoint"></a>

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

#### 프라이빗 엔드포인트에 대한 RetrieveOCSPStapleData 로그 항목 예시
<a name="log-retrieve-ocsp-staple-private-endpoint.example"></a>

다음은 `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 속성](#cwl-common-attributes) 및 [RetrieveOCSPStapleData 로그 항목](https://docs.aws.amazon.com/iot/latest/developerguide/cwl-format.html#log-retrieve-ocsp-staple)의 속성 외에도 프라이빗 엔드포인트의 로그 항목에는 다음 속성이 포함됩니다.

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

  Lambda 함수의 ARN입니다.
+ sourceArn

  도메인 구성의 ARN입니다.

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

## Device Shadow 로그 항목
<a name="device-shadow-logs"></a>

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

**Topics**
+ [DeleteThingShadow 로그 항목](#log-shadow-delete-thing-shadow)
+ [GetThingShadow 로그 항목](#log-shadow-get-thing-shadow)
+ [UpdateThingShadow 로그 항목](#log-shadow-update-thing-shadow)

### DeleteThingShadow 로그 항목
<a name="log-shadow-delete-thing-shadow"></a>

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

#### DeleteThingShadow 로그 항목 예제
<a name="log-shadow-delete-thing-shadow.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`DeleteThingShadow` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

### GetThingShadow 로그 항목
<a name="log-shadow-get-thing-shadow"></a>

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

#### GetThingShadow 로그 항목 예제
<a name="log-shadow-get-thing-shadow.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`GetThingShadow` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

### UpdateThingShadow 로그 항목
<a name="log-shadow-update-thing-shadow"></a>

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

#### UpdateThingShadow 로그 항목 예제
<a name="log-shadow-update-thing-shadow.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`UpdateThingShadow` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

## Rules engine 로그 항목
<a name="rule-engine-logs"></a>

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

**Topics**
+ [FunctionExecution 로그 항목](#log-rules-fn-exec)
+ [RuleExecution 로그 항목](#log-rules-rule-ex)
+ [RuleMatch 로그 항목](#log-rules-rule-match)
+ [RuleEvaluation 조절된 로그 항목](#log-rules-rule-eval-throttled)
+ [RuleExecutionThrottled 로그 항목](#log-rules-rule-msg-throttled)
+ [RuleNotFound 로그 항목](#log-rules-rule-not-found)
+ [StartingRuleExecution 로그 항목](#log-rules-start-rule-ex)

### FunctionExecution 로그 항목
<a name="log-rules-fn-exec"></a>

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

#### FunctionExecution 로그 항목 예제
<a name="log-rules-fn-exec.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`FunctionExecution` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

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

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

### RuleExecution 로그 항목
<a name="log-rules-rule-ex"></a>

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

#### RuleExecution 로그 항목 예제
<a name="log-rules-rule-ex.example"></a>

```
{
    "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 예제
<a name="log-rules-rule-ex-batching.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 뿐만 아니라 `RuleExecution` 로그 항목에는 다음과 같은 속성이 포함됩니다.

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

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

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

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

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

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

### RuleMatch 로그 항목
<a name="log-rules-rule-match"></a>

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

#### RuleMatch 로그 항목 예제
<a name="log-rules-rule-match.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`RuleMatch` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

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

### RuleEvaluation 조절된 로그 항목
<a name="log-rules-rule-eval-throttled"></a>

 AWS IoT 규칙 엔진이 계정당 초당 규칙 평가에 대한 규칙 평가를 제한하면 `eventType` `RuleEvaluation` 및 이유가 인 로그 항목이 생성됩니다`Throttled`.

#### RuleEvaluation 스로틀 로그 항목 예제
<a name="log-rules-rule-eval-throttled.example"></a>

```
{
    "timestamp": "2024-11-13 07:32:27.856",
    "logLevel": "ERROR",
    "traceId": "82995222-049b-ee5c-0cd4-15635f052ed3",
    "accountId": "123456789012",
    "status": "Failure",
    "eventType": "RuleEvaluation",
    "clientId": "57b3b41a-c726-44ab-bcd4-2cc1c2cc4295",
    "topicName": "N/A",
    "ruleName": "N/A",
    "principalId": "N/A",
    "reason": "Throttled",
    "details": "Exceeded Rule Evaluations per second per account limit"
}
```

[일반적인 CloudWatch Logs 속성](#cwl-common-attributes) 뿐만 아니라 `RuleEvaluation` 로그 항목에는 다음과 같은 속성이 포함됩니다.

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

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

principalId  
요청하는 위탁자의 ID입니다. 이 로그 항목에 대해 항상 해당 사항 없음.

reason  
문자열 "Throttled"입니다.

ruleName  
규칙의 이름입니다. 이 로그 항목에 대해 항상 해당 사항 없음.

topicName  
게시된 주제의 이름입니다. 이 로그 항목에 대해 항상 해당 사항 없음.

### RuleExecutionThrottled 로그 항목
<a name="log-rules-rule-msg-throttled"></a>

규칙 엔진에 의해 규칙 평가가 제한되는 경우 존재하지 않는 규칙에 대한 과도한 기본 수집 게시 요청과 같은 악`eventType`의적인 동작으로 인해 규칙 AWS IoT 엔진은가 인 로그 항목을 생성합니다`RuleExecutionThrottled`.

#### RuleExecutionThrottled 로그 항목 예시
<a name="log-rules-rule-msg-throttled.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`RuleExecutionThrottled` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

reason  
'RuleExecutionThrottled' 문자열

ruleName  
트리거할 규칙의 이름.

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

### RuleNotFound 로그 항목
<a name="log-rules-rule-not-found"></a>

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

#### RuleNotFound 로그 항목 예제
<a name="log-rules-rule-not-found.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`RuleNotFound` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

reason  
문자열 "RuleNotFound".

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

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

### StartingRuleExecution 로그 항목
<a name="log-rules-start-rule-ex"></a>

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

#### StartingRuleExecution 로그 항목 예제
<a name="log-rules-start-rule-ex.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`rule-` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

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

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

## Job 로그 항목
<a name="job-logs"></a>

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

**Topics**
+ [DescribeJobExecution 로그 항목](#log-job-describe-job-ex)
+ [GetPendingJobExecution 로그 항목](#log-job-get-pending-job-ex)
+ [ReportFinalJobExecutionCount 로그 항목](#log-job-report-final-job-ex-count)
+ [StartNextPendingJobExecution 로그 항목](#log-job-start-next-pending-job-ex)
+ [UpdateJobExecution 로그 항목](#log-job-update-job-ex)

### DescribeJobExecution 로그 항목
<a name="log-job-describe-job-ex"></a>

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

#### DescribeJobExecution 로그 항목 예제
<a name="log-job-describe-job-ex.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`GetJobExecution` 로그 항목에는 다음 속성이 포함됩니다.

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

clientToken  
요청 멱등성을 보장하는 고유한 대/소문자 구분 식별자입니다. 자세한 내용은 [멱등성 보장 방법(How to Ensure Idempotency)](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) 단원을 참조하세요.

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

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

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

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

### GetPendingJobExecution 로그 항목
<a name="log-job-get-pending-job-ex"></a>

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

#### GetPendingJobExecution 로그 항목 예제
<a name="log-job-get-pending-job-ex.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`GetPendingJobExecution` 로그 항목에는 다음 속성이 포함됩니다.

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

clientToken  
요청 멱등성을 보장하는 고유한 대/소문자 구분 식별자입니다. 자세한 내용은 [멱등성 보장 방법(How to Ensure Idempotency)](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) 단원을 참조하세요.

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

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

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

### ReportFinalJobExecutionCount 로그 항목
<a name="log-job-report-final-job-ex-count"></a>

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

#### ReportFinalJobExecutionCount 로그 항목 예제
<a name="log-job-report-final-job-ex-count.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`ReportFinalJobExecutionCount` 로그 항목에는 다음 속성이 포함됩니다.

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

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

### StartNextPendingJobExecution 로그 항목
<a name="log-job-start-next-pending-job-ex"></a>

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

#### StartNextPendingJobExecution 로그 항목 예제
<a name="log-job-start-next-pending-job-ex.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`StartNextPendingJobExecution` 로그 항목에는 다음 속성이 포함됩니다.

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

clientToken  
요청 멱등성을 보장하는 고유한 대/소문자 구분 식별자입니다. 자세한 내용은 [멱등성 보장 방법(How to Ensure Idempotency)](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) 단원을 참조하세요.

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

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

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

### UpdateJobExecution 로그 항목
<a name="log-job-update-job-ex"></a>

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

#### UpdateJobExecution 로그 항목 예제
<a name="log-job-update-job-ex.example"></a>

```
{
    "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 속성](#cwl-common-attributes) 외에도`UpdateJobExecution` 로그 항목에는 다음 속성이 포함됩니다.

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

clientToken  
요청 멱등성을 보장하는 고유한 대/소문자 구분 식별자입니다. 자세한 내용은 [멱등성 보장 방법(How to Ensure Idempotency)](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) 단원을 참조하세요.

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

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

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

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

versionNumber  
작업 실행 버전입니다.

## Device provisioning 로그 항목
<a name="provision-logs"></a>

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

**Topics**
+ [GetDeviceCredentials 로그 항목](#log-provision-get-device-credentials)
+ [ProvisionDevice 로그 항목](#log-provision-provision-device)

### GetDeviceCredentials 로그 항목
<a name="log-provision-get-device-credentials"></a>

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



#### GetDeviceCredentials 로그 항목 예제
<a name="log-provision-get-device-credentials.example"></a>

```
{
  "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 속성](#cwl-common-attributes) 외에도`GetDeviceCredentials` 로그 항목에는 다음 속성이 포함됩니다.

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

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

### ProvisionDevice 로그 항목
<a name="log-provision-provision-device"></a>

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

#### ProvisionDevice 로그 항목 예제
<a name="log-provision-provision-device.example"></a>

```
{
  "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 속성](#cwl-common-attributes) 외에도`ProvisionDevice` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

## Dynamic thing group 로그 항목
<a name="dynamic-group-logs"></a>

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

**Topics**
+ [AddThingToDynamicThingGroupsFailed 로그 항목](#log-dynthing-add-thing-to-dynamic-thing-groups-failed)

### AddThingToDynamicThingGroupsFailed 로그 항목
<a name="log-dynthing-add-thing-to-dynamic-thing-groups-failed"></a>

 AWS IoT 가 지정된 동적 그룹에 사물을 추가할 수 없는 경우 `eventType`이 인 로그 항목을 생성합니다`AddThingToDynamicThingGroupsFailed`. 사물이 동적 사물 그룹에 추가되기 위한 조건을 충족한 경우 발생하지만 동적 그룹에 추가할 수 없거나 동적 그룹에서 제거되었습니다. 이는 다음과 같은 이유로 발생할 수 있습니다.
+ 사물이 이미 최대 그룹 수에 속합니다.
+ **--override-dynamic-groups** 옵션은 사물을 정적 사물 그룹에 추가하는 데 사용되었습니다. 이를 가능하게 하기 위해 동적 사물 그룹에서 제거되었습니다.

자세한 내용은 [동적 사물 그룹 제한 및 충돌](dynamic-thing-groups.md#dynamic-thing-group-limitations)을 참조하세요.

#### AddThingToDynamicThingGroupsFailed 로그 항목 예제
<a name="log-dynthing-add-thing-to-dynamic-thing-groups-failed.example"></a>

이 예제에서는 `AddThingToDynamicThingGroupsFailed` 오류의 로그 항목을 보여줍니다. 다음 예제에서 *TestThing*은 `dynamicThingGroupNames`에 나열된 동적 사물 그룹에 추가되기 위한 조건을 충족했지만 `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 속성](#cwl-common-attributes) 외에도 `AddThingToDynamicThingGroupsFailed` 로그 항목에는 다음 속성이 포함됩니다.

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

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

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

## 플릿 인덱싱 로그 항목
<a name="fleet-indexing-logs"></a>

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

**Topics**
+ [NamedShadowCountForDynamicGroupQueryLimitExceeded 로그 항목](#log-named-shadow-dynamic-group)

### NamedShadowCountForDynamicGroupQueryLimitExceeded 로그 항목
<a name="log-named-shadow-dynamic-group"></a>

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

#### NamedShadowCountForDynamicGroupQueryLimitExceeded 로그 항목 예제
<a name="log-named-shadow-dynamic-group.example"></a>

이 예에서는 `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 속성
<a name="cwl-common-attributes"></a>

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

accountId  
 AWS 계정 ID.

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

logLevel  
사용 중인 로그 수준입니다. 자세한 정보는 [로그 수준](configure-logging.md#log-level)을 참조하십시오.

status  
요청 상태입니다.

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

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