Kafka 系列 —(15)Kafka 监控全指南

目录

1.度量指标基础

1.1 度量指标在哪里(Where Metrics Live)

1.2 内部或外部度量(Internal vs External Metrics)

1.3 应用程序健康检测(Health Checks)

1.4 度量指标的覆盖面

2.Broker 的度量指标

2.1 非同步分区(Under-replicated Partitions, URP)

2.2 Broker 度量指标(JMX)

2.3 主题和分区的度量指标

2.4 Java 虚拟机(JVM)监控

2.5 操作系统监控

2.6 日志监控

3.客户端监控

3.1 生产者(Producer)度量指标

3.2 消费者(Consumer)度量指标

3.3 配额(Quota)监控

4.延时监控(Latency Monitoring)

5.端到端监控(E2E Monitoring)

方式 1:使用消息时间戳

方式 2:Kafka Streams

方式 3:自建监控链路

6. Kafka 监控图谱

6.1 Kafka 监控体系总览图

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 需要覆盖:

  1. Kafka Broker

  2. Zookeeper / KRaft 控制节点

  3. 生产者

  4. 消费者

  5. Kafka Connect

  6. Schema Registry

  7. OS/VM/JVM

  8. 端到端延时

  9. 日志监控

覆盖面越广,对问题定位越及时。


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

34号树洞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值