

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

# Amazon CloudWatch Logs에 직접 AWS Elemental MediaTailor 로그 작성
<a name="monitoring-cw-logs"></a>

MediaTailor는 세션 활동 및 광고 결정 서버 상호 작용에 대한 자세한 정보가 포함된 로그를 생성하여 Amazon CloudWatch에 기록합니다. 로그는 세션 중에 발생하는 활동에 대한 순차적 설명을 제공합니다.

MediaTailor는 로그 전송 및 볼륨 할인 요금의 유연성을 위해 판매 로그를 사용할 수도 있습니다. 벤딩된 로그에 대한 자세한 내용은 섹션을 참조하세요[벤딩된 로그 사용](vended-logs.md).

**Topics**
+ [Amazon CloudWatch Logs에 대한 권한](monitoring-permissions.md)
+ [AWS Elemental MediaTailor 채널 어셈블리에 대한 "실행 중" 로그](as-run-log.md)
+ [AWS Elemental MediaTailor Amazon CloudWatch Logs Insights의 ADS 로그 분석](monitor-cloudwatch-ads-logs.md)

# Amazon CloudWatch Logs에 대한 권한
<a name="monitoring-permissions"></a>

 AWS Identity and Access Management (IAM)을 사용하여 Amazon CloudWatch에 대한 AWS Elemental MediaTailor 액세스 권한을 부여하는 역할을 생성합니다. 계정에 대해 CloudWatch Logs를 게시하려면 다음 단계를 수행해야 합니다. CloudWatch는 계정에 대한 지표를 자동으로 게시합니다.

**MediaTailor가 CloudWatch에 액세스할 수 있도록 허용하려면**

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. IAM 콘솔의 탐색 창에서 **역할**을 선택하고 **역할 생성**을 선택합니다.

1. **다른 AWS 계정** 역할 유형을 선택합니다.

1. **계정 ID**에 AWS 계정 ID를 입력합니다.

1. **Require external ID(외부 ID 필요)**를 선택하고 **Midas**를 입력합니다. 이 옵션은 요청에 올바른 `sts:ExternalId`가 포함된 경우에만 서비스가 역할을 맡을 수 있도록 허용하는 조건을 신뢰 정책에 자동으로 추가합니다.

1. **다음: 권한**을 선택합니다.

1. 역할이 완료할 수 있는 작업을 지정하는 권한 정책을 추가합니다. 다음 옵션 중 하나를 선택한 다음 **Next: Review(다음: 검토)**를 선택합니다.
   + Amazon CloudWatch Logs에 대한 전체 액세스를 제공하는 **CloudWatchLogsFullAccess** Amazon CloudWatch 
   + Amazon CloudWatch에 대한 전체 액세스를 제공하는 **CloudWatchFullAccess** Amazon CloudWatch

1. **역할 이름**에 **MediaTailorLogger**를 입력한 다음 **역할 생성**을 선택합니다.

1. **역할** 페이지에서 방금 생성한 역할을 선택합니다.

1. 보안 주체를 업데이트하도록 신뢰 관계를 편집합니다.

   1. 역할의 **요약** 페이지에서 **신뢰 관계** 탭을 선택합니다.

   1. **신뢰 관계 편집**을 선택합니다.

   1. 정책 문서에서 보안 주체를 MediaTailor 서비스로 변경합니다. 형식은 다음과 같아야 합니다.

      ```
      "Principal": {
         "Service": "mediatailor.amazonaws.com"
      },
      ```

      전체 결과는 다음과 같습니다.

   1. **신뢰 정책 업데이트**를 선택합니다.

# AWS Elemental MediaTailor 채널 어셈블리에 대한 "실행 중" 로그
<a name="as-run-log"></a>

CloudWatch 로그 그룹의 *실행 중* `MediaTailor/Channel/AsRunLog` 로그에는 재생되는 프로그램 및 광고 시간에 대한 정보가 표시됩니다.

채널을 생성하면 실행 중 로그가 기본적으로 비활성화됩니다. 콘솔 또는 AWS Command Line Interface (AWS CLI)를 사용하여 계정의 각 채널에 대해 실행 중 로그 상태를 활성화 및 비활성화할 수 있습니다.

실행 중 로그를 활성화하면 MediaTailor는 MediaTailor가 CloudWatch Logs 계정에서 실행 중 로그를 작성하고 관리할 수 있는 서비스 연결 역할을 자동으로 생성합니다. 서비스 연결 역할에 대한 자세한 내용은 [MediaTailor에 서비스 연결 역할 사용](using-service-linked-roles.md)를 참조하세요.

**참고**  
실행 로그는 현재 기본 프로그램만 지원합니다. 지금은 프로그램 규칙에 의해 생성된 alternateMedia를 지원하지 않습니다. 즉, 현재 alternateMedia에 대한 As Run Log를 생성하지 않습니다.

**Topics**
+ [실행 중 로그 활성화](enabling-as-run-log.md)
+ [실행 중 로그 비활성화](disabling-as-run-log.md)

# 실행 중 로그 활성화
<a name="enabling-as-run-log"></a>

실행 중 로그를 활성화하려면 채널 이름을 지정하고 해당 채널에 대해 *실행 중* 로그 유형을 활성화합니다.

------
#### [ Console ]

**채널을 생성할 때 실행 중 로그를 활성화하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **채널 어셈블리** > **채널을** 선택합니다.

1. 탐색 모음에서 **채널 생성을** 선택합니다.

1. **채널 세부 정보 설정**, **출력 구성** 및 **액세스 제어** 창에서 원하는 대로 채널을 구성합니다.

1. **액세스 제어** 창에서 **다음을** 선택합니다.

1. **로깅** 창의 **로그 유형**에서 **실행 중 활성화**를 선택하여 실행 중 로그를 활성화합니다.

**채널을 업데이트할 때 실행 중 로그를 활성화하려면**
**참고**  
채널이 현재 실행 중인 경우 채널을 업데이트하려면 먼저 해당 채널을 중지해야 합니다. 채널을 중지한 후 **작업** > **편집**을 선택하여 채널 업데이트를 시작할 수 있습니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **채널 어셈블리** > **채널을** 선택합니다.

1. 업데이트하려는 채널을 선택하여 실행 중 로그를 활성화합니다.

1. **작업(Actions)** > **편집(Edit)**을 선택합니다.

1. **채널 세부 정보 설정**, **출력 구성** 및 **액세스 제어** 창에서 채널 구성을 원하는 대로 업데이트합니다.

1. **액세스 제어** 창에서 **다음을** 선택합니다.

1. **로깅** 창의 **로그 유형**에서 **실행 중 활성화**를 선택하여 실행 중 로그를 활성화합니다.

****로깅** 탭에서 실행 중 로그를 활성화하려면**
**참고**  
채널이 현재 실행 중인 경우 **작업** > **편집**을 선택하여 실행 중 로그를 활성화하는 대신 **로깅** 탭을 사용해야 합니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **채널 어셈블리** > **채널을** 선택합니다.

1. 실행 중 로그를 활성화할 채널을 선택합니다.

1. 탐색 모음의 채널 이름 아래에서 **로깅**을 선택합니다.

1. **로깅** > **로그 유형**에서 **실행 중**을 선택하여 실행 중 로그를 활성화합니다.

------
#### [ AWS Command Line Interface (AWS CLI) ]

**실행 중 로그를 활성화하려면**

[configure-logs-for-channel](https://docs.aws.amazon.com/cli/latest/reference/mediatailor/configure-logs-for-channel.html) 명령을 실행하고 필요한 파라미터에 적절한 값을 지정합니다.

이 예제는 Linux, macOS 또는 Unix용으로 형식이 지정되며, 가독성을 높이기 위해 백슬래시(\$1) 줄 연속 문자를 사용합니다.

```
$ aws mediatailor configure-logs-for-channel \
--channel-name MyChannel \
--log-types AS_RUN
```

이 예제는 Microsoft Windows용으로 포맷되었으며 가독성을 높이기 위해 캐럿(^) 줄 연속 문자를 사용합니다.

```
C:\> aws mediatailor configure-logs-for-channel ^
--channel-name MyChannel ^
--log-types AS_RUN
```

위치:
+ `MyChannel`는 사용자가 소유하고 실행 중 로그를 활성화하려는 채널의 이름입니다.

이 명령이 성공적으로 실행되면 다음과 비슷한 출력이 표시됩니다.

```
{
    "ChannelName": "MyChannel",
    "LogTypes": [
       "AS_RUN"
    ]
}
```

------

# 실행 중 로그 비활성화
<a name="disabling-as-run-log"></a>

채널이 활성화된 채널에 대해 실행 중 로그를 비활성화하려면 채널 이름을 지정하고 해당 채널에 대해 *실행 중* 로그 유형을 비활성화합니다.

------
#### [ Console ]

**채널을 업데이트할 때 실행 중 로그를 비활성화하려면**
**참고**  
채널이 현재 실행 중인 경우 채널을 업데이트하려면 먼저 해당 채널을 중지해야 합니다. 채널을 중지한 후 **작업** > **편집**을 선택하여 채널 업데이트를 시작할 수 있습니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **채널 어셈블리** > **채널을** 선택합니다.

1. 업데이트하려는 채널을 선택하여 실행 중 로그를 활성화합니다.

1. **작업(Actions)** > **편집(Edit)**을 선택합니다.

1. **채널 세부 정보 설정**, **출력 구성** 및 **액세스 제어** 창에서 채널 구성을 원하는 대로 업데이트합니다.

1. **액세스 제어** 창에서 **다음을** 선택합니다.

1. **로깅** 창의 **로그 유형**에서 **실행 중 활성화**를 선택 취소하여 실행 중 로그를 비활성화합니다.

****로깅** 탭에서 실행 중 로그를 비활성화하려면**
**참고**  
채널이 현재 실행 중인 경우 **작업** > **편집**을 선택하여 실행 중 로그를 비활성화하는 대신 **로깅** 탭을 사용해야 합니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **채널 어셈블리** > **채널을** 선택합니다.

1. 실행 중 로그를 비활성화할 채널을 선택합니다.

1. 탐색 모음의 채널 이름 아래에서 **로깅**을 선택합니다.

1. **로깅** > **로그 유형**에서 **실행 중**을 선택 취소하여 실행 중 로그를 비활성화합니다.

------
#### [ AWS Command Line Interface (AWS CLI) ]

**실행 중 로그를 비활성화하려면**

[configure-logs-for-channel](https://docs.aws.amazon.com/cli/latest/reference/mediatailor/configure-logs-for-channel.html) 명령을 실행하고 필요한 파라미터에 적절한 값을 지정합니다.

이 예제는 Linux, macOS 또는 Unix용으로 형식이 지정되며, 가독성을 높이기 위해 백슬래시(\$1) 줄 연속 문자를 사용합니다.

```
$ aws mediatailor configure-logs-for-channel \
--channel-name MyChannel \
--log-types
```

이 예제는 Microsoft Windows용으로 포맷되었으며 가독성을 높이기 위해 캐럿(^) 줄 연속 문자를 사용합니다.

```
C:\> aws mediatailor configure-logs-for-channel ^
--channel-name MyChannel ^
--log-types
```

위치:
+ `MyChannel`는 사용자가 소유하고 실행 중 로그를 비활성화하려는 채널의 이름입니다.

이 명령이 성공적으로 실행되면 다음과 비슷한 출력이 표시됩니다.

```
{
    "ChannelName": "MyChannel",
    "LogTypes": []
}
```

------

# 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)
```