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