

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

# Amazon WorkMail과 함께 CloudWatch Insights 사용
<a name="cw-insights"></a>

Amazon WorkMail 콘솔에서 이메일 이벤트 로깅을 켰거나 CloudWatch Logs로의 감사 로그 전송이 활성화된 경우 Amazon CloudWatch Logs Insights를 사용하여 이벤트 로그를 쿼리할 수 있습니다. 이메일 이벤트 로깅 켜기에 대한 자세한 내용은 [이메일 이벤트 로깅 활성화](tracking.md) 단원을 참조하십시오. CloudWatch Logs Insights에 대한 자세한 내용은 *Amazon CloudWatch Logs 사용 설명서*에서 [CloudWatch Logs Insights를 사용하여 로그 데이터 분석](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)을 참조하세요.

다음 예제에서는 일반적인 이메일 이벤트에 대한 CloudWatch Logs를 쿼리하는 방법을 보여줍니다. CloudWatch 콘솔에서 이러한 쿼리를 실행합니다. 이러한 쿼리를 실행하는 방법에 대한 지침은 *Amazon CloudWatch Logs 사용 설명서*의 [자습서: 샘플 쿼리 실행 및 수정](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_RunSampleQuery.html)을 참조하세요.

**Example 사용자 A가 보낸 이메일을 사용자 B가 받지 못한 이유 확인**  
다음 코드 예제는 사용자 A가 사용자 B에게 보낸 이메일을 타임스탬프별로 정렬하여 쿼리하는 방법을 보여줍니다.  

```
fields @timestamp, traceId

| sort @timestamp asc
| filter (event.from like /(?i)userA@example.com/
and event.eventName = "OUTGOING_EMAIL_SUBMITTED"
and event.recipients.0 like /(?i)userB@example.com/)
```
보낸 메시지와 추적 ID를 반환합니다. 다음 코드 예제의 추적 ID를 사용하여 보낸 메시지의 이벤트 로그를 쿼리합니다.  

```
fields @timestamp, event.eventName
| sort @timestamp asc
| filter traceId = "$TRACEID"
```
그러면 이메일 메시지 ID와 이메일 이벤트가 반환됩니다. `OUTGOING_EMAIL_SENT`는 이메일을 보냈음을 나타내고, `OUTGOING_EMAIL_BOUNCED`는 이메일이 반송되었음을 나타냅니다. 이메일의 수신 여부를 확인하려면 다음 코드 예제에서 메시지 ID를 사용하여 쿼리합니다.  

```
fields @timestamp, event.eventName
| sort @timestamp asc
| filter event.messageId like "$MESSAGEID"
```
동일한 메시지 ID를 가지고 있으므로 수신된 메시지도 반환해야 합니다. 배달을 쿼리하려면 다음 코드 예제의 추적 ID를 사용합니다.  

```
fields @timestamp, event.eventName
| sort @timestamp asc
| filter traceId = "$TRACEID"
```
그러면 배달 작업 및 적용 가능한 규칙 작업이 반환됩니다.  
 

**Example 사용자 또는 도메인으로부터 받은 모든 메일 확인**  
다음 코드 예제는 지정된 사용자에게 받은 모든 메일을 쿼리하는 방법을 보여줍니다.  

```
fields @timestamp, event.eventName
| sort @timestamp asc
| filter (event.from like /(?i)user@example.com/ and event.eventName = "ORGANIZATION_EMAIL_RECEIVED")
```
다음 코드 예제는 지정된 도메인에서 받은 모든 메일을 쿼리하는 방법을 보여줍니다.  

```
fields @timestamp, event.eventName
| sort @timestamp asc
| filter (event.from like "example.com" and event.eventName = "ORGANIZATION_EMAIL_RECEIVED")
```

**Example 반송된 이메일을 보낸 사람 확인**  
다음 코드 예제는 반송된 발신 이메일을 쿼리하는 방법을 보여주고 반송 이유도 반환합니다.  

```
fields @timestamp, event.destination, event.reason
| sort @timestamp desc
| filter event.eventName = "OUTGOING_EMAIL_BOUNCED"
```
다음 코드 예제는 반송된 수신 이메일을 쿼리하는 방법을 보여줍니다. 반송된 수신자의 이메일 주소와 반송 이유도 반환합니다.  

```
fields @timestamp, event.bouncedRecipient.emailAddress, event.bouncedRecipient.reason, event.bouncedRecipient.status
| sort @timestamp desc
| filter event.eventName = "INCOMING_EMAIL_BOUNCED"
```

**Example 어떤 도메인을 스팸을 보내는지 확인**  
다음 코드 예제는 조직에서 스팸을 받은 수신자를 쿼리하는 방법을 보여줍니다.  

```
stats count(*) as c by event.recipients.0
| filter (event.eventName = "ORGANIZATION_EMAIL_RECEIVED" and event.spamVerdict = "FAIL")
| sort c desc
```
다음 코드 예제는 스팸 이메일의 발신자를 쿼리하는 방법을 보여줍니다.  

```
fields @timestamp, event.recipients.0, event.sender, event.from
| sort @timestamp asc
| filter (event.spamVerdict = "FAIL")
```

**Example 이메일이 수신자의 스팸 폴더로 전송된 이유 확인**  
다음 코드 예제는 제목으로 필터링하여 스팸으로 식별된 이메일을 쿼리하는 방법을 보여줍니다.  

```
fields @timestamp, event.recipients.0, event.spamVerdict, event.spfVerdict, event.dkimVerdict, event.dmarcVerdict
| sort @timestamp asc
| filter event.subject like /(?i)$SUBJECT/ and event.eventName = "ORGANIZATION_EMAIL_RECEIVED"
```
이메일 추적 ID로 쿼리하여 이메일의 모든 이벤트를 볼 수도 있습니다.  
 

**Example 이메일 흐름 규칙과 일치하는 이메일 확인**  
다음 코드 예제는 아웃바운드 이메일 흐름 규칙과 일치하는 이메일을 쿼리하는 방법을 보여줍니다.  

```
fields @timestamp, event.ruleName, event.ruleActions.0.action
| sort @timestamp desc
| filter event.ruleType = "OUTBOUND_RULE"
```
다음 코드 예제는 인바운드 이메일 흐름 규칙과 일치하는 이메일을 쿼리하는 방법을 보여줍니다.  

```
fields @timestamp, event.ruleName, event.ruleActions.0.action, event.ruleActions.0.recipients.0
| sort @timestamp desc
| filter event.ruleType = "INBOUND_RULE"
```

**Example 조직에서 주고 받은 이메일 수 확인**  
다음 코드 예제는 조직의 각 수신자가 받은 이메일 수를 쿼리하는 방법을 보여줍니다.  

```
stats count(*) as c by event.recipient
| filter event.eventName = "MAILBOX_EMAIL_DELIVERED"
| sort c desc
```
다음 코드 예제는 조직의 각 발신자가 보낸 이메일 수를 쿼리하는 방법을 보여줍니다.  

```
stats count(*) as c by event.from
| filter event.eventName = "OUTGOING_EMAIL_SUBMITTED"
| sort c desc
```