amazon-cloudwatch - 如何了解每个 Kinesis 分片的事件?

标签 amazon-cloudwatch amazon-kinesis

我使用带有多个分片的 AWS Kinesis 流。当我将记录放入流中时,我设置的分区键不是恒定的,以将记录映射到每个分片。

为了确保每个分片都被使用,我如何监控分片的事件?

我看到在AWS Cloudwatch的增强级别中,Kinesis的指标可以按分片进行拆分。这不是我的情况,而且由于我的需要只是偶尔,所以我不想为此付费。

最佳答案

  1. 您可以根据需要启用分片级别指标,然后在不需要时禁用。尽管您明确表示不需要此解决方案,但这是迄今为止最好的方法。
  2. 在消费者方面,您可以使用自定义日志记录。对于 IRecordProcessor 实现中处理的每个记录批处理,您可以计算每个分片的传入数据计数。 Sample code here 。您甚至可以添加第 3 方指标平台(例如 Prometheus)。
  3. 您可以自定义生成器并记录 PutRecordResponse。对于每个 Put 调用,它都会返回“您的数据放置在 XXX 分片下”。 See AWS Documentation for details .

通常,如果您遇到分片之间数据分布不均匀的问题,最好的方法是在 Kinesis Producer 应用程序中发送数据时使用随机分区键。

关于amazon-cloudwatch - 如何了解每个 Kinesis 分片的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42759174/

相关文章:

interpolation - Terraform - 根据变量创建 cloudwatch 计划表达式 - 预期表达式但找到 "*"

amazon-s3 - 如何在 kubernetes 的 Fluentd-kubernetes-daemonset 中添加多个输出

amazon-web-services - 如何在 aws kinesis 数据分析的 cloudformation 中将目标设置为 lambda

amazon-web-services - Kinesis lambda DynamoDB

amazon-web-services - 如何订阅cloudwatch指标数据?

amazon-web-services - 将 Kinesis Firehose 设置为 CloudFormation 中 CloudWatch Events 规则的目标

amazon-web-services - Aws KInesis Terraform - 如何将数据流连接到 Data Firehose

amazon-web-services - 在 AWS CloudFormation 的 DashboardBody 中使用 Fn::FindInMap

regex - 从 AWS Cloudwatch 见解中提取日期