目录
1.1 度量指标在哪里(Where Metrics Live)
1.2 内部或外部度量(Internal vs External Metrics)
2.1 非同步分区(Under-replicated Partitions, URP)
6.2 Broker 监控架构图(含非同步分区/复制/存储/网络)
6.3 Producer/Consumer 客户端监控架构图
6.4 Kafka 端到端监控流程图(E2E Monitoring)
6.5 Kafka 指标采集 + Prometheus + Grafana 全链路架构图

1.度量指标基础
1.1 度量指标在哪里(Where Metrics Live)
Kafka 及其客户端主要通过以下方式暴露度量指标:
| 组件 | 暴露方式 |
| Broker | JMX(最常用)、Prometheus JMX Exporter、日志 |
| Producer / Consumer | JMX、客户端自定义指标 |
| Kafka Connect | JMX、REST API |
| 操作系统 | Node Exporter、系统日志、进程监控 |
1.2 内部或外部度量(Internal vs External Metrics)
内部度量(Kafka 内部基于 JMX)
-
broker 状态
-
ISR 状态
-
复制延迟
-
请求队列堆积
-
日志段大小 / flush 延迟
外部度量(系统 & 基础设施)
-
磁盘使用率
-
文件句柄
-
TCP 连接数
-
JVM GC
-
Broker 进程运行状态
内部度量保证 Kafka 本身健康,外部度量保证 Kafka 所运行的主机健康。
1.3 应用程序健康检测(Health Checks)
用于 DevOps / K8s 的健康检测规则:
Liveness Check
确认 Kafka Broker 进程是否在运行
(通常基于 TCP 连接、JMX ping)
Readiness Check
确认 broker 是否:
-
成功加入集群
-
成为控制器(controller)
-
完成副本同步
-
ISR 稳定
Endpoint 健康
Kafka Connect / Schema Registry 提供 REST 健康检测 /health 含:
-
connector 是否运行
-
任务是否挂起
-
workers 是否可用
1.4 度量指标的覆盖面
监控 Kafka 需要覆盖:
-
Kafka Broker
-
Zookeeper / KRaft 控制节点
-
生产者
-
消费者
-
Kafka Connect
-
Schema Registry
-
OS/VM/JVM
-
端到端延时
-
日志监控
覆盖面越广,对问题定位越及时。
2.Broker 的度量指标
2.1 非同步分区(Under-replicated Partitions, URP)
最重要的 Kafka 健康指标之一。
关键度量:
-
UnderReplicatedPartitions -
OfflinePartitionsCount
URP != 0 表示集群出现副本滞后或 broker 宕机。
2.2 Broker 度量指标(JMX)
请求层(Request Metrics)
如:
-
RequestQueueSize -
RequestHandlerAvgIdlePercent -
ResponseQueueTimeMs
如果请求队列增长 → broker 压力大。
复制层(Replica Metrics)
-
IsrShrinksPerSec(ISR 收缩速率) -
IsrExpandsPerSec -
LeaderElectionRateAndTimeMs -
ReplicaFetcherLag
存储层(Log Metrics)
-
LogFlushRateAndTime -
LogSegmentCount -
BytesInPerSec -
BytesOutPerSec
网络层(Network Metrics)
-
inbound/outbound 流量
-
网络线程饱和度
-
socket 超时率
2.3 主题和分区的度量指标
每个 topic / partition 都有独立指标:
-
MessagesInPerSec -
BytesInPerSec

最低0.47元/天 解锁文章
732

被折叠的 条评论
为什么被折叠?



