温馨提示×

ubuntu kafka如何监控

小樊
36
2026-09-20 21:19:29
栏目: 智能运维

在 Ubuntu 上监控 Kafka,可以从系统层、Kafka 自身指标、可视化工具、日志几个层面来做。下面按「实用程度」给你一套常见方案。


一、Kafka 自带指标(最基础)

1. JMX 指标(核心)

Kafka 通过 JMX 暴露大量监控指标(吞吐、延迟、副本状态等)。

开启 JMX 编辑 Kafka 启动脚本(bin/kafka-server-start.sh 或 systemd):

export JMX_PORT=9999

或 systemd 示例:

[Service]
Environment="JMX_PORT=9999"

验证:

jconsole localhost:9999

常用指标:

  • kafka.server:type=BrokerTopicMetrics
  • kafka.network:type=RequestMetrics
  • kafka.controller:type=KafkaController

二、命令行监控(快速排查)

1. 消费者延迟

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

2. Topic 状态

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

3. 实时吞吐

kafka-console-consumer.sh \
  --bootstrap-server localhost:9092 \
  --topic test --from-beginning

三、系统级监控(Ubuntu)

1. 基础资源

top / htop
iostat -x 1
netstat -anp | grep 9092

2. systemd 状态

systemctl status kafka
journalctl -u kafka -f

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

1. 安装 exporter

使用 kafka-exporter:

docker run -d \
  -p 9308:9308 \
  danielqsj/kafka-exporter \
  --kafka.server=localhost:9092

2. Prometheus 配置

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

3. Grafana

  • 导入 Kafka Dashboard(ID:7589 或 10927)
  • 可看:
    • 消息速率
    • 消费 lag
    • 分区分布

五、Kafka Manager / CMAK(Web 管理)

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

功能:

  • Topic 管理
  • 消费组监控
  • 副本状态

六、日志监控(不能忽略)

Kafka 日志路径(默认):

/var/log/kafka/

重点关注:

  • server.log
  • controller.log
  • state-change.log

可用:

tail -f /var/log/kafka/server.log

七、推荐组合(实用)

场景 推荐
本地测试 JMX + 命令行
生产环境 Prometheus + Grafana + kafka-exporter
运维友好 CMAK
故障排查 日志 + consumer-groups

如果你愿意,我可以:

  • 给你 Ubuntu + Docker 完整监控示例
  • 或针对 单节点 / 集群 给具体配置
  • 或教你 用 JMX + Python 自己采集指标

你现在是单机还是集群?

0 踩