本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用亚马逊监控亚马逊 Kinesis Data Streams 服务 CloudWatch
亚马逊 Kinesis Data Streams 和 CloudWatch 亚马逊已集成,因此您可以收集、查看和 CloudWatch分析 Kinesis 数据流的指标。例如,要跟踪分片使用情况,您可监控 IncomingBytes
和 OutgoingBytes
指标并将它们与流中分片数量进行比较。
系统会自动收集您配置的流指标和分片级指标,并将其推送到 CloudWatch 每分钟。指标会存档两周。两周后,数据会被丢弃。
下表介绍了适用于 Kinesis Data Streams 的基本型流级别监控和增强型分片级别监控。
类型 | 描述 |
---|---|
基本 (流级) |
每分钟自动发送流级数据是免费的。 |
增强(分片级) |
每分钟发送分片级数据需要额外付费。要获得此级别的数据,您必须使用EnableEnhancedMonitoring操作为流专门启用它。 有关定价的信息,请参阅 Amazon CloudWatch 产品页面 |
Amazon Kinesis Data Streams 维度和指标
Kinesis Data Streams 将指标发送 CloudWatch 到两个级别:流级别和分片级别(可选)。直播级指标适用于正常条件下最常见的监控用例。分片级指标用于特定的监控任务,通常与故障排除有关,可使用操作启用。EnableEnhancedMonitoring
有关从 CloudWatch 指标收集的统计数据的说明,请参阅 Amazon CloudWatch 用户指南中的CloudWatch 统计数据。
基本的流级指标
Amazon/Kinesis
命名空间包括以下流级指标。
Kinesis Data Streams 将这些直播级别的指标发送 CloudWatch 到每分钟。这些指标始终可用。
指标 | 描述 |
---|---|
GetRecords.Bytes |
在指定时段内测量的从 Kinesis 流中检索的字节数。统计数据 Minimum、Maximum 和 Average 表示指定时段内流的单个 分片级别指标名称: 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:字节 |
GetRecords.IteratorAge |
此指标已不再使用。使用 |
GetRecords.IteratorAgeMilliseconds |
在指定时段内测量的,对某个 Kinesis 流进行的所有 分片级别指标名称: 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Samples 单位:毫秒 |
GetRecords.Latency |
在指定时段内测量的每个 尺寸: StreamName 统计数据:Minimum、Maximum、Average 单位:毫秒 |
GetRecords.Records |
在指定时段内测量的从分片中检索的记录数。统计数据 Minimum、Maximum 和 Average 表示指定时段内流的单个 分片级别指标名称: 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:计数 |
GetRecords.Success |
在指定时段内测量的每个流中的成功 尺寸: StreamName 统计数据:Average、Sum、Samples 单位:计数 |
IncomingBytes |
在指定时段内成功放入 Kinesis 流的字节数。该指标包含来自 分片级别指标名称: 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:字节 |
IncomingRecords |
在指定时段内成功放入 Kinesis 流的记录数。该指标包含来自 分片级别指标名称: 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:计数 |
PutRecord.Bytes |
在指定时段内使用 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:字节 |
PutRecord.Latency |
在指定时段内测量的每个 尺寸: StreamName 统计数据:Minimum、Maximum、Average 单位:毫秒 |
PutRecord.Success |
在指定时段内测量的每个 Kinesis 流中的成功 尺寸: StreamName 统计数据:Average、Sum、Samples 单位:计数 |
PutRecords.Bytes |
在指定时段内使用 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:字节 |
PutRecords.Latency |
在指定时段内测量的每个 尺寸: StreamName 统计数据:Minimum、Maximum、Average 单位:毫秒 |
PutRecords.Records |
此指标已弃用。使用 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:计数 |
PutRecords.Success |
在指定时段内测量的,每个 Kinesis 流中至少有一条记录成功的 尺寸: StreamName 统计数据:Average、Sum、Samples 单位:计数 |
PutRecords.TotalRecords |
在指定时段内测量的,每个 Kinesis 数据流的 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:计数 |
PutRecords.SuccessfulRecords |
在指定时段内测量的,每个 Kinesis 数据流的 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:计数 |
PutRecords.FailedRecords |
在指定时段内测量的,每个 Kinesis 数据流的 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:计数 |
PutRecords.ThrottledRecords |
在指定时段内测量的,每个 Kinesis 数据流的 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:计数 |
ReadProvisionedThroughputExceeded |
在指定时段内针对流的受限的 当统计数据 Minimum 的值为 1 时,流的所有记录在指定时段内将受限。 当统计数据 Maximum 的值为 0(零)时,流的任何记录在指定时段内将不受限。 分片级别指标名称: 尺寸: StreamName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:计数 |
SubscribeToShard.RateExceeded |
当新订阅尝试失败时,将发出此指标,因为同一消费端已有活动订阅,或者超过了此操作允许的每秒调用数,也将发出此指标。 尺寸: StreamName, ConsumerName |
SubscribeToShard.Success |
该指标记录 SubscribeToShard订阅是否成功建立。订阅最多只能有效 5 分钟。因此,该指标至少每 5 分钟发出一次。 尺寸: StreamName, ConsumerName |
SubscribeToShardEvent.Bytes |
在指定时段内测量的从分片中接收的字节数。统计数据 Minimum、Maximum 和 Average 表示指定时段内单个事件中的已发布字节数。 分片级别指标名称: 尺寸: StreamName, ConsumerName 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:字节 |
SubscribeToShardEvent.MillisBehindLatest |
读取记录距离流开头的毫秒数,表示消费端落后当前时间有多远。 尺寸: StreamName, ConsumerName 统计数据:Minimum、Maximum、Average、Samples 单位:毫秒 |
SubscribeToShardEvent.Records |
在指定时段内测量的从分片中接收的记录数。统计数据 Minimum、Maximum 和 Average 表示指定时段内单个事件中的记录数。 分片级别指标名称: 尺寸: StreamName, ConsumerName 统计数据:Minimum、Maximum、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 指标,每月PutMetricData
API拨打大约 43,200 次调用。默认情况下,这些指标未启用。系统会对 Kinesis 发出的增强型指标收费。有关更多信息,请参阅 “亚马逊 CloudWatch自定义指标” 标题下的亚马逊 CloudWatch 定价
指标 | 描述 |
---|---|
IncomingBytes |
在指定时段内成功放置到分片的字节数。该指标包含来自 流级别指标名称: 尺寸: StreamName, ShardId 统计数据:Minimum、Maximum、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、Maximum、Average、Sum、Samples 单位:字节 |
OutgoingRecords |
在指定时段内测量的从分片中检索的记录数。统计数据 Minimum、Maximum 和 Average 表示单个 流级别指标名称: 尺寸: StreamName, ShardId 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:计数 |
ReadProvisionedThroughputExceeded |
在指定时段内针对分片的受限的 当统计数据 Minimum 的值为 1 时,分片的所有记录在指定时段内将受限。 当统计数据 Maximum 的值为 0(零)时,分片的任何记录在指定时段内将不受限。 流级别指标名称: 尺寸: StreamName, ShardId 统计数据:Minimum、Maximum、Average、Sum、Samples 单位:计数 |
WriteProvisionedThroughputExceeded |
在指定时段内因分片限制而被拒绝的记录数。此指标包括来自 当统计数据 Minimum 的值不为零时,分片的记录在指定时段内将受限。 当统计数据 Maximum 的值为 0(零)时,分片的任何记录在指定时段内将不受限。 流级别指标名称: 尺寸: StreamName, ShardId 统计数据:Minimum、Maximum、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 |
我们建议在 Average 统计数据上使用 CloudWatch 警报来指示何时无法进入直播。根据创建器所使用的对象选择一种或两种 put 类型。如果使用 Kinesis 制作器库 (KPL),请使用。PutRecords.Success |
GetRecords.Success |
我们建议在 Average 统计数据上使用 CloudWatch 警报来指示数据流中何时出现记录失败。 |
访问 Kinesis Data Streams 的亚马逊 CloudWatch 指标
您可以使用控制台、命令行或 CloudWatch API监控 Kinesis Data Streams 的指标。 CloudWatch 以下过程介绍如何使用这些不同的方式访问指标。
使用 CloudWatch 控制台访问指标
打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/
。 -
在导航栏中,选择一个区域。
-
在导航窗格中,选择指标。
-
在 “按类别划分的CloudWatch 指标” 窗格中,选择 Kinesis 指标。
-
单击相关行可查看指定MetricName和的统计信息StreamName。
注意:除读取吞吐量和写入吞吐 CloudWatch 量外,大多数控制台统计信息名称都与前面列出的相应指标名称相匹配。这些统计数据以 5 分钟为间隔计算:写入吞吐量监控
IncomingBytes
CloudWatch 指标,读取吞吐量监视器GetRecords.Bytes
。 -
(可选)在图表窗格中,选择统计数据和时间段,然后使用这些设置创建 CloudWatch 警报。
要访问指标,请使用 Amazon CLI
使用列表指标和命令。get-metric-statistics
要访问指标,请使用 CloudWatch CLI
使用mon-list-metrics和mon-get-stats命令。
要访问指标,请使用 CloudWatch API
使用ListMetrics和GetMetricStatistics操作。