

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 產生 AWS Elemental MediaTailor 偵錯日誌
<a name="debug-log-mode"></a>

使用偵錯日誌對 MediaTailor 廣告插入播放工作階段問題進行疑難排解。若要產生偵錯日誌，請在播放器對 MediaTailor 的請求中將日誌模式設定為偵錯。對於伺服器端報告，請在*播放請求*中設定日誌模式。對於用戶端報告，請在*工作階段初始化請求*中設定日誌模式。

當日誌模式設定為除錯時，MediaTailor 會將所有日誌事件類型寫入 CloudWatch Logs。日誌提供下列事件的相關資訊。如需偵錯日誌中產生之資料的完整清單，請參閱[偵錯日誌欄位](https://docs.aws.amazon.com/mediatailor/latest/ug/debug-log-mode.html#debug-log-mode-fields)。
+ **原始伺服器互動** – MediaTailor 與原始伺服器互動 的詳細資訊。例如，原始伺服器資訊清單回應、資訊清單類型和原始伺服器 URL。
+ **產生資訊清單** – 從 MediaTailor 播放工作階段回應 的詳細資訊。例如，MediaTailor 產生的資訊清單。
+ **工作階段初始化** – 工作階段初始化詳細資訊，例如工作階段 ID。

若要自訂每個工作階段收到的日誌事件類型，請參閱 [篩選日誌和事件](logs-filter.md)。

## 先決條件
<a name="prerequisites"></a>

若要將日誌模式設定為偵錯，首先，如果您尚未將日誌傳送至 CloudWatch，您需要授予 MediaTailor 許可。授予 MediaTailor 存取 CloudWatch 的許可後，您就可以啟用偵錯日誌模式。如需有關如何授予 MediaTailor 存取 CloudWatch 許可的資訊，請參閱[設定 Amazon CloudWatch 的許可](https://docs.aws.amazon.com/mediatailor/latest/ug/monitoring-permissions.html)。

## 如何將日誌模式設定為偵錯
<a name="how-to-turn-on-debug-log-mode"></a>

本節說明如何將日誌模式設定為偵錯伺服器端報告和用戶端報告。

### 伺服器端報告
<a name="server-side-reporting"></a>

對於伺服器端報告，請在播放器播放`GET HTTP`請求中包含`?aws.logMode=DEBUG`查詢參數和值至 HLS 或 DASH MediaTailor 端點。如需伺服器端報告的一般相關資訊，請參閱[伺服器端報告](https://docs.aws.amazon.com/mediatailor/latest/ug/ad-reporting-server-side.html)。

**重要**  
`DEBUG` 值會區分大小寫。

 包含 的播放請求`?aws.logMode=DEBUG`如下所示：

**Example 播放請求至 HLS 端點**  

```
GET <mediatailorURL>/v1/master/<hashed-account-id>/<origin-id>/<asset-id>?aws.logMode=DEBUG
```
將日誌模式設定為偵錯之後，建議您確認偵錯記錄工作階段處於作用中狀態。若要驗證偵錯工作階段是否作用中，請檢查工作階段 ID 是否有任何 CloudWatch 日誌。工作階段 ID 包含在 MediaTailor 提供的播放端點中。如需詳細資訊，請參閱[Verify that the debug log mode is active for your playback session](#debug-active)。

### 用戶端報告
<a name="client-side-reporting"></a>

對於用戶端報告，請在用戶端的`POST HTTP`工作階段初始化請求內文中包含索引`logMode`鍵和`DEBUG`值至 MediaTailor /v1/session 端點。如需用戶端報告的一般資訊，請參閱[用戶端報告](https://docs.aws.amazon.com/mediatailor/latest/ug/ad-reporting-client-side.html)。

**重要**  
`DEBUG` 值會區分大小寫。

 將日誌模式設定為偵錯之後，建議您確認偵錯工作階段處於作用中狀態。若要確認偵錯工作階段處於作用中狀態，請確認 CloudWatch 日誌中有與工作階段 ID 相關聯的`SESSION_INITIALIZED`事件。工作階段 ID 包含在 MediaTailor 提供的播放端點中。如需詳細資訊，請參閱[Verify that the debug log mode is active for your playback session](#debug-active)。

## 作用中偵錯工作階段上限
<a name="maximum-active-debug-log-sessions"></a>

您最多可以有 10 個作用中偵錯日誌工作階段。當您的玩家將其工作階段初始化或播放請求傳送至 MediaTailor 時，MediaTailor 會檢查是否已達到限制。如果存在，MediaTailor 會檢查是否有任何過時的工作階段。如果在一段時間內未存取工作階段，工作階段會過時。對於即時串流，此期間為 10 分鐘，對於 VOD 串流，則為 30 分鐘。

如果已達到最大作用中偵錯日誌工作階段限制，偵錯日誌不會寫入您工作階段的 CloudWatch Logs。如果您在工作階段的 CloudWatch Logs 中看不到偵錯日誌，您可能已達到此限制。若要確認是否已達到限制，請參閱 [Verify that the debug log mode is active for your playback session](#debug-active)。

## 偵錯日誌欄位
<a name="debug-log-mode-fields"></a>

 下表列出 MediaTailor 寫入 CloudWatch 的偵錯日誌欄位。


| 欄位 | Description | 
| --- | --- | 
| awsAccountId | 您的 AWS 帳戶 ID。 | 
| customerId | 您的 MediaTailor 客戶 ID。 | 
| eventTimestamp | 與偵錯日誌事件相關聯的 ISO 8601 時間戳記。 | 
| eventType | 除錯日誌事件的類型。數值：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/mediatailor/latest/ug/debug-log-mode.html) | 
| originRequestUrl | 為此請求擷取的原始伺服器 URL。 | 
| mediaTailorPath | 呼叫的 MediaTailor 端點，包括在初始資訊清單請求中傳遞給 MediaTailor 的任何參數。 | 
| requestId | MediaTailor 特定 HTTP 請求的 ID。 | 
| responseBody | MediaTailor 回應內文中的資訊清單。這是原始原始伺服器資訊清單或 MediaTailor 產生的資訊清單。 | 
| sessionId | 播放工作階段 ID。 | 
| sessionType | 播放工作階段的類型。值：`HLS`、`DASH` | 

## 讀取偵錯日誌
<a name="read-the-debug-logs"></a>

MediaTailor 會將偵錯日誌寫入 Amazon CloudWatch Logs。通常會收取 CloudWatch Logs 費用。使用 CloudWatch Insights 讀取偵錯日誌。如需有關如何使用 CloudWatch Logs Insights 的資訊，請參閱《AWS [ CloudWatch Logs 使用者指南》中的使用 CloudWatch Logs Insights 分析日誌資料](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)。 * CloudWatch *

**注意**  
偵錯日誌可能需要幾分鐘的時間才會出現在 CloudWatch 中。如果您沒有看到日誌，請等待幾分鐘，然後再試一次。如果您仍然看不到日誌，可能是已達到作用中偵錯日誌工作階段的數量上限。若要驗證是否為這種情況，請執行 CloudWatch 查詢，以查看是否有為您的播放工作階段初始化的偵錯工作階段。如需詳細資訊，請參閱[Verify that the debug log mode is active for your playback session](#debug-active)。

### 範例
<a name="query-examples"></a>

 本節包含可用來讀取 MediaTailor 除錯日誌資料的範例查詢。

**Example 1：確認您的播放工作階段已啟用偵錯日誌模式**  

```
fields @timestamp, @message
 | filter sessionId = "32002de2-837c-4e3e-9660-f3075e8dfd90"
 | filter eventType = "SESSION_INITIALIZED" # client-side reporting
 or mediaTailorPath like “/v1/master" # server-side reporting HLS
 or mediaTailorPath like “/v1/dash" # server-side reporting DASH
```

**Example 2：檢視來自原始伺服器的回應**  

```
fields @timestamp, responseBody, @message, mediaTailorPath
 | filter eventType = "ORIGIN_MANIFEST" and sessionId = "32002de2-837c-4e3e-9660-f3075e8dfd90"
```

**Example 3：檢視 MediaTailor 為指定工作階段產生的資訊清單**  

```
fields @timestamp, responseBody, @message
 | filter mediaTailorPath like "/v1/master/" and eventType = "GENERATED_MANIFEST" and sessionId = "32002de2-837c-4e3e-9660-f3075e8dfd90"
```

**Example 4：檢視指定 的所有事件 `requestId`**  
 使用此查詢來檢視原始伺服器資訊清單和 MediaTailor 產生的資訊清單。  

```
fields @timestamp, responseBody, @message, mediaTailorPath
 | filter requestId = "e5ba82a5-f8ac-4efb-88a0-55bed21c45b4"
```