结合使用 Amazon MSK 和 CloudWatch 指标进行监控 - Amazon Managed Streaming for Apache Kafka
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

结合使用 Amazon MSK 和 CloudWatch 指标进行监控

Amazon MSK 与 Amazon CloudWatch 集成,以便您可以为您的 CloudWatch 收集、查看和分析 Amazon MSK 集群 指标。将自动收集您为 MSK 集群 配置的指标并将其推送到 CloudWatch。您可以将 MSK 集群 的监控级别设置为以下值之一:DEFAULTPER_BROKERPER_TOPIC_PER_BROKERPER_TOPIC_PER_PARTITION。 以下部分中的表显示了在每个监控级别开始可用的所有指标。

DEFAULT 级别监控

下表中描述的指标在 DEFAULT 监控级别可用。这些指标是免费的。

DEFAULT 监控级别可用的指标
名称 可见时间 维度 描述
ActiveControllerCount 在集群进入 ACTIVE 状态后。 集群名称 在任何给定时间,每个集群只能有一个控制器处于活动状态。
BytesInPerSec 在创建主题后。 集群名称、代理 ID、主题 每秒从客户端接收的字节数。此指标按代理以及按主题提供。
BytesOutPerSec 在创建主题后。 集群名称、代理 ID、主题 每秒发送到客户端的字节数。此指标按代理以及按主题提供。
CpuIdle 在集群进入 ACTIVE 状态后。 集群名称,代理 ID CPU 空闲时间百分比。
CpuSystem 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 内核空间中的 CPU 百分比。
CpuUser 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 用户空间中的 CPU 百分比。
GlobalPartitionCount 在集群进入 ACTIVE 状态后。 集群名称 集群中所有代理的分区总数。
GlobalTopicCount 在集群进入 ACTIVE 状态后。 集群名称 集群中所有代理的主题总数。
EstimatedMaxTimeLag 在使用者组从主题使用后。 Consumer Group, Topic (使用者组、主题) 耗尽 MaxOffsetLag 的时间估计值(以秒为单位)。
KafkaAppLogsDiskUsed 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 用于应用程序日志的磁盘空间的百分比。
KafkaDataLogsDiskUsedCluster Name, Broker ID 维度) 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 用于数据日志的磁盘空间的百分比。
KafkaDataLogsDiskUsedCluster Name 维度) 在集群进入 ACTIVE 状态后。 集群名称 用于数据日志的磁盘空间的百分比。
LeaderCount 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 领导副本数。
MaxOffsetLag 在使用者组从主题使用后。 Consumer Group, Topic (使用者组、主题) 一个主题中所有分区的最大偏移滞后。
MemoryBuffered 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的缓冲内存大小(以字节为单位)。
MemoryCached 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的缓存内存大小(以字节为单位)。
MemoryFree 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 可供代理使用的可用内存大小(以字节为单位)。
MemoryUsed 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理正在使用的内存大小(以字节为单位)。
MessagesInPerSec 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理每秒传入消息数。
NetworkRxDropped 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 丢弃的接收包的数量。
NetworkRxErrors 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的网络接收错误数。
NetworkRxPackets 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理收到的数据包的数量。
NetworkTxDropped 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 丢弃的传输包的数量。
NetworkTxErrors 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的网络传输错误的数量。
NetworkTxPackets 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理传输的数据包的数量。
OfflinePartitionsCount 在集群进入 ACTIVE 状态后。 集群名称 集群中处于脱机状态的分区的总数。
PartitionCount 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的分区数。
ProduceLocalTimeMsMean 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 跟踪器发送响应所花费的平均时间(以毫秒为单位)。
ProduceTotalTimeMsMean 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 平均生成时间(以毫秒为单位)。
RequestBytesMean 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的请求字节的平均数量。
RequestTime 在应用请求限制后。 集群名称,代理 ID 代理网络和 I/O 线程处理请求所花费的平均时间(以毫秒为单位)。
RootDiskUsed 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理所使用的根磁盘的百分比。
SumOffsetLag 在使用者组从主题使用后。 Consumer Group, Topic (使用者组、主题) 一个主题中所有分区的聚合偏移滞后。
SwapFree 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 对代理可用的交换内存的大小(以字节为单位)。

SwapUsed

在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理正在使用的交换内存的大小(以字节为单位)。
UnderMinIsrPartitionCount 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的 minIsr 分区下的数目。
UnderReplicatedPartitions 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的未完全复制分区的数目。

ZooKeeperRequestLatencyMsMean

在集群进入 ACTIVE 状态后。 集群名称,代理 ID 来自代理的 Apache ZooKeeper 请求的平均延迟(以毫秒为单位)。
ZooKeeperSessionState 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的 ZooKeeper 会话的连接状态,可以是下列状态之一:NOT_CONNECTED:'0.0', ASSOCIATING:'0.1',CONNECTING:“0.5”,CONNECTEDREADONLY:'0.8',CONNECTED:'1.0',CLOSED:“5.0”,AUTH_FAILED:“10.0”。

PER_BROKER 级别监控

在将监控级别设置为 PER_BROKER 时,除了所有 DEFAULT 级别指标之外,您还将获得下表中描述的指标。您需要为下表中的指标付费,而 DEFAULT 级别指标仍免费。此表中的指标具有以下维度:集群名称,代理 ID。

PER_BROKER 监控级别开始提供的其他指标
名称 可见时间 描述
FetchConsumerLocalTimeMsMean 在提供创建器/使用器后。 在领导处处理使用器请求所花费的平均时间(以毫秒为单位)。
FetchConsumerRequestQueueTimeMsMean 在提供创建器/使用器后。 使用器请求在请求队列中等待的平均时间(以毫秒为单位)。
FetchConsumerResponseQueueTimeMsMean 在提供创建器/使用器后。 使用器请求在响应队列中等待的平均时间(以毫秒为单位)。
FetchConsumerResponseSendTimeMsMean 在提供创建器/使用器后。 使用器发送响应所花费的平均时间(以毫秒为单位)。
FetchConsumerTotalTimeMsMean 在提供创建器/使用器后。 使用器从代理提取数据所花费的总平均时间(以毫秒为单位)。
FetchFollowerLocalTimeMsMean 在提供创建器/使用器后。 在领导处处理跟踪器请求所花费的平均时间(以毫秒为单位)。
FetchFollowerRequestQueueTimeMsMean 在提供创建器/使用器后。 跟踪器请求在请求队列中等待的平均时间(以毫秒为单位)。
FetchFollowerResponseQueueTimeMsMean 在提供创建器/使用器后。 跟踪器请求在响应队列中等待的平均时间(以毫秒为单位)。
FetchFollowerResponseSendTimeMsMean 在提供创建器/使用器后。 跟踪器发送响应所花费的平均时间(以毫秒为单位)。
FetchFollowerTotalTimeMsMean 在提供创建器/使用器后。 跟踪器从代理提取数据所花费的总平均时间(以毫秒为单位)。
FetchMessageConversionsPerSec 在创建主题后。 代理每秒提取消息转换的次数。
FetchThrottleByteRate 在应用带宽限制后。 每秒的限制字节数。
FetchThrottleQueueSize 在应用带宽限制后。 限制队列中的消息数。
FetchThrottleTime 在应用带宽限制后。 平均提取限制时间(以毫秒为单位)。
NetworkProcessorAvgIdlePercent 在集群进入 ACTIVE 状态后。 网络处理器处于空闲状态的时间的平均百分比。
ProduceMessageConversionsPerSec 在创建主题后。 代理每秒生成的消息转换数。
ProduceMessageConversionsTimeMsMean 在集群进入 ACTIVE 状态后。 消息格式转换所花费的平均时间(以毫秒为单位)。
ProduceRequestQueueTimeMsMean 在集群进入 ACTIVE 状态后。 请求消息在队列中所花费的平均时间(以毫秒为单位)。
ProduceResponseQueueTimeMsMean 在集群进入 ACTIVE 状态后。 响应消息在队列中所花费的平均时间(以毫秒为单位)。
ProduceResponseSendTimeMsMean 在集群进入 ACTIVE 状态后。 发送响应消息所花费的平均时间(以毫秒为单位)。
ProduceThrottleByteRate 在应用带宽限制后。 每秒的限制字节数。
ProduceThrottleQueueSize 在应用带宽限制后。 限制队列中的消息数。
ProduceThrottleTime 在应用带宽限制后。 平均生成限制时间(以毫秒为单位)。
ProduceTotalTimeMsMean 在集群进入 ACTIVE 状态后。 平均生成时间(以毫秒为单位)。
ReplicationBytesInPerSec 在创建主题后。 每秒从其他代理接收的字节数。
ReplicationBytesOutPerSec 在创建主题后。 每秒发送到其他代理的字节数。
RequestExemptFromThrottleTime 在应用请求限制后。 代理网络和 I/O 线程处理免受限制的请求所花费的平均时间(以毫秒为单位)。
RequestHandlerAvgIdlePercent 在集群进入 ACTIVE 状态后。 请求处理程序线程处于空闲状态的时间的平均百分比。
RequestThrottleQueueSize 在应用请求限制后。 限制队列中的消息数。
RequestThrottleTime 在应用请求限制后。 平均请求限制时间(以毫秒为单位)。

PER_TOPIC_PER_BROKER 级别监控

当您将监控级别设置为 PER_TOPIC_PER_BROKER 时,除了 PER_BROKER 和 DEFAULT 级别的所有指标之外,您还将获得下表中描述的指标。仅 DEFAULT 级别指标是免费的。此表中的指标具有以下维度:集群名称、代理 ID、主题。

重要

对于使用 Apache Kafka 2.4.1 或更新版本的Amazon MSK 集群,下表中的指标仅在其值首次变为非零后才会显示。例如,要查看 BytesInPerSec,一个或多个创建器必须先向集群发送数据。

PER_TOPIC_PER_BROKER 监控级别开始提供的其他指标
名称 可见时间 描述
FetchMessageConversionsPerSec 在创建主题后。 每秒转换的已提取消息的数量。
MessagesInPerSec 在创建主题后。 每秒接收的消息的数量。
ProduceMessageConversionsPerSec 在创建主题后。 已生成消息的每秒转换次数。

PER_TOPIC_PER_PARTITION 级别监控

将监控级别设置为 PER_TOPIC_PER_PARTITION 时,除了 PER_TOPIC_PER_BROKERPER_BROKER 和 DEFAULT 级别的所有指标之外,您还将获得下表中描述的指标。仅 DEFAULT 级别指标是免费的。此表中的指标具有以下维度:使用者组、主题、分区。

PER_TOPIC_PER_PARTITION 监控级别开始提供的其他指标
名称 可见时间 描述
EstimatedTimeLag 在使用者组从主题使用后。 耗尽分区偏移滞后的时间(以秒为单位)。
OffsetLag 在使用者组从主题使用后。 分区级别使用者滞后(以偏移量为单位)。