使用 CloudWatch 監控 Amazon Kinesis Video Streams 指標 - Amazon Kinesis Video Streams

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

使用 CloudWatch 監控 Amazon Kinesis Video Streams 指標

您可以使用 Amazon CloudWatch 監控 Kinesis 影片串流,該串流會收集原始資料,並將 Amazon Kinesis Video Streams 處理為可讀且近乎即時的指標。這些統計資料會記錄 15 個月的時間,以便您可以存取歷史資訊,並更好地了解 Web 應用程式或服務的表現。

Amazon Kinesis Video Streams 主控台中,您可以透過兩種方式檢視 Amazon Kinesis 影片串流的 CloudWatch 指標:

  • 儀表板頁面中,選擇目前區域帳戶層級指標區段中的影片串流索引標籤。

  • 在影片串流詳細資訊頁面中,選擇 Monitoring (監控) 索引標籤。

Amazon Kinesis Video Streams 提供下列指標:

指標 描述
ArchivedFragmentsConsumed.Media 所有 APIs 消耗的片段媒體配額點數量。如需配額點概念的說明,請參閱 片段中繼資料和片段媒體配額

單位:計數

ArchivedFragmentsConsumed.Metadata 所有 APIs 使用的片段中繼資料配額點數量。如需配額點概念的說明,請參閱 片段中繼資料和片段媒體配額

單位:計數

PutMedia.Requests

指定串流的 PutMedia API 請求數量。

單位:計數

PutMedia.IncomingBytes

作為 串流一部分接收PutMedia的位元組數。

單位:位元組

PutMedia.IncomingFragments

作為 PutMedia 串流一部分接收的完整片段數量。

單位:計數

PutMedia.IncomingFrames

作為 PutMedia 串流一部分收到的完整影格數量。

單位:計數

PutMedia.ActiveConnections

服務主機的連線總數。

單位:計數

PutMedia.ConnectionErrors

建立串流PutMedia連線時發生錯誤。

單位:計數

PutMedia.FragmentIngestionLatency

Amazon Kinesis Video Streams 收到片段的第一個位元組和最後一個位元組之間的時間差。

單位:毫秒

PutMedia.FragmentPersistLatency

接收和封存完整片段資料所花費的時間。

單位:計數

PutMedia.Latency

建立連線時,請求與來自 InletService 的 HTTP 回應之間的時間差。

單位:計數

PutMedia.BufferingAckLatency

Amazon Kinesis Video Streams 接收新片段的第一個位元組與為片段傳送緩衝 ACK 之間的時間差。

單位:毫秒

PutMedia.ReceivedAckLatency

Amazon Kinesis Video Streams 收到新片段的最後位元組與傳送片段的 Received ACK 之間的時間差。

單位:毫秒

PutMedia.PersistedAckLatency

Amazon Kinesis Video Streams 收到新片段的最後位元組與傳送片段持久性 ACK 之間的時間差。

單位:毫秒

PutMedia.ErrorAckCount

PutMedia 為串流執行 時傳送的錯誤 ACKs 數量。

單位:計數

PutMedia.Success

1 代表成功寫入的每個片段;0 代表每個失敗的片段。此指標的平均值表示已傳送多少完整的有效片段。

單位:計數

GetMedia.Requests

指定串流的 GetMedia API 請求數。

單位:計數

GetMedia.OutgoingBytes

從服務傳送的位元組總數,做為指定串流 GetMedia API 的一部分。

單位:位元組

GetMedia.OutgoingFragments

GetMedia 為串流執行 時傳送的片段數量。

單位:計數

GetMedia.OutgoingFrames

在指定串流GetMedia上於 期間傳送的影格數。

單位:計數

GetMedia.MillisBehindNow

目前伺服器時間戳記與傳送之最後一個片段的伺服器時間戳記之間的時間差。

單位:毫秒

GetMedia.ConnectionErrors

未成功建立的連線數。

單位:計數

GetMedia.Success

1 代表成功傳送的每個片段;0 代表每個失敗。平均值表示成功率。

注意

失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊,包括 AWS 請求 IDs,請參閱請求/回應摘要記錄

單位:計數

GetMediaForFragmentList.OutgoingBytes

從服務傳送的位元組總數,做為指定串流 GetMediaForFragmentList API 的一部分。

單位:位元組

GetMediaForFragmentList.OutgoingFragments

從服務傳送的片段總數,做為指定串流 GetMediaForFragmentList API 的一部分。

單位:計數

GetMediaForFragmentList.OutgoingFrames

從服務傳送的影格總數,做為指定串流 GetMediaForFragmentList API 的一部分。

單位:計數

GetMediaForFragmentList.Requests

指定串流的 GetMediaForFragmentList API 請求數量。

單位:計數

GetMediaForFragmentList.Success

1 代表成功傳送的每個片段;0 代表每個失敗。平均值表示成功率。

注意

失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊,包括 AWS 請求 IDs,請參閱請求/回應摘要記錄

單位:計數

ListFragments.Latency

ListFragments API 的延遲會呼叫給定的串流名稱。

單位:毫秒

ListFragments.Requests

指定串流的 ListFragments API 請求數量。

單位:計數

ListFragments.Success

1 代表每個成功的請求;0 代表每個失敗。平均值表示成功率。

注意

失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊,包括 AWS 請求 IDs,請參閱請求/回應摘要記錄

單位:計數

GetHLSStreamingSessionURL.Latency

GetHLSStreamingSessionURL API 的延遲會呼叫給定的串流名稱。

單位:毫秒

GetHLSStreamingSessionURL.Requests

指定串流的 GetHLSStreamingSessionURL API 請求數量。

單位:計數

GetHLSStreamingSessionURL.Success

1 代表每個成功的請求;0 代表每個失敗。平均值表示成功率。

注意

失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊,包括 AWS 請求 IDs,請參閱請求/回應摘要記錄

單位:計數

GetHLSMasterPlaylist.Latency

GetHLSMasterPlaylist API 的延遲會呼叫給定的串流名稱。

單位:毫秒

GetHLSMasterPlaylist.Requests

指定串流的 GetHLSMasterPlaylist API 請求數量。

單位:計數

GetHLSMasterPlaylist.Success

1 代表每個成功的請求;0 代表每個失敗。平均值表示成功率。

注意

失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊,包括 AWS 請求 IDs,請參閱請求/回應摘要記錄

單位:計數

GetHLSMediaPlaylist.Latency

GetHLSMediaPlaylist API 的延遲會呼叫給定的串流名稱。

單位:毫秒

GetHLSMediaPlaylist.Requests

指定串流的 GetHLSMediaPlaylist API 請求數量。

單位:計數

GetHLSMediaPlaylist.Success

1 代表每個成功的請求;0 代表每個失敗。平均值表示成功率。

注意

失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊,包括 AWS 請求 IDs,請參閱請求/回應摘要記錄

單位:計數

GetMP4InitFragment.Latency

GetMP4InitFragment API 的延遲會呼叫給定的串流名稱。

單位:毫秒

GetMP4InitFragment.Requests

指定串流的 GetMP4InitFragment API 請求數量。

單位:計數

GetMP4InitFragment.Success

1 代表每個成功的請求;0 代表每個失敗。平均值表示成功率。

注意

失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊,包括 AWS 請求 IDs,請參閱請求/回應摘要記錄

單位:計數

GetMP4MediaFragment.Latency

GetMP4MediaFragment API 的延遲會呼叫給定的串流名稱。

單位:毫秒

GetMP4MediaFragment.Requests

指定串流的 GetMP4MediaFragment API 請求數量。

單位:計數

GetMP4MediaFragment.Success

1 代表每個成功的請求;0 代表每個失敗。平均值表示成功率。

注意

失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊,包括 AWS 請求 IDs,請參閱請求/回應摘要記錄

單位:計數

GetMP4MediaFragment.OutgoingBytes

從服務傳送的位元組總數,做為指定串流 GetMP4MediaFragment API 的一部分。

單位:位元組

GetTSFragment.Latency

GetTSFragment API 的延遲會呼叫給定的串流名稱。

單位:毫秒

GetTSFragment.Requests

指定串流的 GetTSFragment API 請求數量。

單位:計數

GetTSFragment.Success

1 代表每個成功的請求;0 代表每個失敗。平均值表示成功率。

注意

失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊,包括 AWS 請求 IDs,請參閱請求/回應摘要記錄

單位:計數

GetTSFragment.OutgoingBytes

從服務傳送的位元組總數,做為指定串流 GetTSFragment API 的一部分。

單位:位元組

GetDASHStreamingSessionURL.Latency

GetDASHStreamingSessionURL API 的延遲會呼叫給定的串流名稱。

單位:毫秒

GetDASHStreamingSessionURL.Requests

指定串流的 GetDASHStreamingSessionURL API 請求數量。

單位:計數

GetDASHStreamingSessionURL.Success

1 代表每個成功的請求;0 代表每個失敗。平均值表示成功率。

注意

失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊,包括 AWS 請求 IDs,請參閱請求/回應摘要記錄

單位:計數

GetDASHManifest.Latency

GetDASHManifest API 的延遲會呼叫給定的串流名稱。

單位:毫秒

GetDASHManifest.Requests

指定串流的 GetDASHManifest API 請求數量。

單位:計數

GetDASHManifest.Success

1 代表每個成功的請求;0 代表每個失敗。平均值表示成功率。

注意

失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊,包括 AWS 請求 IDs,請參閱請求/回應摘要記錄

單位:計數

GetClip.Latency

指定影片串流名稱的 GetClip API 呼叫延遲。

單位:毫秒

GetClip.Requests

特定影片串流的 GetClip API 請求數量。

單位:計數

GetClip.Success

1 代表每個成功的請求;0 代表每個失敗。平均值表示成功率。

注意

失敗包括 400 個 (使用者) 錯誤和 500 個 (系統) 錯誤。如需啟用請求和回應摘要的詳細資訊,包括 AWS 請求 IDs,請參閱請求/回應摘要記錄

單位:計數

GetClip.OutgoingBytes

做為指定影片串流 GetClip API 的一部分,從服務傳送的位元組總數。

單位:位元組

CloudWatch 指標指引

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

資料是否到達 Amazon Kinesis Video Streams 服務?

相關指標:

  • PutMedia.IncomingBytes

  • PutMedia.IncomingFragments

  • PutMedia.IncomingFrames

動作項目:

  • 如果這些指標下降,請檢查您的應用程式是否仍在將資料傳送至服務。

  • 檢查網路頻寬。如果您的網路頻寬不足,可能會降低服務接收資料的速率。

為什麼 Amazon Kinesis Video Streams 服務未成功擷取資料?

相關指標:

  • PutMedia.Requests

  • PutMedia.ConnectionErrors

  • PutMedia.Success

  • PutMedia.ErrorAckCount

動作項目:

  • 如果 增加PutMedia.ConnectionErrors,請查看生產者用戶端收到的 HTTP 回應和錯誤代碼,以查看建立連線時發生哪些錯誤。

  • 如果 出現下降PutMedia.Success或增加PutMedia.ErrorAckCount,請查看服務傳送的 ack 回應中的 ack 錯誤碼,以了解資料擷取失敗的原因。如需詳細資訊,請參閱 AckErrorCode.Values

為什麼無法以從生產者傳送的相同速率從 Amazon Kinesis Video Streams 服務讀取資料?

相關指標:

  • PutMedia.FragmentIngestionLatency

  • PutMedia.IncomingBytes

動作項目:

  • 如果這些指標下降,請檢查連線的網路頻寬。低頻寬連線可能導致資料以較低的速率傳送至服務。

為什麼主控台沒有影片,或為何影片播放會發生延遲?

相關指標:

  • PutMedia.FragmentIngestionLatency

  • PutMedia.FragmentPersistLatency

  • PutMedia.Success

  • ListFragments.Latency

  • PutMedia.IncomingFragments

動作項目:

  • 如果 增加PutMedia.FragmentIngestionLatency或減少PutMedia.IncomingFragments,請檢查網路頻寬以及資料是否仍在傳送中。

  • 如果 中有下降PutMedia.Success,請檢查 ack 錯誤碼。如需詳細資訊,請參閱 AckErrorCode.Values

  • 如果 PutMedia.FragmentPersistLatency或 增加ListFragments.Latency,您很可能遇到服務問題。如果條件長時間持續存在,請洽詢您的客戶服務聯絡人,以了解您的服務是否有問題。

讀取即時資料時延遲的原因為何,以及為何用戶端落後於串流前頭之後?

相關指標:

  • GetMedia.MillisBehindNow

  • GetMedia.ConnectionErrors

  • GetMedia.Success

動作項目:

  • 如果 增加GetMedia.ConnectionErrors,消費者可能會落後於讀取串流,因為經常嘗試重新連線至串流。查看 GetMedia 請求傳回的 HTTP 回應/錯誤代碼。

  • 如果 出現下降GetMedia.Success,可能是由於服務無法將資料傳送給消費者,這會導致連線中斷,以及消費者重新連線,這會導致消費者落後於串流的前端。

  • 如果 增加GetMedia.MillisBehindNow,請查看您的頻寬限制,查看您是否因為頻寬較低而以較慢的速度接收資料。

用戶端是否從 Kinesis 影片串流讀取資料,並以什麼速率讀取資料?

相關指標:

  • GetMedia.OutgoingBytes

  • GetMedia.OutgoingFragments

  • GetMedia.OutgoingFrames

  • GetMediaForFragmentList.OutgoingBytes

  • GetMediaForFragmentList.OutgoingFragments

  • GetMediaForFragmentList.OutgoingFrames

動作項目:

  • 這些指標指出即時和封存資料的讀取速率。

為什麼用戶端無法從 Kinesis 影片串流讀取資料?

相關指標:

  • GetMedia.ConnectionErrors

  • GetMedia.Success

  • GetMediaForFragmentList.Success

  • PutMedia.IncomingBytes

動作項目:

  • 如果 增加GetMedia.ConnectionErrors,請查看GetMedia請求傳回的 HTTP 回應和錯誤代碼。如需詳細資訊,請參閱 AckErrorCode.Values

  • 如果您嘗試讀取最新或即時資料,請檢查串流PutMedia.IncomingBytes中是否有資料可供服務傳送給消費者。

  • 如果 GetMedia.Success或 出現下降GetMediaForFragmentList.Success,可能是由於服務無法將資料傳送給消費者。如果條件長時間持續存在,請洽詢您的客戶服務聯絡人,以了解您的服務是否有問題。