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

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

使用監控 Amazon Kinesis Video Streams 指標 CloudWatch

您可以使用 Amazon 監控 Kinesis 影片串流 CloudWatch,Amazon 會從 Amazon Kinesis Video Streams 收集原始資料並將其處理成可讀的近即時指標。這些統計數據會記錄 15 個月,以便您可以訪問歷史信息,並更好地了解 Web 應用程序或服務的性能。

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

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

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

Amazon Kinesis Video Streams 提供下列指標:

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

單位:計數

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

單位:計數

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

建立連接時的請求和 HTTP 響應之間的 InletService 時間差。

單位:計數

PutMedia.BufferingAckLatency

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

單位:毫秒

PutMedia.ReceivedAckLatency

Amazon Kinesis Video Streams 流接收到新片段的最後一個位元組與針對片段傳送已接收 ACK 之間的時間差異。

單位:毫秒

PutMedia.PersistedAckLatency

Amazon Kinesis Video Streams 接收到新片段的最後一個位元組與為片段傳送持續 ACK 之間的時間差異。

單位:毫秒

PutMedia.ErrorAckCount

PutMedia為串流執行動作時傳送的錯誤 ACK 數目。

單位:計數

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 要求 ID) 的詳細資訊,請參閱要求/回應摘要記錄。

單位:計數

GetMediaForFragmentList.OutgoingBytes

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

單位:位元組

GetMediaForFragmentList.OutgoingFragments

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

單位:計數

GetMediaForFragmentList.OutgoingFrames

作為指定串流之 GetMediaForFragmentList API 一部分,從服務傳出的畫面總數。

單位:計數

GetMediaForFragmentList.Requests

指定串流的 GetMediaForFragmentList API 要求數目。

單位:計數

GetMediaForFragmentList.Success

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

注意

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

單位:計數

ListFragments.Latency

ListFragmentsAPI 的延遲調用給定的流名稱。

單位:毫秒

ListFragments.Requests

指定串流的 ListFragments API 要求數目。

單位:計數

ListFragments.Success

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

注意

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

單位:計數

GetHLSStreamingSessionURL.Latency

GetHLSStreamingSessionURLAPI 的延遲調用給定的流名稱。

單位:毫秒

GetHLSStreamingSessionURL.Requests

指定串流的 GetHLSStreamingSessionURL API 要求數目。

單位:計數

GetHLSStreamingSessionURL.Success

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

注意

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

單位:計數

GetHLSMasterPlaylist.Latency

GetHLSMasterPlaylistAPI 的延遲調用給定的流名稱。

單位:毫秒

GetHLSMasterPlaylist.Requests

指定串流的 GetHLSMasterPlaylist API 要求數目。

單位:計數

GetHLSMasterPlaylist.Success

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

注意

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

單位:計數

GetHLSMediaPlaylist.Latency

GetHLSMediaPlaylistAPI 的延遲調用給定的流名稱。

單位:毫秒

GetHLSMediaPlaylist.Requests

指定串流的 GetHLSMediaPlaylist API 要求數目。

單位:計數

GetHLSMediaPlaylist.Success

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

注意

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

單位:計數

GetMP4InitFragment.Latency

GetMP4InitFragmentAPI 的延遲調用給定的流名稱。

單位:毫秒

GetMP4InitFragment.Requests

指定串流的 GetMP4InitFragment API 要求數目。

單位:計數

GetMP4InitFragment.Success

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

注意

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

單位:計數

GetMP4MediaFragment.Latency

GetMP4MediaFragmentAPI 的延遲調用給定的流名稱。

單位:毫秒

GetMP4MediaFragment.Requests

指定串流的 GetMP4MediaFragment API 要求數目。

單位:計數

GetMP4MediaFragment.Success

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

注意

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

單位:計數

GetMP4MediaFragment.OutgoingBytes

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

單位:位元組

GetTSFragment.Latency

GetTSFragmentAPI 的延遲調用給定的流名稱。

單位:毫秒

GetTSFragment.Requests

指定串流的 GetTSFragment API 要求數目。

單位:計數

GetTSFragment.Success

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

注意

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

單位:計數

GetTSFragment.OutgoingBytes

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

單位:位元組

GetDASHStreamingSessionURL.Latency

GetDASHStreamingSessionURLAPI 的延遲調用給定的流名稱。

單位:毫秒

GetDASHStreamingSessionURL.Requests

指定串流的 GetDASHStreamingSessionURL API 要求數目。

單位:計數

GetDASHStreamingSessionURL.Success

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

注意

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

單位:計數

GetDASHManifest.Latency

GetDASHManifestAPI 的延遲調用給定的流名稱。

單位:毫秒

GetDASHManifest.Requests

指定串流的 GetDASHManifest API 要求數目。

單位:計數

GetDASHManifest.Success

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

注意

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

單位:計數

GetClip.Latency

GetClip API 會呼叫指定視訊串流名稱的延遲。

單位:毫秒

GetClip.Requests

指定視訊串流的 GetClip API 要求數目。

單位:計數

GetClip.Success

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

注意

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

單位:計數

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,則可能是由於服務無法將數據發送給消費者。如果情況持續存在一段時間,請與您的客戶服務聯絡人聯絡,瞭解您的服務是否有問題。