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

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

使用 CloudWatch 进行监控的亚马逊 MSK 指标

Amazon MSK 与 Amazon CloudWatch 集成,因此您可以为 Amazon MSK 集群收集、查看和分析 CloudWatch 指标。将自动收集您为 MSK 集群配置的指标并将其推送到 CloudWatch。您可以将 MSK 集群的监控级别设置为以下值之一:DEFAULTPER_BROKERPER_TOPIC_PER_BROKER,或者PER_TOPIC_PER_PARTITION. 以下部分中的表显示了从每个监控级别开始提供的所有指标。

DEFAULT级别指标是免费的。其他指标的定价在Amazon CloudWatch 定价页.

DEFAULT 级别监控

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

DEFAULT 监控级别可用的指标
名称 可见时间 Dimensions 描述
ActiveControllerCount 在集群进入 ACTIVE 状态后。 集群名称 在任何给定时间,每个集群只能有一个控制器处于活动状态。
BurstBalance

在集群进入 ACTIVE 状态后。

集群名称、代理 ID

集群中 EBS 卷的输入-输出突增积分的剩余余额度。用它来调查延迟或吞吐量下降。

BytesInPerSec 在创建主题后。 集群名称、代理 ID、主题 每秒从客户端接收的字节数。此指标适用于每个经纪商以及每个主题。
BytesOutPerSec 在创建主题后。 集群名称、代理 ID、主题 每秒发送到客户端的字节数。此指标适用于每个经纪商以及每个主题。
ConnectionCount

在集群进入 ACTIVE 状态后。

集群名称,代理 ID

活跃的 Apache Kafka 连接的数量。

CPUCreditBalance

在集群进入 ACTIVE 状态后。

集群名称,代理 ID

此指标可以帮助您监控经纪商的 CPU 积分余额。如果您的 CPU 使用率维持在 20% 的基准水平以上,则可能会耗尽 CPU 积分余额,这可能会对群集性能产生负面影响。你可以采取措施减少 CPU 负载。例如,您可以减少客户请求的数量或将经纪商类型更新为 M5 经纪商类型。

CpuIdle 在集群进入 ACTIVE 状态后。 集群名称,代理 ID CPU 空闲时间百分比。
CpuSystem 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 内核空间中的 CPU 百分比。
CpuUser 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 用户空间中的 CPU 百分比。
GlobalPartitionCount 在集群进入 ACTIVE 状态后。 集群名称 集群中所有热带区域(不包括副本)的分区数。由于GlobalPartitionCount不包括副本,总和PartitionCount如果主题的复制因子大于 1,则值可以高于 GlobalPartitionCount。
GlobalTopicCount 在集群进入 ACTIVE 状态后。 集群名称 集群中所有代理的主题总数。
EstimatedMaxTimeLag 消费者组从主题中消费之后。 消费者组,主题 耗尽的估计时长(以秒为单位)MaxOffsetLag.
KafkaAppLogsDiskUsed 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 用于应用程序日志的磁盘空间的百分比。
KafkaDataLogsDiskUsed(Cluster Name, Broker ID维度) 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 用于数据日志的磁盘空间的百分比。
KafkaDataLogsDiskUsed(Cluster Name维度) 在集群进入 ACTIVE 状态后。 集群名称 用于数据日志的磁盘空间的百分比。
LeaderCount 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 每个代理分区的领导者总数,不包括副本。
MaxOffsetLag 消费者组从主题中消费之后。 消费者组,主题 主题中所有分区的最大偏移延迟。
MemoryBuffered 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的缓冲内存大小(以字节为单位)。
MemoryCached 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的缓存内存大小(以字节为单位)。
MemoryFree 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 可供代理使用的可用内存大小(以字节为单位)。
MemoryHeapAfterGC

在集群进入 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 每个代理的主题分区总数,包括副本。
ProduceTotalTimeMsMean 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 平均生成时间(以毫秒为单位)。
RequestBytesMean 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的请求字节的平均数量。
RequestTime 在应用请求限制后。 集群名称,代理 ID 代理网络和 I/O 线程处理请求所花费的平均时间(以毫秒为单位)。
RootDiskUsed 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理所使用的根磁盘的百分比。
SumOffsetLag 消费者组从主题中消费之后。 消费者组,主题 主题中所有分区的聚合偏移滞后。
SwapFree 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 对代理可用的交换内存的大小(以字节为单位)。
SwapUsed 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理正在使用的交换内存的大小(以字节为单位)。
TrafficShaping

在集群进入 ACTIVE 状态后。

集群名称,代理 ID

指示由于超过网络分配而丢弃的数据包数的高级指标。PER_BROKER 指标可以获得更精细的细节。

UnderMinIsrPartitionCount 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的未完全管理分区的数目。
UnderReplicatedPartitions 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理的未完全复制分区的数目。
ZooKeeperRequestLatencyMsMean 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 来自代理的 Apache ZooKeeper 请求的平均延迟(以毫秒为单位)。
ZooKeeperSessionState 在集群进入 ACTIVE 状态后。 集群名称,代理 ID 代理 ZooKeeper 会话的连接状态可能是以下之一:NOT_已连接:“0.0',关联:'0.1 ',正在连接:'0.5',已连接只读:'0.8',已连接:'1.0',已关闭:'5.0 ',AUTH_失败:'10.0'。

PER_BROKER 级别监控

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

PER_BROKER 监控级别开始提供的其他指标
名称 可见时间 描述
BwInAllowanceExceeded 在集群进入 ACTIVE 状态后。

因入站聚合带宽超过代理的最大值而形成的数据包的数量。

BwOutAllowanceExceeded 在集群进入 ACTIVE 状态后。

因出站聚合带宽超过代理的最大值而形成的数据包的数量。

ConnTrackAllowanceExceeded 在集群进入 ACTIVE 状态后。

因连接跟踪超过代理的最大值而形成的数据包的数量。连接跟踪与跟踪建立的每个连接的安全组相关,以确保返回数据包按预期交付。

ConnectionCloseRate 在集群进入 ACTIVE 状态后。

每个监听器每秒关闭的连接数。此数字是按监听器聚合的,并针对客户端监听器进行筛选。

ConnectionCreationRate 在集群进入 ACTIVE 状态后。

每个监听器每秒建立的新连接数。此数字是按监听器聚合的,并针对客户端监听器进行筛选。

CpuCreditUsage 在集群进入 ACTIVE 状态后。

此指标可以帮助您监控实例上的 CPU 积分使用情况。如果您的 CPU 使用率维持在 20% 的基准水平以上,则可能会耗尽 CPU 积分余额,这可能会对群集性能产生负面影响。您可以对此指标进行监控和警报以采取纠正措施。

FetchConsumerLocalTimeMsMean 在提供创建器/使用器后。 在领导处处理使用器请求所花费的平均时间(以毫秒为单位)。
FetchConsumerRequestQueueTimeMsMean 在提供创建器/使用器后。 使用器请求在请求队列中等待的平均时间(以毫秒为单位)。
FetchConsumerResponseQueueTimeMsMean 在提供创建器/使用器后。 使用器请求在响应队列中等待的平均时间(以毫秒为单位)。
FetchConsumerResponseSendTimeMsMean 在提供创建器/使用器后。 使用器发送响应所花费的平均时间(以毫秒为单位)。
FetchConsumerTotalTimeMsMean 在提供创建器/使用器后。 使用器从代理提取数据所花费的总平均时间(以毫秒为单位)。
FetchFollowerLocalTimeMsMean 在提供创建器/使用器后。 在领导处处理跟踪器请求所花费的平均时间(以毫秒为单位)。
FetchFollowerRequestQueueTimeMsMean 在提供创建器/使用器后。 跟踪器请求在请求队列中等待的平均时间(以毫秒为单位)。
FetchFollowerResponseQueueTimeMsMean 在提供创建器/使用器后。 跟踪器请求在响应队列中等待的平均时间(以毫秒为单位)。
FetchFollowerResponseSendTimeMsMean 在提供创建器/使用器后。 跟踪器发送响应所花费的平均时间(以毫秒为单位)。
FetchFollowerTotalTimeMsMean 在提供创建器/使用器后。 跟踪器从代理提取数据所花费的总平均时间(以毫秒为单位)。
FetchMessageConversionsPerSec 在创建主题后。 代理每秒提取消息转换的次数。
FetchThrottleByteRate 在应用带宽限制后。 每秒的限制字节数。
FetchThrottleQueueSize 在应用带宽限制后。 限制队列中的消息数。
FetchThrottleTime 在应用带宽限制后。 平均提取限制时间(以毫秒为单位)。
NetworkProcessorAvgIdlePercent 在集群进入 ACTIVE 状态后。 网络处理器处于空闲状态的时间的平均百分比。
PpsAllowanceExceeded 在集群进入 ACTIVE 状态后。

因双向 PPS 超过代理的最大值而形成的数据包的数量。

ProduceLocalTimeMsMean 在集群进入 ACTIVE 状态后。 跟踪器发送响应所花费的平均时间(以毫秒为单位)。
ProduceMessageConversionsPerSec 在创建主题后。 代理每秒生成的消息转换数。
ProduceMessageConversionsTimeMsMean 在集群进入 ACTIVE 状态后。 消息格式转换所花费的平均时间(以毫秒为单位)。
ProduceRequestQueueTimeMsMean 在集群进入 ACTIVE 状态后。 请求消息在队列中所花费的平均时间(以毫秒为单位)。
ProduceResponseQueueTimeMsMean 在集群进入 ACTIVE 状态后。 响应消息在队列中所花费的平均时间(以毫秒为单位)。
ProduceResponseSendTimeMsMean 在集群进入 ACTIVE 状态后。 发送响应消息所花费的平均时间(以毫秒为单位)。
ProduceThrottleByteRate 在应用带宽限制后。 每秒的限制字节数。
ProduceThrottleQueueSize 在应用带宽限制后。 限制队列中的消息数。
ProduceThrottleTime 在应用带宽限制后。 平均生成限制时间(以毫秒为单位)。
ProduceTotalTimeMsMean 在集群进入 ACTIVE 状态后。 平均生成时间(以毫秒为单位)。
ReplicationBytesInPerSec 在创建主题后。 每秒从其他代理商接收的字节数。
ReplicationBytesOutPerSec 在创建主题后。 每秒发送到其他代理商的字节数。
RequestExemptFromThrottleTime 在应用请求限制后。 代理网络和 I/O 线程处理免受限制的请求所花费的平均时间(以毫秒为单位)。
RequestHandlerAvgIdlePercent 在集群进入 ACTIVE 状态后。 请求处理程序线程处于空闲状态的时间的平均百分比。
RequestThrottleQueueSize 在应用请求限制后。 限制队列中的消息数。
RequestThrottleTime 在应用请求限制后。 平均请求限制时间(以毫秒为单位)。
TcpConnections 在集群进入 ACTIVE 状态后。

显示设置了 SYN 标志的传入和传出 TCP 段的数量。

TrafficBytes 在集群进入 ACTIVE 状态后。

以客户端(生产者和消费者)和经纪商之间的总字节数显示网络流量。没有报告经纪商之间的流量。

VolumeQueueLength 在集群进入 ACTIVE 状态后。

指定时间段中等待完成的读取和写入操作请求的数量。

VolumeReadBytes 在集群进入 ACTIVE 状态后。

在指定时间段内读取的字节数。

VolumeReadOps 在集群进入 ACTIVE 状态后。

在指定时间段内的读取操作数。

VolumeTotalReadTime 在集群进入 ACTIVE 状态后。

指定时间段中所有读取操作耗费的总秒数。

VolumeTotalWriteTime 在集群进入 ACTIVE 状态后。

指定时间段中所有写入操作耗费的总秒数。

VolumeWriteBytes 在集群进入 ACTIVE 状态后。

在指定时间段内写入的字节数。

VolumeWriteOps 在集群进入 ACTIVE 状态后。

在指定时间段内的写入操作数。

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 级别指标是免费的。此表中的指标具有以下维度:消费者组、主题、分区。

PER_TOPIC_PER_PARTITION 监控级别开始提供的其他指标
名称 可见时间 描述
EstimatedTimeLag 消费者组从主题中消费之后。 消除分区偏移延迟的估计时间(以秒为单位)。
OffsetLag 消费者组从主题中消费之后。 分区级消费者在抵消数量方面滞后。