View a markdown version of this page

亚马逊 MSK 预置集群的推荐 CloudWatch 警报 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

亚马逊 MSK 预置集群的推荐 CloudWatch 警报

监控您的 Amazon MSK 预置集群,在问题影响您的应用程序之前将其检测出来。 CloudWatch 当 CloudWatch 指标在一段时间内超过指定值时,警报会执行操作。例如,如果您的分区数超过代理实例大小的建议值超过 15 分钟,您可能希望收到电子邮件通知。建议使用下表中的关键警报,但它们并不是您可以为监控集群而创建的警报的详尽列表。

有关配置警报的更多信息,请参阅亚马逊 CloudWatch 用户指南中的创建亚马逊 CloudWatch 警报。

下表列出了适用于标准和快捷经纪商的警报。

警报 问题

CPUUser+ CPUSystem 平均 >= 60,持续 5 分钟,连续 3 次

维度: Cluster Name, Broker ID

一家或多家经纪商的CPU用户+CPU系统的平均值超过建议的60%。要了解更多信息,请参阅监控 CPU 使用率。

PartitionCount平均 >= X,持续 5 分钟,连续 3 次(X = 代理实例大小的推荐分区数)

维度: Cluster Name, Broker ID

一个或多个代理的分区高于建议的分区数限制。要了解更多信息,请参阅 Right-size 您的集群:每个标准代理的分区数 和 快速代理的分区配额。

SumOffsetLag平均 >= X,持续 5 分钟,连续 3 次(根据用例为消费者组和主题组合设置 X)

维度:Cluster Name、Consumer Group、Topic

主题中所有分区的聚合偏移延迟超过 X 。有关延迟的更多信息,您可以使用分区级别Offset指标(代表每个分区的延迟),也可以使用 Kafka 命令行工具来描述消费群体。查看消费者应用程序相对于生产者的处理速度,以了解消费者是否无法跟上步伐,并检查是否有任何消费者再平衡正在减缓消费者的速度。

下表列出了仅适用于标准经纪商的警报。

警报 问题

OfflinePartitionsCount1 分钟平均值 >= 1,连续 3 次

维度:Cluster Name

一个或多个主题分区不可用。当分区不可用时,对这些分区的生产和使用操作将失败。脱机分区不应出现在平衡良好、大小正确且配置正确的群集上。要了解更多信息,请参阅构建高度可用的集群。

UnderMinIsrPartitionCount1 分钟平均值 >= 1,连续 3 次

维度: Cluster Name, Broker ID

一个或多个主题的分区低于配置的最低同步副本集 (ISR)。当分区低于最低 ISR 时,生产操作将失败(使用生产者acks=all)。要了解更多信息,请参阅构建高度可用的集群。

KafkaDataLogsDiskUsed平均 >= 80,持续 5 分钟,连续 3 次

维度: Cluster Name, Broker ID

一个或多个经纪商的数据盘使用率为80%或以上。要了解更多信息,请参阅监控磁盘空间。

HeapMemoryAfterGC平均 >= 60,持续 5 分钟,连续 3 次

维度: Cluster Name, Broker ID

垃圾回收后,一个或多个代理使用的堆内存占总堆内存的60%或以上。要了解更多信息,请参阅监控 Apache Kafka 内存。

(Sum (VolumeReadBytes) + Sum (VolumeWriteBytes))/(5 * 60 * 1024 * 1024) >= X MiB 持续 5 分钟,连续 3 次(X = 可用卷吞吐量的 80%)

维度: Cluster Name, Broker ID

一个或多个经纪商的底层读写活动占用了其可用容量吞吐量的80%。要了解更多信息,请参阅预置存储吞吐量。

CPUCreditBalance平均 <= 100,持续 5 分钟,连续 3 次

维度: Cluster Name, Broker ID

这仅与 t3.small 经纪商类型有关。一个或多个经纪商已将其CPU积分余额从最高576个耗尽到不到100。当余额达到 0 时,经纪商不能超过 20% 的 CPU 基准。为避免 CPU 积分耗尽,请从 t3 代理实例类型升级到不使用 CPU 积分的 m7g 实例类型。

RequestHandlerAvgIdlePercent5 分钟平均值 <= 0.3,连续 3 次

维度: Cluster Name, Broker ID

一个或多个代理在负责处理请求的线程池中发现活动拥塞(线程池的空闲时间低于 30%)。此处的饱和表示请求速度慢,这可能导致客户端超时。此外,还要检查您的客户是否产生了过多的请求。例如,未经授权的客户可能会积极重试经纪人拒绝的请求。要了解有关优化集群吞吐量的更多信息,请参阅优化 m5.4xl、m7g.4xl 或更大实例的集群吞吐量。

NetworkProcessorAvgIdlePercent5 分钟平均值 <= 0.3,连续 3 次

维度: Cluster Name, Broker ID

一个或多个代理在网络连接线程池中发现活动拥塞(线程池的空闲时间低于 30%)。此处的饱和可能会导致超时。此外,还要检查您的客户是否产生了过多的请求。例如,未经授权的客户可能会积极重试经纪人拒绝的请求。要了解有关优化集群吞吐量的更多信息,请参阅优化 m5.4xl、m7g.4xl 或更大实例的集群吞吐量。

KafkaFileDescriptorsUsagePercent大于 80%,持续 5 分钟,连续 3 次

维度: Cluster Name, Broker ID

代理上使用的文件描述符的百分比。在 100% 精疲力尽的情况下,Kafka 经纪人可能无法启动。文件描述符的数量随着分区数量、每个分区中的日志段数以及客户机连接数量的增加而增加。检查您的主题segment.ms值是否较低会导致频繁的日志滚动,并考虑减少客户端连接的数量。

KafkaMemoryMappedFilesUsagePercent大于 80%,持续 5 分钟,连续 3 次

维度: Cluster Name, Broker ID

代理上使用的内存映射文件的百分比。在 100% 精疲力尽的情况下,Kafka 经纪人可能无法启动。内存映射的文件使用量随着分区数量和每个分区中日志段数的增加而增加。查看您的主题的segment.ms值是否较低,导致日志滚动频繁。

IAM 访问控制警报

除了前面的警报外,我们建议为以下特定于 IAM 访问控制的指标创建警报。这些警报适用于启用了 IAM 身份验证的标准和快捷经纪商。亚马逊 MSK 对 IAM 连接设置了逻辑限制,以保护代理免受 IAM 连接请求过载的影响。违反这些限制中的任何一个都会导致客户端连接超时,这将影响您的工作负载。

警报 问题

ClientConnectionCount求和 >= X,持续 1 分钟,连续 3 次(X = 每个代理最大 TCP 连接数的 80%)

维度:Cluster Name、Broker ID、Client Authentication

一个或多个代理的连接数等于连接限制的80%。用于 IAM 访问控制的每个代理的最大 TCP 连接数默认为 3000。可以更改此值。有关更多信息,请参阅快递Amazon MSK 快速代理配额经纪商和标准Amazon MSK 标准代理配额经纪商。

ConnectionCreationRate总和 >= X,持续 1 分钟,连续 3 次(X = 您的实例大小连接创建速率限制的 80%)

维度: Cluster Name, Broker ID

一个或多个经纪人让客户创建 IAM 连接,其速率等于其连接创建速率限制的 80%。IAM 访问控制的每个代理的最大 TCP 连接速率取决于实例大小。有关更多信息,请参阅快递Amazon MSK 快速代理配额经纪商和标准Amazon MSK 标准代理配额经纪商。