本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用以下方式监控 Amazon Kinesis 视频流指标 CloudWatch
您可以使用亚马逊监控 Kinesis 视频流 CloudWatch,亚马逊收集来自亚马逊 Kinesis Video Streams 的原始数据并将其处理为可读的近乎实时的指标。这些统计数据记录的时间为 15 个月,因此您可以访问历史信息,更好地了解您的 Web 应用程序或服务的性能。
在亚马逊 Kinesis 视频流控制台中
-
在 “控制面板” 页面中,选择 “当前区域Account-level 指标” 部分中的 “视频流” 选项卡。
-
在视频流的详细信息页面中,选择 Monitoring (监控) 选项卡。
亚马逊 Kinesis Video Streams 提供以下指标:
| 指标 | 说明 |
|---|---|
ArchivedFragmentsConsumed.Media |
所有 API 消耗的片段媒体配额点的数量。有关配额积分概念的解释,请参阅Fragment-metadata 和片段媒体配额。 单位:计数 |
ArchivedFragmentsConsumed.Metadata |
所有 API 消耗的片段元数据配额点的数量。有关配额积分概念的解释,请参阅Fragment-metadata 和片段媒体配额。 单位:计数 |
|
|
给定流 单位:计数 |
|
|
作为流的一部分接收 单位:字节 |
|
|
作为直播的一部分收到的完整片段 单位:计数 |
|
|
作为流的一部分收到 单位:计数 |
|
|
与服务主机的连接总数。 单位:计数 |
|
|
为直播建立 单位:计数 |
|
|
亚马逊 Kinesis Video Streams 接收片段的第一个字节和最后一个字节的时间差。 单位:毫秒 |
|
|
从接收和存档完整片段数据起所花费的时间。 单位:计数 |
|
|
建立连接时请求和来自 InletService 的 HTTP 响应之间的时间差。 单位:计数 |
|
|
Amazon Kinesis Video Streams 收到新片段的第一个字节与发送该片段的缓冲 ACK 之间的时间差。 单位:毫秒 |
|
|
Amazon Kinesis Video Streams 接收新片段的最后一个字节与发送该片段收到的 ACK 之间的时间差。 单位:毫秒 |
|
|
Amazon Kinesis Video Streams 收到新片段的最后一个字节的时间与发送该片段的持久化 ACK 之间的时间差。 单位:毫秒 |
|
|
在进行直播时发送的错误 AC 单位:计数 |
|
|
成功写入的每个片段为 1;每个失败的片段为 0。该指标的平均值表示发送的完整有效片段数。 单位:计数 |
|
|
给定流 单位:计数 |
|
|
作为给定流的 单位:字节 |
|
|
在进行直播时发送 单位:计数 |
|
|
在给定流中发送 单位:计数 |
|
|
当前服务器时间戳与上次发送片段的服务器时间戳之间的时间差。 单位:毫秒 |
|
|
未成功建立的连接数。 单位:计数 |
|
|
每个成功发送的片段为 1;每个失败的片段为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括 AWS 请求 ID)的更多信息,请参阅Request/Response 摘要日志。 单位:计数 |
|
|
作为给定流的 单位:字节 |
|
|
作为 单位:计数 |
|
|
作为 单位:计数 |
|
|
给定流 单位:计数 |
|
|
每个成功发送的片段为 1;每个失败的片段为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括 AWS 请求 ID)的更多信息,请参阅Request/Response 摘要日志。 单位:计数 |
|
|
单位:毫秒 |
|
|
给定流 单位:计数 |
|
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括 AWS 请求 ID)的更多信息,请参阅Request/Response 摘要日志。 单位:计数 |
|
|
单位:毫秒 |
|
|
给定流 单位:计数 |
|
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括 AWS 请求 ID)的更多信息,请参阅Request/Response 摘要日志。 单位:计数 |
|
|
单位:毫秒 |
|
|
给定流 单位:计数 |
|
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括 AWS 请求 ID)的更多信息,请参阅Request/Response 摘要日志。 单位:计数 |
|
|
单位:毫秒 |
|
|
给定流 单位:计数 |
|
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括 AWS 请求 ID)的更多信息,请参阅Request/Response 摘要日志。 单位:计数 |
|
|
单位:毫秒 |
|
|
给定流 单位:计数 |
|
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括 AWS 请求 ID)的更多信息,请参阅Request/Response 摘要日志。 单位:计数 |
|
|
单位:毫秒 |
|
|
给定流 单位:计数 |
|
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括 AWS 请求 ID)的更多信息,请参阅Request/Response 摘要日志。 单位:计数 |
|
|
作为给定流的 单位:字节 |
|
|
单位:毫秒 |
|
|
给定流 单位:计数 |
|
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括 AWS 请求 ID)的更多信息,请参阅Request/Response 摘要日志。 单位:计数 |
|
|
作为给定流的 单位:字节 |
|
|
单位:毫秒 |
|
|
给定流 单位:计数 |
|
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括 AWS 请求 ID)的更多信息,请参阅Request/Response 摘要日志。 单位:计数 |
|
|
单位:毫秒 |
|
|
给定流 单位:计数 |
|
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括 AWS 请求 ID)的更多信息,请参阅Request/Response 摘要日志。 单位:计数 |
|
|
GetClip API 的延迟调用给定的视频流名称。 单位:毫秒 |
|
|
对给定视频流 GetClip 的 API 请求数量。 单位:计数 |
|
|
每个成功的请求为 1;每个失败的请求为 0。平均值表示成功率。 注意故障包含 400(用户)错误和 500(系统)错误。有关启用请求和响应摘要(包括 AWS 请求 ID)的更多信息,请参阅Request/Response 摘要日志。 单位:计数 |
|
|
作为 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。
为什么从亚马逊 Kinesis Video Streams 服务读取数据的速度不能与制作人发送数据的速率相同?
相关指标:
-
PutMedia.FragmentIngestionLatency -
PutMedia.IncomingBytes
操作项:
-
如果这些指标有所下降,请检查您的连接的网络带宽。 Low-bandwidth 连接可能会导致数据以较低的速率到达服务。
为什么控制台中没有视频,或者为什么视频播放出现延迟?
相关指标:
-
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请求返回 response/error 的 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,则可能是由于该服务无法将数据发送给消费者。如果这种情况持续了很长时间,请咨询您的客户服务联系人,看看您的服务是否存在问题。