如何通过AWS CDK为Kinesis流添加分片级(Enhanced)指标?
在AWS CDK中配置Kinesis流分片级指标
在AWS CDK中,对应Terraform shard_level_metrics 的功能是通过**增强监控(Enhanced Monitoring)**实现的,你可以通过以下两种方式配置:
方式一:创建Stream时直接指定指标
初始化Stream构造时,通过enhancedMonitoring属性传入需要启用的分片级指标列表:
import * as kinesis from 'aws-cdk-lib/aws_kinesis'; import * as cdk from 'aws-cdk-lib'; const app = new cdk.App(); const stack = new cdk.Stack(app, 'KinesisStreamStack'); new kinesis.Stream(stack, 'TestStream', { streamName: 'terraform-kinesis-test', shardCount: 1, retentionPeriod: cdk.Duration.hours(48), streamMode: kinesis.StreamMode.PROVISIONED, // 对应Terraform的shard_level_metrics配置 enhancedMonitoring: [ kinesis.MetricName.INCOMING_BYTES, kinesis.MetricName.OUTGOING_BYTES ] });
方式二:创建后动态启用指标
如果需要在Stream创建完成后添加指标,可调用enableEnhancedMonitoring方法:
const stream = new kinesis.Stream(stack, 'TestStream', { streamName: 'terraform-kinesis-test', shardCount: 1, retentionPeriod: cdk.Duration.hours(48), streamMode: kinesis.StreamMode.PROVISIONED }); // 启用指定分片级指标 stream.enableEnhancedMonitoring([ kinesis.MetricName.INCOMING_BYTES, kinesis.MetricName.OUTGOING_BYTES ]);
可选分片级指标说明
所有支持的指标都封装在kinesis.MetricName枚举中,常用的包括:
INCOMING_BYTES:流入字节数INCOMING_RECORDS:流入记录数OUTGOING_BYTES:流出字节数OUTGOING_RECORDS:流出记录数READ_PROVISIONED_THROUGHPUT_EXCEEDED:读取吞吐量超限WRITE_PROVISIONED_THROUGHPUT_EXCEEDED:写入吞吐量超限
注意事项
- 增强监控会产生额外CloudWatch费用,建议仅启用业务必需的指标
- 按需模式(ON_DEMAND)的流不支持部分吞吐量相关指标,具体以AWS官方文档为准
内容的提问来源于stack exchange,提问作者CKT
相关产品推荐
相关产品推荐

