You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 18:05:43