

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

# AWS Elemental MediaTailor Amazon CloudWatch Logs Insights의 ADS 로그 분석
<a name="monitor-cloudwatch-ads-logs"></a>

Amazon CloudWatch Logs Insights를 사용하여 AWS Elemental MediaTailor 광고 결정 서버(ADS) 로그를 보고 쿼리할 수 있습니다. MediaTailor는 정상적인 처리 및 오류 조건을 위해 이벤트 로그를 CloudWatch로 전송합니다. 로그는 JSON 스키마를 준수합니다. CloudWatch Logs Insights를 통해 기간별로 로그를 선택한 다음 이에 대한 쿼리를 실행할 수 있습니다.

일반적인 내용은 [ CloudWatch Logs 인사이트를 사용하여 로그 데이터 분석을](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 참조하세요.

**참고**  
로그에 액세스하려면 Amazon CloudWatch에 액세스할 수 있는 권한이 필요합니다. 지침은 [Amazon CloudWatch Logs에 대한 권한](monitoring-permissions.md) 섹션을 참조하세요.

**CloudWatch 콘솔을 사용하여 ADS 로그를 보고 쿼리하려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창의 **로그**에서 **Insights**를 선택합니다.

1. 검색 창에를 입력한 **AdDec**다음 드롭다운 목록에서를 선택합니다`MediaTailor/AdDecisionServerInteractions`.

1. (선택 사항) 보고 싶은 기간을 조정합니다.

1. (선택 사항) 대화 상자의 쿼리를 변경합니다. 일반 지침은 [CloudWatch Logs 인사이트 쿼리 구문](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html)을 참조하세요. MediaTailor ADS에 대한 쿼리 예제는 섹션을 참조하세요[ADS 로그 쿼리](querying-the-ads-logs.md).

1. **쿼리 실행**을 선택합니다. 쿼리는 몇 초 정도 걸릴 수 있으며,이 시간 동안 **쿼리 실행** 대신 **취소**가 나타납니다.

1. (선택 사항) 결과를 CSV 파일 형식으로 내보내려면 **작업**을 선택한 후 **Download query results (CSV)(쿼리 결과 다운로드(CSV))**를 선택합니다.

**참고**  
콘솔은 쿼리 결과에 반환되고 내보내는 레코드 수를 제한하므로 대량 데이터의 경우 API, AWS Command Line Interface (AWS CLI) 또는 SDK를 사용합니다.

**Topics**
+ [ADS 로그 쿼리](querying-the-ads-logs.md)

# ADS 로그 쿼리
<a name="querying-the-ads-logs"></a>

CloudWatch Logs Insights는 로그 쿼리를 위한 다양한 옵션을 제공합니다. 쿼리 구문에 대한 자세한 내용은 [CloudWatch Logs 인사이트 쿼리 구문](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html)을 참조하세요. 이 섹션에서는 ADS 로그 쿼리를 시작할 수 있도록 일반적인 쿼리의 예를 제공합니다. 모든 쿼리는 현재 시간 범위 설정의 로그에 대해 실행됩니다.

다음 쿼리에서는 ADS 로그의 모든 정보를 검색합니다.

```
fields @timestamp, eventType, sessionId, requestId, @message
| sort sessionId, @timestamp asc
```

다음 쿼리에서는 ADS에 대한 모든 요청을 검색합니다. 이 쿼리는 MediaTailor 로그에 대한 요청 헤더 콘텐츠를 검색하는 방법을 보여줍니다.

```
fields @timestamp, adsRequestUrl, requestHeaders.0.value as @userAgent, requestHeaders.1.value as @xForwardedFor, sessionId, requestId
| filter eventType = "MAKING_ADS_REQUEST"
| sort @timestamp asc
```

다음 쿼리는 지정된 세션에 대해 삽입된 MediaTailor 광고를 검색합니다.

```
fields @timestamp, sessionId, requestId, @message
| filter eventType = "FILLED_AVAIL"
| sort @timestamp asc
```

다음 쿼리는 MediaTailor가 플레이어를 대신하여 호출한 추적 URLs을 검색합니다.

```
fields @timestamp, beaconInfo.trackingEvent, beaconInfo.beaconUri, beaconInfo.headers.0.value as @userAgent, beaconInfo.headers.1.value as @xForwardedFor, sessionId, requestId
| filter eventType = "BEACON_FIRED"
| sort @timestamp asc
```

다음 쿼리에서는 `sessionId`를 기준으로 결과를 필터링하여 특정 재생 세션에 대한 정보를 검색합니다.

```
fields @timestamp, eventType, sessionId, requestId, @message
| filter sessionId = "0aaf6507-c6f9-4884-bfe7-f2f841cb8195"
| sort @timestamp asc
```

다음 쿼리에서는 `requestId`를 기준으로 결과를 필터링하여 단일 요청에 대한 정보를 검색합니다.

```
fields @timestamp, eventType, sessionId, requestId, @message
| filter requestId = "f5d3cf39-6258-4cf1-b3f6-a34ff8bf641d"
| sort @timestamp asc
```

다음 쿼리에서는 기록된 각 이벤트 유형에 대해 로그 항목의 개수를 검색합니다.

```
fields eventType
| stats count() as @eventCount by eventType
```

다음 쿼리에서는 건너뛴 광고가 있었던 모든 가능 구간에 대해 가능 구간 ID와 건너뛴 광고의 목록을 검색합니다.

```
fields avail.availId
| parse @message '"skippedAds":[*]' as @skippedAdsList
| filter ispresent(@skippedAdsList)
```