温馨提示×

ubuntu kafka配置如何监控

小樊
36
2026-08-29 01:36:23
栏目: 智能运维

在 Ubuntu 上监控 Kafka,通常从 Kafka 自身指标、JVM、操作系统、以及消息消费情况 四个层面来做。下面给你一套常用且实战型的监控方案,从简单到完整。


一、Kafka 自带监控方式(最基础)

1️⃣ 使用 Kafka 自带命令行工具

适合快速排查,不算长期监控。

Broker 运行状态

systemctl status kafka

Topic 列表

kafka-topics.sh --bootstrap-server localhost:9092 --list

消费情况

kafka-consumer-groups.sh \
  --bootstrap-server localhost:9092 \
  --describe \
  --group your-consumer-group

重点看:

  • LAG(消费延迟)
  • CURRENT-OFFSET
  • LOG-END-OFFSET

二、JMX 监控(Kafka 核心)

Kafka 使用 JMX 暴露大量指标。

1️⃣ 开启 JMX(关键)

编辑 Kafka 启动脚本或 systemd 配置:

export JMX_PORT=9999
export KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname=127.0.0.1"

重启 Kafka:

systemctl restart kafka

验证:

jps

应看到 Kafka


2️⃣ 常用 JMX 指标(重点)

分类 重要指标
Broker UnderReplicatedPartitions
Broker OfflineLogDirectoryCount
Topic BytesInPerSec
Topic BytesOutPerSec
Consumer records-lag-max
JVM HeapMemoryUsage

三、Prometheus + Grafana(推荐生产方案 ✅)

1️⃣ 架构

Kafka → JMX Exporter → Prometheus → Grafana

2️⃣ 安装 JMX Exporter(Java Agent)

下载:

wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.20.0/jmx_prometheus_javaagent-0.20.0.jar

创建配置:

# kafka-jmx.yml
hostPort: 127.0.0.1:9999
rules:
  - pattern: ".*"

修改 Kafka 启动参数:

export KAFKA_OPTS="-javaagent:/path/jmx_prometheus_javaagent-0.20.0.jar=7071:/path/kafka-jmx.yml"

访问:

http://localhost:7071/metrics

3️⃣ Prometheus 配置

scrape_configs:
  - job_name: 'kafka'
    static_configs:
      - targets: ['localhost:7071']

4️⃣ Grafana Dashboard

推荐官方 / 社区模板:

  • Kafka JMX Dashboard
  • ID:721

四、Kafka Eagle(国产 Web 监控 ✅)

如果你不想搞 Prometheus,这是最简单直观的

功能

  • Topic / Partition 状态
  • Consumer Lag
  • Broker 监控
  • Web UI

安装

wget https://github.com/smartloli/kafka-eagle-bin/archive/v3.0.1.tar.gz

配置 system-config.properties

kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=localhost:2181

Web 访问:

http://localhost:8048

五、操作系统级监控(不能少)

即使 Kafka 正常,系统出问题也会挂。

1️⃣ CPU / 内存

top
htop

2️⃣ 磁盘(非常关键)

df -h
iostat -x 1

⚠️ Kafka 最怕:

  • 磁盘写满
  • iowait 飙高

六、推荐监控组合(实战经验)

✅ 小型 / 测试环境

  • Kafka Eagle
  • 系统监控(top / df)

✅ 生产环境(强烈推荐)

  • JMX Exporter
  • Prometheus
  • Grafana
  • 告警(Prometheus Alertmanager)

七、告警指标建议(非常重要)

必须告警的指标:

  • UnderReplicatedPartitions > 0
  • Consumer Lag > 阈值
  • 磁盘使用率 > 80%
  • Broker 宕机
  • JVM 内存接近上限

如果你愿意,可以告诉我:

  • Kafka 版本
  • 是否用 ZooKeeper / KRaft
  • 单机还是集群

我可以 直接给你一套完整可复制的监控配置

0