温馨提示×

如何监控debian kafka

小樊
50
2026-09-25 04:50:42
栏目: 智能运维

在 Debian 上监控 Kafka,通常可以从 系统层、Kafka 自身指标、日志、以及可视化工具 几个层面来做。下面按「由浅入深」的方式说明。


一、基础监控(必须做)

1. 进程 & 端口监控

# 查看 Kafka 进程
ps -ef | grep kafka

# 查看端口(默认 9092)
sudo netstat -tlnp | grep 9092
# 或
ss -tlnp | grep 9092

2. 系统资源

top
htop
df -h
free -m

关注:

  • CPU
  • 内存
  • 磁盘 IO(Kafka 对磁盘很敏感)
  • 网络吞吐

二、Kafka 自带工具(轻量)

1. 查看 Topic & 消费情况

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

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

# 消费滞后(非常重要)
kafka-consumer-groups.sh \
  --bootstrap-server localhost:9092 \
  --describe --group my-group

重点关注:

  • LAG(消费滞后)
  • CURRENT-OFFSET
  • LOG-END-OFFSET

三、Kafka JMX 指标(核心)

Kafka 通过 JMX 暴露大量指标。

1. 开启 JMX

编辑 Kafka 启动脚本(如 kafka-server-start.sh 或 systemd 配置):

export JMX_PORT=9999

或 systemd:

[Service]
Environment="JMX_PORT=9999"

重启 Kafka:

sudo systemctl restart kafka

四、使用 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
./kafka-exporter --kafka.server=localhost:9092

默认端口:9308


2. Prometheus 配置

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

访问:

http://localhost:9090

常用指标:

  • kafka_topic_partition_current_offset
  • kafka_consumergroup_lag
  • kafka_broker_bytes_in_rate

3. Grafana 面板

导入官方面板:

  • Kafka Dashboard ID:7589 或 10973

可视化内容:

  • Broker 状态
  • Topic 吞吐
  • 消费滞后
  • 磁盘使用

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

Kafka 日志位置

/var/log/kafka/
# 或
$KAFKA_HOME/logs

重点看:

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

可用:

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

或接入:

  • ELK
  • Loki
  • Filebeat

六、ZooKeeper(老版本 Kafka)

如果你用的是 Kafka < 3.0:

echo stat | nc localhost 2181

监控:

  • 连接数
  • 节点数
  • Leader 状态

七、告警建议(生产必备)

至少监控: ✅ Broker 存活
✅ 消费滞后 > 阈值
✅ 磁盘使用 > 80%
✅ 网络异常
✅ GC 时间过长


八、简单方案总结

场景 推荐方案
学习 / 测试 kafka-consumer-groups + 日志
小生产 JMX + kafka-exporter
中大型 Prometheus + Grafana + 告警
云原生 Kafka + Prometheus Operator

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

  • Kafka 版本
  • 是否用 systemd
  • 是否已有 Prometheus / Grafana

我可以直接给你 可复制的配置文件。

0 踩