

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

# 使用 CloudWatch 監控 Amazon Kinesis Video Streams 指標
<a name="monitoring-cloudwatch"></a>

您可以使用 Amazon CloudWatch 監控 Kinesis 影片串流，該串流會收集來自 Amazon Kinesis Video Streams 的原始資料，並將其處理為可讀且幾近即時的指標。這些統計資料會記錄 15 個月，讓您可以存取歷史資訊，並更清楚 Web 應用程式或服務的效能。

在 [Amazon Kinesis Video Streams 主控台](https://console.aws.amazon.com//kinesisvideo/home/)中，您可以透過兩種方式檢視 Amazon Kinesis 影片串流的 CloudWatch 指標：
+ 在**儀表板**頁面中，選擇**目前區域帳戶層級指標**區段中的**影片串流**索引標籤。
+ 在影片串流詳細資訊頁面中，選擇 **Monitoring (監控)** 索引標籤。

Amazon Kinesis Video Streams 提供下列指標：


| 指標 | Description | 
| --- | --- | 
| ArchivedFragmentsConsumed.Media | 所有 APIs 消耗的片段媒體配額點數量。如需配額點概念的說明，請參閱 [片段中繼資料和片段媒體配額](limits.md#fragment_based_throttling)。單位：Count | 
| ArchivedFragmentsConsumed.Metadata | 所有 APIs 耗用的片段中繼資料配額點數量。如需配額點概念的說明，請參閱 [片段中繼資料和片段媒體配額](limits.md#fragment_based_throttling)。單位：Count | 
|  `PutMedia.Requests` |  指定串流的 `PutMedia` API 請求數量。 單位：Count  | 
|  `PutMedia.IncomingBytes` |  作為 串流一部分接收`PutMedia`的位元組數。 單位：位元組  | 
|  `PutMedia.IncomingFragments` |  作為 `PutMedia` 串流一部分接收的完整片段數量。 單位：Count  | 
|  `PutMedia.IncomingFrames` |  作為 `PutMedia` 串流一部分接收的完整影格數量。 單位：Count  | 
|  `PutMedia.ActiveConnections` |  服務主機的連線總數。 單位：Count  | 
|  `PutMedia.ConnectionErrors` |  建立串流`PutMedia`連線時發生錯誤。 單位：Count  | 
|  `PutMedia.FragmentIngestionLatency` |  Amazon Kinesis Video Streams 收到片段的第一個位元組和最後一個位元組之間的時間差異。 單位：毫秒  | 
|  `PutMedia.FragmentPersistLatency` |  接收和封存完整片段資料所花費的時間。 單位：Count  | 
|  `PutMedia.Latency` |  建立連線時，請求與來自 InletService 的 HTTP 回應之間的時間差異。 單位：Count  | 
|  `PutMedia.BufferingAckLatency` |  Amazon Kinesis Video Streams 收到新片段的第一個位元組與為片段傳送緩衝 ACK 之間的時間差異。 單位：毫秒  | 
|  `PutMedia.ReceivedAckLatency` |  Amazon Kinesis Video Streams 收到新片段的最後位元組與傳送片段的已接收 ACK 之間的時間差異。 單位：毫秒  | 
|  `PutMedia.PersistedAckLatency` |  Amazon Kinesis Video Streams 收到新片段的最後位元組與為片段傳送持久性 ACK 之間的時間差異。 單位：毫秒  | 
|  `PutMedia.ErrorAckCount` |  `PutMedia` 為串流執行 時傳送的錯誤 ACKs 數目。 單位：Count  | 
|  `PutMedia.Success` |  1 代表成功寫入的每個片段；0 代表每個失敗的片段。此指標的平均值表示已傳送多少完整的有效片段。 單位：Count  | 
|  `GetMedia.Requests` |  指定串流的 `GetMedia` API 請求數量。 單位：Count  | 
|  `GetMedia.OutgoingBytes` |  做為指定串流 `GetMedia` API 的一部分，從服務傳出的位元組總數。 單位：位元組  | 
|  `GetMedia.OutgoingFragments` |  `GetMedia` 為串流執行 時傳送的片段數量。 單位：Count  | 
|  `GetMedia.OutgoingFrames` |  在指定串流`GetMedia`上於 期間傳送的影格數。 單位：Count  | 
|  `GetMedia.MillisBehindNow` |  目前伺服器時間戳記與傳送之最後一個片段的伺服器時間戳記之間的時間差異。 單位：毫秒  | 
|  `GetMedia.ConnectionErrors` |  未成功建立的連線數。 單位：Count  | 
|  `GetMedia.Success` |  1 代表成功傳送的每個片段；0 代表每個失敗。平均值表示成功率。  失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊，包括 AWS 請求 IDs，請參閱[請求/回應摘要記錄](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)。  單位：Count  | 
|  `GetMediaForFragmentList.OutgoingBytes` |  做為指定串流 `GetMediaForFragmentList` API 的一部分，從服務傳出的位元組總數。 單位：位元組  | 
|  `GetMediaForFragmentList.OutgoingFragments` |  做為指定串流 `GetMediaForFragmentList` API 的一部分，從服務送出的片段總數。 單位：Count  | 
|  `GetMediaForFragmentList.OutgoingFrames` |  做為指定串流 `GetMediaForFragmentList` API 的一部分，從服務送出的影格總數。 單位：Count  | 
|  `GetMediaForFragmentList.Requests` |  指定串流的 `GetMediaForFragmentList` API 請求數量。 單位：Count  | 
|  `GetMediaForFragmentList.Success` |  1 代表成功傳送的每個片段；0 代表每個失敗。平均值表示成功率。  失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊，包括 AWS 請求 IDs，請參閱[請求/回應摘要記錄](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)。  單位：Count  | 
|  `ListFragments.Latency` |  `ListFragments` API 呼叫給定串流名稱的延遲。 單位：毫秒  | 
|  `ListFragments.Requests` |  指定串流的 `ListFragments` API 請求數量。 單位：Count  | 
|  `ListFragments.Success` |  1 代表每個成功的請求；0 代表每個失敗。平均值表示成功率。  失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊，包括 AWS 請求 IDs，請參閱[請求/回應摘要記錄](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)。  單位：Count  | 
|  `GetHLSStreamingSessionURL.Latency` |  `GetHLSStreamingSessionURL` API 呼叫給定串流名稱的延遲。 單位：毫秒  | 
|  `GetHLSStreamingSessionURL.Requests` |  指定串流的 `GetHLSStreamingSessionURL` API 請求數量。 單位：Count  | 
|  `GetHLSStreamingSessionURL.Success` |  1 代表每個成功的請求；0 代表每個失敗。平均值表示成功率。  失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊，包括 AWS 請求 IDs，請參閱[請求/回應摘要記錄](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)。  單位：Count  | 
|  `GetHLSMasterPlaylist.Latency` |  `GetHLSMasterPlaylist` API 呼叫指定串流名稱的延遲。 單位：毫秒  | 
|  `GetHLSMasterPlaylist.Requests` |  指定串流的 `GetHLSMasterPlaylist` API 請求數量。 單位：Count  | 
|  `GetHLSMasterPlaylist.Success` |  1 代表每個成功的請求；0 代表每個失敗。平均值表示成功率。  失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊，包括 AWS 請求 IDs，請參閱[請求/回應摘要記錄](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)。  單位：Count  | 
|  `GetHLSMediaPlaylist.Latency` |  `GetHLSMediaPlaylist` API 呼叫給定串流名稱的延遲。 單位：毫秒  | 
|  `GetHLSMediaPlaylist.Requests` |  指定串流的 `GetHLSMediaPlaylist` API 請求數量。 單位：Count  | 
|  `GetHLSMediaPlaylist.Success` |  1 代表每個成功的請求；0 代表每個失敗。平均值表示成功率。  失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊，包括 AWS 請求 IDs，請參閱[請求/回應摘要記錄](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)。  單位：Count  | 
|  `GetMP4InitFragment.Latency` |  `GetMP4InitFragment` API 呼叫給定串流名稱的延遲。 單位：毫秒  | 
|  `GetMP4InitFragment.Requests` |  指定串流的 `GetMP4InitFragment` API 請求數量。 單位：Count  | 
|  `GetMP4InitFragment.Success` |  1 代表每個成功的請求；0 代表每個失敗。平均值表示成功率。  失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊，包括 AWS 請求 IDs，請參閱[請求/回應摘要記錄](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)。  單位：Count  | 
|  `GetMP4MediaFragment.Latency` |  `GetMP4MediaFragment` API 呼叫給定串流名稱的延遲。 單位：毫秒  | 
|  `GetMP4MediaFragment.Requests` |  指定串流的 `GetMP4MediaFragment` API 請求數量。 單位：Count  | 
|  `GetMP4MediaFragment.Success` |  1 代表每個成功的請求；0 代表每個失敗。平均值表示成功率。  失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊，包括 AWS 請求 IDs，請參閱[請求/回應摘要記錄](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)。  單位：Count  | 
|  `GetMP4MediaFragment.OutgoingBytes` |  做為指定串流 `GetMP4MediaFragment` API 的一部分，從服務傳出的位元組總數。 單位：位元組  | 
|  `GetTSFragment.Latency` |  `GetTSFragment` API 呼叫給定串流名稱的延遲。 單位：毫秒  | 
|  `GetTSFragment.Requests` |  指定串流的 `GetTSFragment` API 請求數量。 單位：Count  | 
|  `GetTSFragment.Success` |  1 代表每個成功的請求；0 代表每個失敗。平均值表示成功率。  失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊，包括 AWS 請求 IDs，請參閱[請求/回應摘要記錄](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)。  單位：Count  | 
|  `GetTSFragment.OutgoingBytes` |  做為指定串流 `GetTSFragment` API 的一部分，從服務傳出的位元組總數。 單位：位元組  | 
|  `GetDASHStreamingSessionURL.Latency` |  `GetDASHStreamingSessionURL` API 呼叫給定串流名稱的延遲。 單位：毫秒  | 
|  `GetDASHStreamingSessionURL.Requests` |  指定串流的 `GetDASHStreamingSessionURL` API 請求數量。 單位：Count  | 
|  `GetDASHStreamingSessionURL.Success` |  1 代表每個成功的請求；0 代表每個失敗。平均值表示成功率。  失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊，包括 AWS 請求 IDs，請參閱[請求/回應摘要記錄](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)。  單位：Count  | 
|  `GetDASHManifest.Latency` |  `GetDASHManifest` API 呼叫給定串流名稱的延遲。 單位：毫秒  | 
|  `GetDASHManifest.Requests` |  指定串流的 `GetDASHManifest` API 請求數量。 單位：Count  | 
|  `GetDASHManifest.Success` |  1 代表每個成功的請求；0 代表每個失敗。平均值表示成功率。  失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊，包括 AWS 請求 IDs，請參閱[請求/回應摘要記錄](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)。  單位：Count  | 
|  `GetClip.Latency` |  指定視訊串流名稱的 GetClip API 呼叫延遲。 單位：毫秒  | 
|  `GetClip.Requests` |  特定影片串流的 GetClip API 請求數量。 單位：Count  | 
|  `GetClip.Success` |  1 代表每個成功的請求；0 代表每個失敗。平均值表示成功率。  失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊，包括 AWS 請求 IDs，請參閱[請求/回應摘要記錄](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-request-response)。 單位：Count  | 
|  `GetClip.OutgoingBytes` |  做為指定影片串流 GetClip API 的一部分，從服務傳出的位元組總數。 單位：位元組  | 

## CloudWatch 指標指引
<a name="monitoring-cloudwatch-guidance"></a>

CloudWatch 指標可協助尋找下列問題的答案：

**Topics**
+ [資料是否到達 Amazon Kinesis Video Streams 服務？](#monitoring-cloudwatch-guidance-incoming)
+ [為什麼 Amazon Kinesis Video Streams 服務未成功擷取資料？](#monitoring-cloudwatch-guidance-errors)
+ [為什麼無法以從生產者傳送的相同速率從 Amazon Kinesis Video Streams 服務讀取資料？](#monitoring-cloudwatch-guidance-rate)
+ [為什麼主控台沒有影片，或為何影片播放會發生延遲？](#monitoring-cloudwatch-guidance-novideo)
+ [讀取即時資料時延遲的原因為何，以及為何用戶端落後於串流前頭之後？](#monitoring-cloudwatch-guidance-delay)
+ [用戶端是否從 Kinesis 影片串流讀取資料，並以什麼速率讀取資料？](#monitoring-cloudwatch-guidance-isread)
+ [為什麼用戶端無法從 Kinesis 影片串流讀取資料？](#monitoring-cloudwatch-guidance-noread)

### 資料是否到達 Amazon Kinesis Video Streams 服務？
<a name="monitoring-cloudwatch-guidance-incoming"></a>

**相關指標：**
+ `PutMedia.IncomingBytes`
+ `PutMedia.IncomingFragments`
+ `PutMedia.IncomingFrames`

**動作項目：**
+ 如果這些指標下降，請檢查您的應用程式是否仍在將資料傳送至服務。
+ 檢查網路頻寬。如果您的網路頻寬不足，可能會降低服務接收資料的速率。

### 為什麼 Amazon Kinesis Video Streams 服務未成功擷取資料？
<a name="monitoring-cloudwatch-guidance-errors"></a>

**相關指標：**
+ `PutMedia.Requests`
+ `PutMedia.ConnectionErrors`
+ `PutMedia.Success`
+ `PutMedia.ErrorAckCount`

**動作項目：**
+ 如果 增加`PutMedia.ConnectionErrors`，請查看生產者用戶端收到的 HTTP 回應和錯誤代碼，以查看建立連線時發生哪些錯誤。
+ 如果 下降`PutMedia.Success`或增加`PutMedia.ErrorAckCount`，請查看服務傳送的 ack 回應中的 ack 錯誤碼，以了解資料擷取失敗的原因。如需詳細資訊，請參閱 [AckErrorCode.Values](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/kinesisvideo/model/AckErrorCode.Values.html)。

### 為什麼無法以從生產者傳送的相同速率從 Amazon Kinesis Video Streams 服務讀取資料？
<a name="monitoring-cloudwatch-guidance-rate"></a>

**相關指標：**
+ `PutMedia.FragmentIngestionLatency`
+ `PutMedia.IncomingBytes`

**動作項目：**
+ 如果這些指標下降，請檢查連線的網路頻寬。低頻寬連線可能導致資料以較低的速率傳送至服務。

### 為什麼主控台沒有影片，或為何影片播放會發生延遲？
<a name="monitoring-cloudwatch-guidance-novideo"></a>

**相關指標：**
+ `PutMedia.FragmentIngestionLatency`
+ `PutMedia.FragmentPersistLatency`
+ `PutMedia.Success`
+ `ListFragments.Latency`
+ `PutMedia.IncomingFragments`

**動作項目：**
+ 如果 增加`PutMedia.FragmentIngestionLatency`或減少`PutMedia.IncomingFragments`，請檢查網路頻寬以及資料是否仍在傳送中。
+ 如果 中有下降`PutMedia.Success`，請檢查 ack 錯誤代碼。如需詳細資訊，請參閱 [AckErrorCode.Values](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/kinesisvideo/model/AckErrorCode.Values.html)。
+ 如果 `PutMedia.FragmentPersistLatency`或 增加`ListFragments.Latency`，您很可能遇到服務問題。如果條件持續很長一段時間，請洽詢您的客戶服務聯絡人，了解您的服務是否有問題。

### 讀取即時資料時延遲的原因為何，以及為何用戶端落後於串流前頭之後？
<a name="monitoring-cloudwatch-guidance-delay"></a>

**相關指標：**
+ `GetMedia.MillisBehindNow`
+ `GetMedia.ConnectionErrors`
+ `GetMedia.Success`

**動作項目：**
+ 如果 增加`GetMedia.ConnectionErrors`，消費者可能會落後於讀取串流，因為經常嘗試重新連線至串流。查看 `GetMedia` 請求傳回的 HTTP 回應/錯誤代碼。
+ 如果 下降`GetMedia.Success`，這可能是因為服務無法將資料傳送給消費者，這會導致連線中斷，以及從消費者重新連線，從而導致消費者落後於串流前端。
+ 如果 增加`GetMedia.MillisBehindNow`，請查看您的頻寬限制，查看您是否因為頻寬較低而以較慢的速度接收資料。

### 用戶端是否從 Kinesis 影片串流讀取資料，並以什麼速率讀取資料？
<a name="monitoring-cloudwatch-guidance-isread"></a>

**相關指標：**
+ `GetMedia.OutgoingBytes`
+ `GetMedia.OutgoingFragments`
+ `GetMedia.OutgoingFrames`
+ `GetMediaForFragmentList.OutgoingBytes`
+ `GetMediaForFragmentList.OutgoingFragments`
+ `GetMediaForFragmentList.OutgoingFrames`

**動作項目：**
+ 這些指標指出即時和封存資料的讀取速率。

### 為什麼用戶端無法從 Kinesis 影片串流讀取資料？
<a name="monitoring-cloudwatch-guidance-noread"></a>

**相關指標：**
+ `GetMedia.ConnectionErrors`
+ `GetMedia.Success`
+ `GetMediaForFragmentList.Success`
+ `PutMedia.IncomingBytes`

**動作項目：**
+ 如果 增加`GetMedia.ConnectionErrors`，請查看`GetMedia`請求傳回的 HTTP 回應和錯誤代碼。如需詳細資訊，請參閱 [AckErrorCode.Values](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/kinesisvideo/model/AckErrorCode.Values.html)。
+ 如果您嘗試讀取最新或即時資料，請檢查串流`PutMedia.IncomingBytes`中是否有資料可供服務傳送給消費者。
+ 如果 `GetMedia.Success`或 下降`GetMediaForFragmentList.Success`，可能是因為服務無法將資料傳送給消費者。如果條件持續很長一段時間，請洽詢您的客戶服務聯絡人，了解您的服務是否有問題。