

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

# AWS Elemental MediaTailor 使用 Amazon CloudWatch 指標進行監控
<a name="monitoring-cloudwatch-metrics"></a>

您可以使用 CloudWatch 監控 AWS Elemental MediaTailor 指標。CloudWatch 會收集有關服務和程序效能的原始資料，這些資料會轉換為可讀且近乎即時的指標。這些統計資料會保留 15 個月，以便您存取歷史資訊，並更清楚 Web 應用程式或服務的執行效能。您也可以設定留意特定閾值的警示，當滿足這些閾值時傳送通知或採取動作。如需詳細資訊，請參閱 [Amazon CloudWatch 使用者指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)。

當您調查過時的清單檔案時，指標可能很有用。如需詳細資訊，請參閱[使用指標來診斷過時的資訊清單](stale-manifest-diagnose.md)。

指標會先依服務命名空間分組，再依各命名空間內不同的維度組合分類。

**使用 CloudWatch 主控台檢視指標**

1. 在 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 ​CloudWatch 主控台。

1. 在導覽窗格中，選擇 **指標**。

1. 在 **All metrics (所有指標)** 下，選擇 **MediaTailor** 命名空間。

1. 選取指標維度以檢視指標 (例如，**originID**)。

1. 指定您要檢視的時間期間。

**使用 AWS Command Line Interface (AWS CLI) 檢視指標**
+ 在命令提示中，使用下列命令：

  ```
  aws cloudwatch list-metrics --namespace "AWS/MediaTailor"
  ```

## AWS Elemental MediaTailor CloudWatch 指標
<a name="metrics"></a>

 AWS Elemental MediaTailor 命名空間包含下列指標。根據預設，這些指標會發佈到您的帳戶。

### 頻道組合 (CA) 指標
<a name="metrics.channel-assembly"></a>

在下表中，所有指標都可以透過頻道或頻道輸出使用。


| 指標 | 說明 | 
| --- | --- | 
|  4xxErrorCount  | `4xx` 錯誤的數量。 | 
|  5xxErrorCount  | `5xx` 錯誤的數量。 | 
|  RequestCount  |  請求的總數。交易計數主要取決於玩家請求更新資訊清單的頻率，以及玩家的數量。每個播放器請求均視為交易。 | 
|  TotalTime  | 應用程式伺服器處理請求所花費的時間，包括用來從用戶端和網路接收位元組和寫入位元組的時間。 | 

#### 伺服器端廣告插入 (SSAI) 指標
<a name="metrics.server-side-ad-insertion"></a>

下表列出伺服器端廣告插入指標。


| 指標 | 說明 | 
| --- | --- | 
|  AdDecisionServer.Ads  | 在您指定的 CloudWatch 期間內，包含在廣告決策伺服器 (ADS) 回應中的廣告計數。 | 
|  AdDecisionServer.Duration  | MediaTailor 在您指定的 CloudWatch 期間內從 ADS 接收的所有廣告的總持續時間，以毫秒為單位。此持續時間可以大於`Avail.Duration`您指定的 。 | 
|  AdDecisionServer.Errors  | MediaTailor 在您指定的 CloudWatch 期間內從 ADS 接收的非 HTTP 200 狀態碼回應、空回應和逾時回應的數量。 | 
|  AdDecisionServer.FillRate  | 來自 ADS 的回應針對您指定的時間期間填充對應的個別廣告時段比率的簡單平均值。<br />若要取得加權平均值，請以 `Avail.Duration` 的百分比計算 `AdDecisionServer.Duration`。如需有關簡單和加權平均值的詳細資訊，請參閱[簡單且加權的平均值](#metrics-simple-average)。 | 
|  AdDecisionServer.Latency  | MediaTailor 對 ADS 提出之請求的回應時間，以毫秒為單位。 | 
|  AdDecisionServer.Timeouts  | 在您指定的 CloudWatch 期間內，對 ADS 提出的逾時請求數量。 | 
|  AdNotReady  | ADS 指出在您指定的期間中，廣告尚未經內部轉碼器服務進行轉碼的次數。<br />這個指標的值越高，整體 `Avail.FillRate` 的值可能會越低。 | 
|  AdsBilled  | MediaTailor 根據插入向客戶收費的廣告數量。 | 
|  Avail.Duration  | CloudWatch 期間內廣告時段的計劃總毫秒數。計劃總計是根據原始資訊清單中的廣告時段持續時間。 | 
|  Avail.FilledDuration  | MediaTailor 將在 CloudWatch 時段內填入廣告時段的計劃毫秒數。 | 
|  Avail.FillRate  | MediaTailor 將在 CloudWatch 期間內填入個別廣告時段之速率的計劃簡單平均值。<br />若要取得加權平均值，請以 `Avail.Duration` 的百分比計算 `Avail.FilledDuration`。如需有關簡單和加權平均值的詳細資訊，請參閱[簡單且加權的平均值](#metrics-simple-average)。<br />MediaTailor 可達到的最大`Avail.FillRate`數量由 限制`AdDecisionServer.FillRate`。如果 `Avail.FillRate` 很低，請將它與 `AdDecisionServer.FillRate` 比較。如果 `AdDecisionServer.FillRate` 過低，您的 ADS 可能不會為時段持續時間傳回足夠的廣告。 | 
|  Avail.Impression  | MediaTailor 在伺服器端信標期間看到具有印模追蹤事件的廣告數量 （而非印模數量）。 | 
|  Avail.ObservedDuration  | 在 CloudWatch 時段內觀察到的廣告時段總數。 `Avail.ObservedDuration` 會在廣告時段結束時發出，並根據廣告時段期間資訊清單中報告的區段持續時間。 | 
|  Avail.ObservedFilledDuration  | MediaTailor 在 CloudWatch 期間內填入廣告的觀察廣告時段數。 | 
|  Avail.ObservedFillRate  | 在 CloudWatch 期間內，MediaTailor 填充個別廣告時段的觀察率簡單平均值。<br />僅在第一個`CUE-IN`標籤的 HLS 資訊清單發出。如果沒有`CUE-IN`標籤，MediaTailor 不會發出此指標。 | 
|  Avail.ObservedSlateDuration  | 在 CloudWatch 期間內插入的 slate 觀察總毫秒數。 | 
|  GetManifest.Age  | 資訊清單的總存留期，以毫秒為單位。從原始伺服器建立資訊清單時到 MediaTailor 傳送個人化資訊清單時測量。<br />如需測量資訊清單存留期之指標的詳細資訊，請參閱 [使用指標來診斷過時的資訊清單](stale-manifest-diagnose.md)。 | 
|  GetManifest.Errors  | MediaTailor 在您指定的 CloudWatch 期間內產生資訊清單時收到的錯誤數目。 | 
|  GetManifest.Latency  | 請求產生資訊清單的 MediaTailor 回應時間，以毫秒為單位。<br />如需測量資訊清單存留期之指標的詳細資訊，請參閱 [使用指標來診斷過時的資訊清單](stale-manifest-diagnose.md)。 | 
|  GetManifest.MediaTailorAge  | 資訊清單在 MediaTailor 中存放的時間，以毫秒為單位。從 MediaTailor 收到原始伺服器回應時到 MediaTailor 傳送個人化資訊清單時測量。<br />如需測量資訊清單存留期之指標的詳細資訊，請參閱 [使用指標來診斷過時的資訊清單](stale-manifest-diagnose.md)。 | 
|  Origin.Age  | 原始伺服器具有資訊清單的時間，以毫秒為單位。從原始伺服器建立資訊清單時到 MediaTailor 傳送原始伺服器請求時測量。<br />系統會針對直接從原始伺服器履行的請求發出所有`origin.*`指標。它們不會針對快取的原始伺服器回應發出。<br />如需測量資訊清單存留期之指標的詳細資訊，請參閱 [使用指標來診斷過時的資訊清單](stale-manifest-diagnose.md)。 | 
|  Origin.Errors  | 在您指定的 CloudWatch 期間內，MediaTailor 從原始伺服器接收的非 HTTP 200 狀態碼回應和逾時回應的數量。<br />系統會針對直接從原始伺服器履行的請求發出所有`origin.*`指標。它們不會針對快取的原始伺服器回應發出。 | 
|  Origin.ManifestFileSizeBytes  | HLS 和 DASH 的原始伺服器資訊清單檔案大小，以位元組為單位。一般而言，此指標會與 搭配使用`Origin.ManifestFileSizeTooLarge`。<br />系統會針對直接從原始伺服器履行的請求發出所有`origin.*`指標。它們不會針對快取的原始伺服器回應發出。 | 
|  Origin.ManifestFileSizeTooLarge  | 資訊清單大小大於設定數量的原始伺服器回應數目。一般而言，此指標會與 搭配使用`Origin.ManifestFileSizeBytes`。<br />系統會針對直接從原始伺服器履行的請求發出所有`origin.*`指標。它們不會針對快取的原始伺服器回應發出。 | 
|  Origin.Timeouts  | 在您指定的 CloudWatch 期間內，對原始伺服器提出的逾時請求數量。<br />系統會針對直接從原始伺服器履行的請求發出所有`origin.*`指標。它們不會針對快取的原始伺服器回應發出。 | 
|  Requests  | 所有請求類型的每秒並行交易數量。交易計數主要取決於玩家數量，以及玩家請求更新資訊清單的頻率。每個播放器請求均視為交易。 | 
|  SkippedReason.DurationExceeded  | 未插入時段的廣告數量，因為 ADS 傳回的廣告持續時間大於指定的時段持續時間。此指標的高值可能會導致 `Avail.Ads`和 `AdDecisionServer.Ads` 指標之間的差異。如需廣告略過原因的詳細資訊，請參閱 [廣告略過疑難排解](troubleshooting-ad-skipping-overview.md)。 | 
|  SkippedReason.EarlyCueIn  | 由於早期 而略過的廣告數量`CUE-IN`。 | 
|  SkippedReason.ImportError  | 由於匯入任務中的錯誤而略過的廣告數量。 | 
|  SkippedReason.ImportInProgress  | 由於現有作用中匯入任務而略過的廣告數量。 | 
|  SkippedReason.InternalError  | 由於 MediaTailor 內部錯誤而略過的廣告數量。 | 
|  SkippedReason.NewCreative  | 未插入時段的廣告數量，因為這是第一次由用戶端請求資產。此指標的高值可能會暫時導致低整體 `Avail.FillRate`，直到資產可以成功轉碼為止。 | 
|  SkippedReason.NoVariantMatch  | 由於廣告與內容之間沒有變體相符，因此略過的廣告數量。 | 
|  SkippedReason.PersonalizationThresholdExceeded  | 超過此組態中**個人化閾值**設定的廣告持續時間。 | 
|  SkippedReason.ProfileNotFound  | 由於找不到轉碼描述檔而略過的廣告數量。 | 
|  SkippedReason.TranscodeError  | 由於轉碼錯誤而略過的廣告數量。 | 
|  SkippedReason.TranscodeInProgress  | 因為廣告尚未轉碼而未插入時段的廣告數量計數。此指標的高值可能會暫時導致低整體 `Avail.FillRate`，直到資產成功轉碼為止。 | 
|  GetAssets.Requests  | 在 CloudWatch 期間內，針對 HLS Interstitials 工作階段收到的資產清單請求數目。使用此指標來監控近期繫結廣告決策量，並了解 HLS Interstitials 用量的規模。 | 
|  GetAssets.Latency  | HLS Interstitials 工作階段的資產清單請求回應時間，以毫秒為單位。監控此指標以確保最佳廣告決策效能，並識別近期繫結工作流程中的潛在瓶頸。 | 

**注意**  
對於 HLS Interstitials 工作階段，由於廣告決策的近期繫結性質，某些指標的行為會有所不同：  
`Avail.ObservedFilledDuration` 相符，`Avail.FilledDuration`因為 MediaTailor 無法觀察實際的用戶端播放行為。
`Avail.ObservedSlateDuration` 會從資產清單回應回報規劃的場記板持續時間，而非觀察到的播放。
字首為 "Observed" 的指標提供 HLS Interstitials 工作階段的預估值。

### 函數指標
<a name="metrics.functions"></a>

當您搭配播放組態使用 [函數時，](monetization-functions.html)會發佈下列指標。在生命週期掛鉤上設定函數時，一律會發出這些指標。不需要選擇加入或日誌組態。

**勾點層級指標** — 每個生命週期勾點執行一個資料點：


| 指標 | 說明 | 
| --- | --- | 
|  PreSessionInitHook.Invocations  | 叫用工作階段前初始化勾點的次數。 | 
|  PreSessionInitHook.Errors  | 導致錯誤的工作階段前初始化掛鉤執行次數。 | 
|  PreSessionInitHook.Latency  | 工作階段前初始化勾點的執行時間，以毫秒為單位。 | 
|  PreAdsRequestHook.Invocations  | 叫用廣告前請求掛鉤的次數。 | 
|  PreAdsRequestHook.Errors  | 導致錯誤的廣告前請求掛鉤執行次數。 | 
|  PreAdsRequestHook.Latency  | 廣告前請求勾點的執行時間，以毫秒為單位。 | 

**函數層級指標** — 每個個別函數執行一個資料點。這些指標包含其他維度 (`FunctionId`、`FunctionType`、`HookType`)，因此您可以識別哪些特定函數緩慢或失敗：


| 指標 | 說明 | 
| --- | --- | 
|  Function.Invocations  | 執行個別函數的次數。 | 
|  Function.Errors  | 導致錯誤的個別函數執行數目。 | 
|  Function.Latency  | 個別函數的執行時間，以毫秒為單位。 | 

### 簡單且加權的平均值
<a name="metrics-simple-average"></a>

您可以從 ADS 擷取從 MediaTailor 到廣告請求的簡單平均值和加權平均值，以及 MediaTailor 如何填入廣告時段：
+ *簡單平均值*會在 `AdDecisionServer.FillRate` 和 `Avail.FillRate` 中提供。這些針對該時間期間，個別時段的填充率百分比平均值。簡單平均值不會考慮個別時段的持續時間之間的任何差異。
+ *加權平均值*是所有時段持續時間總和的填充率百分比。其計算方式為 (`AdDecisionServer.Duration`\*100)/`Avail.Duration` 和 (`Avail.FilledDuration`\*100)/`Avail.Duration`。這些平均值會反映每個廣告時段的持續時間中的差異，讓具有較長持續時間的那些獲得更多加權。

對於只包含單一廣告時段的時間期間，`AdDecisionServer.FillRate` 提供的簡單平均值等於 (`AdDecisionServer.Duration`\* 100)/`Avail.Duration` 提供的加權平均值。`Avail.FillRate` 提供的簡單平均值等於 (`Avail.FilledDuration`\*100)/`Avail.Duration` 所提供的加權平均值。

**範例**

假設您指定的時間期間有以下兩個廣告時段：
+ 第一個廣告時段有 90 秒持續時間：
  + 時段的 ADS 回應會提供 45 秒的廣告 (填充 50%)。
  + MediaTailor 會填入 45 秒的可用廣告時間 (50% 填滿）。
+ 第二個廣告時段有 120 秒持續時間：
  + 時段的 ADS 回應會提供 120 秒的廣告 (填充 100%)。
  + MediaTailor 會填入 90 秒的可用廣告時間 (75% 填滿）。

指標如下所示：
+ `Avail.Duration` 是 210，這兩個廣告時段持續時間的總和為：90 \+ 120。
+ `AdDecisionServer.Duration` 是 165，這兩個回應持續時間的總和：45 \+ 120。
+ `Avail.FilledDuration` 是 135，這兩個填充持續時間的總和：45 \+ 90。
+ `AdDecisionServer.FillRate` 為 75%，為每個時段填充的百分比平均值：(50% \+ 100%) / 2。這是簡單平均值。
+ ADS 填充率的加權平均值是 78.57%，這是 `AdDecisionServer.Duration`，以 `Avail.Duration` 的百分比表示：(165\*100) / 210。此計算會考慮持續時間中的差異。
+ `Avail.FillRate` 為 62.5%，為每個時段填充的百分比平均值：(50% \+ 75%) / 2。這是簡單平均值。
+ MediaTailor 時段填滿率的加權平均值為 64.29%，這是 `Avail.FilledDuration` `Avail.Duration`： (135\*100) / 210 的百分比。此計算會考慮持續時間中的差異。

`Avail.FillRate` MediaTailor 可為任何廣告時段取得的最高值為 100%。ADS 可能會傳回比時段中可用的廣告時間更多的時間，但 MediaTailor 只能填入可用的時間。

## AWS Elemental MediaTailor CloudWatch 維度
<a name="dimensions"></a>

您可以使用下列維度來篩選 AWS Elemental MediaTailor 資料。


| 維度 | 說明 | 
| --- | --- | 
| `ConfigurationName` | 指示指標所屬的組態。適用於所有指標。 | 
| `FunctionId` | 函數的識別符。僅適用於 `Function.*`指標。 | 
| `FunctionType` | 函數的類型：`CUSTOM_OUTPUT`、`SEQUENTIAL_EXECUTOR`、 `HTTP_REQUEST`或 `CONCURRENT_EXECUTOR`。僅適用於 `Function.*`指標。 | 
| `HookType` | 觸發函數的生命週期關聯： `PRE_SESSION_INITIALIZATION`或 `PRE_ADS_REQUEST`。僅適用於 `Function.*`指標。 | 