本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用以下方式监控亚马逊 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 接收新片段的最后一个字节与为该片段发送持久的 ACK 之间的时间差。 单位:毫秒 |
|
|
在直播中执行操作时 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,则由于频繁尝试重新连接到直播,消费者可能会在阅读直播方面落后。请查看针对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,则可能是由于服务无法将数据发送给消费者。如果这种情况持续很长时间,请咨询您的客户服务联系人,看看您的服务是否存在问题。