本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon CloudWatch 监控 Amazon Kinesis Data Streams
Amazon Kinesis Data Streams 和 Amazon CloudWatch 已集成,因此您可以为您的收集、查看和分析 Kinesis 数据流的 CloudWatch 指标。例如,要跟踪分片使用情况,您可监控 IncomingBytes
和 OutgoingBytes
指标并将它们与流中分片数量进行比较。
将自动收集您为流配置的指标并将其推送到。 CloudWatch 每分钟。指标会存档两周。两周后,数据会被丢弃。
下表介绍了针对 Kinesis 数据流的基本流级监控和增强的分片级监控。
类型 | 描述 |
---|---|
基本 (流级) |
每分钟自动发送流级数据是免费的。 |
增强(分片级) |
每分钟发送分片级数据需要额外付费。要获得此级别的数据,您必须使用EnableEnhancedMonitoringoperation. 有关定价的信息,请参阅亚马逊 CloudWatch 产品页面 |
Amazon Kinesis Data Streams 维度和指标
Kinesis Data Streams 将指标发送给 CloudWatch 在两个级别分别:流级别和(可选)分片级别。流级别指标适用于一般条件下的最常见的监控使用案例。分片级别指标适用于特定的监控任务,通常与故障排除有关,并通过使用EnableEnhancedMonitoringoperation.
有关从中收集到的统计数据的说明 CloudWatch 指标,请参阅CloudWatch 统计数据中的亚马逊 CloudWatch 用户指南.
基本的流级指标
Amazon/Kinesis
命名空间包括以下流级指标。
Kinesis Data Streams 将这些流级别指标发送到 CloudWatch 每分钟。这些指标始终可用。
指标 | 描述 |
---|---|
GetRecords.Bytes |
在指定时段内测量的从 Kinesis 流中检索的字节数。统计数据 Minimum、Maximum 和 Average 表示指定时段内流的单个 分片级别指标名称: 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:字节 |
GetRecords.IteratorAge |
此指标已弃用。使用 |
GetRecords.IteratorAgeMilliseconds |
总而言之,最后一个记录的时代 分片级别指标名称: 维度:StreamName 统计数据:Minimum、Maximum、Average、Samples 单位:毫秒 |
GetRecords.Latency |
在指定时段内测量的每个 维度:StreamName 统计数据:Average、Maximum、Average 单位:毫秒 |
GetRecords.Records |
在指定时段内测量的从分片中检索的记录数。统计数据 Minimum、Maximum 和 Average 表示指定时段内流的单个 分片级别指标名称: 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
GetRecords.Success |
在指定时段内测量的每个流中的成功 维度:StreamName 统计数据:Average、Sum、Samples 单位:计数 |
IncomingBytes |
在指定时段内成功放置到 Kinesis 流的字节数。该指标包含来自 分片级别指标名称: 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:字节 |
IncomingRecords |
在指定时段内成功放置到 Kinesis 流的记录数。该指标包含来自 分片级别指标名称: 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
PutRecord.Bytes |
使用放置到 Kinesis 流的字节数 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:字节 |
PutRecord.Latency |
在指定时段内测量的每个 维度:StreamName 统计数据:Average、Maximum、Average 单位:毫秒 |
PutRecord.Success |
成功的数量 维度:StreamName 统计数据:Average、Sum、Samples 单位:计数 |
PutRecords.Bytes |
使用放置到 Kinesis 流的字节数 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:字节 |
PutRecords.Latency |
在指定时段内测量的每个 维度:StreamName 统计数据:Average、Maximum、Average 单位:毫秒 |
PutRecords.Records |
此指标已弃用。使用 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
PutRecords.Success |
的数量 维度:StreamName 统计数据:Average、Sum、Samples 单位:计数 |
PutRecords.TotalRecords |
在 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
PutRecords.SuccessfulRecords |
在一个成功的记录的数量 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
PutRecords.FailedRecords |
因内部故障而被拒绝的记录的数目。 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
PutRecords.ThrottledRecords |
由于存在限制而被拒绝的记录数 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
ReadProvisionedThroughputExceeded |
在指定时段内针对流的受限的 当统计数据 Minimum 的值为 1 时,流的所有记录在指定时段内将受限。 当统计数据 Maximum 的值为 0(零)时,流的任何记录在指定时段内将不受限。 分片级别指标名称: 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
SubscribeToShard.RateExceeded |
当新订阅尝试失败时,将发出此指标,因为同一使用者已有活动订阅,或者超过了此操作允许的每秒调用数,也将发出此指标。 维度:StreamName、ConsumerName |
SubscribeToShard.Success |
此指标记录 SubscribeToShard 订阅是否已成功建立。订阅最多只能有效 5 分钟。因此,该指标至少每 5 分钟发送一次。 维度:StreamName、ConsumerName |
SubscribeToShardEvent.Bytes |
在指定时段内测量的从分片中接收的字节数。统计数据 Minimum、Maximum 和 Average 表示指定时段内单个事件中的已发布字节数。 分片级别指标名称: 维度:StreamName、ConsumerName 统计数据:Minimum、Maximum、Sum、Samples 单位:字节 |
SubscribeToShardEvent.MillisBehindLatest |
当前时间和最后一条记录之间的差异 SubscribeToShard 事件已写入直播。 维度:StreamName、ConsumerName 统计数据:Minimum、Maximum、Average、Samples 单位:毫秒 |
SubscribeToShardEvent.Records |
在指定时段内测量的从分片中接收的记录数。统计数据 Minimum、Maximum 和 Average 表示指定时段内单个事件中的记录数。 分片级别指标名称: 维度:StreamName、ConsumerName 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
SubscribeToShardEvent.Success |
每次成功发布事件时都会发出此指标。只有在有活动订阅时,才会发出它。 维度:StreamName、ConsumerName 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
WriteProvisionedThroughputExceeded |
在指定时段内因流限制而被拒绝的记录数。该指标包含来自 当统计数据 Minimum 的值不为零时,流的记录在指定时段内将受限。 当统计数据 Maximum 的值为 0(零)时,流的任何记录在指定时段内将不受限。 分片级别指标名称: 维度:StreamName 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
增强的分片级指标
Amazon/Kinesis
命名空间包括以下分片级指标。
Kinesis 将以下分片级指标发送至 CloudWatch 每分钟。每个指标维度创建 1 CloudWatch 指标,制造了大约 43,200PutMetricData
每月 API 调用数。默认情况下,这些指标未启用。Kinesis 发出的增强指标将收费。有关更多信息,请参阅 。亚马逊 CloudWatch 定价
指标 | 描述 |
---|---|
IncomingBytes |
在指定时段内成功放置到分片的字节数。该指标包含来自 流级别指标名称: 维度:StreamName、SShardId 统计数据:Minimum、Maximum、Sum、Samples 单位:字节 |
IncomingRecords |
在指定时段内成功放置到分片的记录数。该指标包含来自 流级别指标名称: 维度:StreamName、SShardId 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
IteratorAgeMilliseconds |
对某个分片进行的所有 流级别指标名称: 维度:StreamName、SShardId 统计数据:Minimum、Maximum、Average、Samples 单位:毫秒 |
OutgoingBytes |
在指定时段内测量的从分片中检索的字节数。统计数据 Minimum、Maximum 和 Average 表示单个 流级别指标名称: 维度:StreamName、SShardId 统计数据:Minimum、Maximum、Sum、Samples 单位:字节 |
OutgoingRecords |
在指定时段内测量的从分片中检索的记录数。统计数据 Minimum、Maximum 和 Average 表示单个 流级别指标名称: 维度:StreamName、SShardId 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
ReadProvisionedThroughputExceeded |
在指定时段内针对分片的受限的 当统计数据 Minimum 的值为 1 时,分片的所有记录在指定时段内将受限。 当统计数据 Maximum 的值为 0(零)时,分片的任何记录在指定时段内将不受限。 流级别指标名称: 维度:StreamName、SShardId 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
WriteProvisionedThroughputExceeded |
在指定时段内因分片限制而被拒绝的记录数。此指标包括来自 当统计数据 Minimum 的值不为零时,分片的记录在指定时段内将受限。 当统计数据 Maximum 的值为 0(零)时,分片的任何记录在指定时段内将不受限。 流级别指标名称: 维度:StreamName、SShardId 统计数据:Minimum、Maximum、Sum、Samples 单位:计数 |
Amazon Kinesis Data Streams 指标的维度
维度 |
描述 |
---|---|
StreamName
|
Kinesis 流的名称。所有可用统计数据按 |
推荐的 Amazon Kinesis Data Streams 指标
Kinesis Data Streams 客户可能对几个 Amazon Kinesis 数据流指标特别感兴趣。以下列表提供了推荐的指标及其用法。
指标 | 使用说明 |
---|---|
|
跟踪流中所有分片和使用者的读取位置。如果某个迭代器的寿命超过了保留期的 50%(默认值为 24 小时,可配置为最高 7 天),则存在由于记录过期造成数据丢失的风险。我们建议您使用 CloudWatch 在最大值统计数据中提醒您,以便在此问题构成风险之前提醒您。要了解使用此指标的示例情景,请参阅使用者记录处理滞后。 |
|
当您的使用者端记录处理滞后时,有时难以确定瓶颈的位置。使用此指标可确定读取操作是否由于超出了读取吞吐量上限而受到限制。此指标的最常用的统计数据为 Average。 |
WriteProvisionedThroughputExceeded |
这与 ReadProvisionedThroughputExceeded 指标的用途相同,但是此指标用于流的创建者 (put) 端。此指标的最常用的统计数据为 Average。 |
PutRecord.Success ,
PutRecords.Success |
我们建议使用 CloudWatch 在平均值统计数据中提醒,以指示记录未能放入流中的时间。根据创建器所使用的对象选择一种或两种 put 类型。如果使用的是 Kinesis Producer Library (KPL),请使用 PutRecords.Success 。 |
GetRecords.Success |
我们建议使用 CloudWatch 在平均值统计数据中提醒,以指示从流中读取记录失败的时间。 |
访问 Amazon CloudWatch Kinesis Data Streams 的指标
您可 Kinesis Data Streams 用 CloudWatch 控制台、命令行或 CloudWatch API。以下过程介绍如何使用这些不同的方式访问指标。
使用 访问指标 CloudWatch 控制台
打开 CloudWatch 控制台https://console.aws.amazon.com/cloudwatch/
. -
在导航栏中,选择一个区域。
-
在导航窗格中,选择 Metrics(指标)。
-
在 CloudWatch Metrics by Category (按类别显示的 CloudWatch 指标) 窗格中,选择 Kinesis Metrics (Kinesis 指标)。
-
单击相关行可查看指定的 MetricName 和 StreamName 的统计数据。
注意:大多数控制台统计名称匹配相应 CloudWatch 上面列出的指标名称,但Read Throughput (读取吞吐量)和Write Throughput (写入吞吐量). 按照 5 分钟的时间间隔计算:Write Throughput (写入吞吐量)监控
IncomingBytes
CloudWatch 指标、Read Throughput (读取吞吐量)显示器GetRecords.Bytes
. -
(可选)在图形窗格中,选择一个统计数据和时间段,然后创建 CloudWatch 使用这些设置发出警报。
使用 Amazon CLI 访问指标
使用 list-metrics 和 get-metric-statistics 命令。
使用 访问指标 CloudWatch CLI
使用 mon-list-metrics 和 mon-get-stats 命令。
使用 访问指标 CloudWatch API
使用 ListMetrics 和 GetMetricStatistics 操作。