温馨提示×

ubuntu kafka配置怎么监控

小樊
48
2026-09-29 18:08:00
栏目: 智能运维

在 Ubuntu 上监控 Kafka,通常可以从系统层、Kafka 自身指标、可视化工具三个层面来做。下面给你一套比较实用、常见的方案。


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

1. Kafka 自带命令行工具

Kafka 自带很多脚本,适合快速排查:

# 查看 topic 列表
kafka-topics.sh --bootstrap-server localhost:9092 --list

# 查看 topic 详情
kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic test

# 消费者组状态
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group my-group

# 生产者压力测试
kafka-producer-perf-test.sh --topic test --num-records 100000 --record-size 1024 --throughput -1 --producer-props bootstrap.servers=localhost:9092

# 消费者压力测试
kafka-consumer-perf-test.sh --bootstrap-server localhost:9092 --topic test --messages 100000

二、开启 Kafka JMX(最重要)

Kafka 核心监控依赖 JMX。

1. 修改 Kafka 启动配置

编辑:

sudo vi /opt/kafka/config/server.properties

确保:

listeners=PLAINTEXT://:9092

2. 配置 JMX

编辑 Kafka 启动脚本或环境变量:

sudo vi /opt/kafka/bin/kafka-server-start.sh

在文件前面添加:

export JMX_PORT=9999

或者(推荐):

export KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9999 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false"

重启 Kafka:

sudo systemctl restart kafka

验证:

netstat -tnlp | grep 9999

三、使用 Prometheus + Grafana(生产推荐)

1. 安装 Kafka Exporter

wget https://github.com/danielqsj/kafka-exporter/releases/download/v1.7.0/kafka-exporter-1.7.0.linux-amd64.tar.gz
tar -xzf kafka-exporter-*.tar.gz
cd kafka-exporter-*

启动:

./kafka-exporter --kafka.server=localhost:9092

默认端口:9308


2. 安装 Prometheus

sudo apt install prometheus

配置:

sudo vi /etc/prometheus/prometheus.yml

添加:

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

重启:

sudo systemctl restart prometheus

3. 安装 Grafana

sudo apt install grafana
sudo systemctl start grafana-server
  • 访问:http://<服务器IP>:3000
  • 添加 Prometheus 数据源
  • 导入 Kafka Dashboard(ID:7589 或 10973)

四、Kafka Manager / CMAK(Web 管理)

适合看 topic、partition、consumer

git clone https://github.com/yahoo/CMAK.git

或直接使用 Docker:

docker run -d -p 9000:9000 \
  -e ZK_HOSTS=localhost:2181 \
  hlebalbau/kafka-manager

五、系统层监控(不能少)

# CPU / 内存
top
htop

# 磁盘 IO(Kafka 很吃磁盘)
iostat -x 1

# 网络
iftop

重点监控:

  • 磁盘延迟
  • 文件句柄数
  • JVM GC

六、常见关键监控指标

指标 说明
UnderReplicatedPartitions 副本不同步
OfflinePartitionsCount 离线分区
MessagesInPerSec 消息生产速率
BytesInPerSec 入流量
BytesOutPerSec 出流量
ConsumerLag 消费滞后

七、推荐组合(总结)

✅ 新手:
kafka 命令行 + Kafka Manager

✅ 生产环境:
JMX + Kafka Exporter + Prometheus + Grafana


如果你愿意,我可以:

  • 给你一份 完整 server.properties 示例
  • 或按 单机 / 集群 / Docker 场景分别说明
  • 或帮你写 systemd 监控告警脚本

你现在是单机还是集群?

0 踩