本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon Kinesis Video Streams 监控指标 CloudWatch
您可以使用亚马逊监控 Kinesis 视频流 CloudWatch,亚马逊会收集来自亚马逊 Kinesis Video Streams 的原始数据,并将其处理为可读的、近乎实时的指标。这些统计数据记录的时间为 15 个月,因此您可以访问历史信息并更好地了解您的 Web 应用程序或服务的性能。
在亚马逊 Kinesis Video Stream
-
在 “控制面板” 页面中,在 “当前区域的账户级指标” 部分中选择 “视频流” 选项卡。
-
在视频流的详细信息页面中,选择 Monitoring (监控) 选项卡。
亚马逊 Kinesis Video Streams 提供以下指标:
指标 | 描述 |
---|---|
ArchivedFragmentsConsumed.Media |
所有人消耗的片段媒体配额点数APIs。有关配额积分概念的解释,请参阅片段元数据和片段媒体配额。 单位:计数 |
ArchivedFragmentsConsumed.Metadata |
全部消耗的片段元数据配额点的数量APIs。有关配额积分概念的解释,请参阅片段元数据和片段媒体配额。 单位:计数 |
|
给定直播的 单位:计数 |
|
作为流的一部分接收 单位:字节 |
|
作为直播一部分收到的完整片段 单位:计数 |
|
作为直播一部分接收 单位:计数 |
|
与服务主机的连接总数。 单位:计数 |
|
为直播建立 单位:计数 |
|
Amazon Kinesis Video Streams 接收片段的第一个字节和最后一个字节之间的时间差。 单位:毫秒 |
|
从接收和存档完整片段数据起所花费的时间。 单位:计数 |
|
建立连接时请求和HTTP响应之间的 InletService 时差。 单位:计数 |
|
Amazon Kinesis Video Streams 接收新片段的第一个字节与为该片段发送ACK缓冲区之间的时间差。 单位:毫秒 |
|
Amazon Kinesis Video Streams 接收新片段的最后一个字节与为该片段发送ACK已接收字节之间的时间差。 单位:毫秒 |
|
Amazon Kinesis Video Streams 接收新片段的最后一个字节与为该片段发送 P ACK ersisted 时之间的时间差。 单位:毫秒 |
|
在直播中执行操作时ACKs发送 单位:计数 |
|
成功写入的每个片段为 1;每个失败的片段为 0。该指标的平均值表示发送的完整有效片段数。 单位:计数 |
|
给定直播的 单位:计数 |
|
作为给定流的一部分从服务发出的总字节数。 单位:字节 |
|
直播时发送的片段数量。 单位:计数 |
|
在给定直播中发送 单位:计数 |
|
当前服务器时间戳和上次发送片段的服务器时间戳之间的时差。 单位:毫秒 |
|
未成功建立的连接数。 单位:计数 |
|
每个成功发送的片段为 1;每个失败的片段为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括请求)的更多信息IDs,请参阅 AWS 请求/响应摘要记录。 单位:计数 |
|
作为给定流的一部分从服务发出的总字节数。 单位:字节 |
|
作为给定流的一部分从服务发送的 单位:计数 |
|
作为给定数据流的一部分从服务发出的帧总数。 单位:计数 |
|
给定直播的 单位:计数 |
|
每个成功发送的片段为 1;每个失败的片段为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括请求)的更多信息IDs,请参阅 AWS 请求/响应摘要记录。 单位:计数 |
|
给定直播名称的 单位:毫秒 |
|
给定直播的 单位:计数 |
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括请求)的更多信息IDs,请参阅 AWS 请求/响应摘要记录。 单位:计数 |
|
给定直播名称的 单位:毫秒 |
|
给定直播的 单位:计数 |
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括请求)的更多信息IDs,请参阅 AWS 请求/响应摘要记录。 单位:计数 |
|
给定直播名称的 单位:毫秒 |
|
给定直播的 单位:计数 |
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括请求)的更多信息IDs,请参阅 AWS 请求/响应摘要记录。 单位:计数 |
|
给定直播名称的 单位:毫秒 |
|
给定直播的 单位:计数 |
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括请求)的更多信息IDs,请参阅 AWS 请求/响应摘要记录。 单位:计数 |
|
给定直播名称的 单位:毫秒 |
|
给定直播的 单位:计数 |
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括请求)的更多信息IDs,请参阅 AWS 请求/响应摘要记录。 单位:计数 |
|
给定直播名称的 单位:毫秒 |
|
给定直播的 单位:计数 |
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括请求)的更多信息IDs,请参阅 AWS 请求/响应摘要记录。 单位:计数 |
|
作为给定流的一部分从服务发出的总字节数。 单位:字节 |
|
给定直播名称的 单位:毫秒 |
|
给定直播的 单位:计数 |
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括请求)的更多信息IDs,请参阅 AWS 请求/响应摘要记录。 单位:计数 |
|
作为给定流的一部分从服务发出的总字节数。 单位:字节 |
|
给定直播名称的 单位:毫秒 |
|
给定直播的 单位:计数 |
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括请求)的更多信息IDs,请参阅 AWS 请求/响应摘要记录。 单位:计数 |
|
给定直播名称的 单位:毫秒 |
|
给定直播的 单位:计数 |
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括请求)的更多信息IDs,请参阅 AWS 请求/响应摘要记录。 单位:计数 |
|
给定视频流名称的 GetClip API呼叫延迟。 单位:毫秒 |
|
给定视频流的 GetClip API请求数。 单位:计数 |
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括请求)的更多信息IDs,请参阅 AWS 请求/响应摘要记录。 单位:计数 |
|
作为给定视频流的一部分从服务发出的总字节数。 GetClip API 单位:字节 |
CloudWatch 指标指导
CloudWatch 指标可以帮助找到以下问题的答案:
主题
数据是否会到达亚马逊 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
,则由于频繁尝试重新连接到直播,消费者可能会在阅读直播方面落后。查看为请求返回的HTTP响应/错误代码。GetMedia
-
如果流量下降
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
,则可能是由于服务无法将数据发送给消费者。如果这种情况持续很长时间,请咨询您的客户服务联系人,看看您的服务是否存在问题。