温馨提示×

debian kafka如何监控运行

小樊
47
2026-08-31 23:31:06
栏目: 智能运维

在 Debian 上监控 Kafka 的运行状态,通常可以从系统层、Kafka 自身、JMX、日志、第三方监控工具几个层面来做。下面按实用程度从简单到完整给你一个方案。


一、基础检查(最常用)

1. 查看 Kafka 进程

ps -ef | grep kafka
# 或
systemctl status kafka

如果你是用 systemd 安装的:

sudo systemctl status kafka

2. 查看监听端口

Kafka 默认端口:

  • 9092(客户端)
  • 2181(ZooKeeper,若使用)
ss -lntp | grep 9092
ss -lntp | grep 2181

3. 查看 Kafka 日志

日志位置取决于安装方式:

# 包安装
/var/log/kafka/

# 二进制解压
/path/to/kafka/logs/

实时查看:

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

二、使用 Kafka 自带命令行工具

1. 查看 Broker 状态

kafka-broker-api-versions.sh --bootstrap-server localhost:9092

2. 查看 Topic 和分区

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

3. 查看消费者组

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

4. 测试生产 / 消费

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

三、JMX 监控(推荐)

Kafka 通过 JMX 暴露大量指标。

1. 启用 JMX

编辑 kafka-server-start.shsystemd 配置:

export JMX_PORT=9999

或 systemd:

[Service]
Environment="JMX_PORT=9999"

重启 Kafka。

2. 查看 JMX 指标(示例)

使用 jconsole

jconsole localhost:9999

常用指标:

  • kafka.server:type=BrokerTopicMetrics
  • kafka.network:type=RequestMetrics
  • java.lang:type=Memory

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

架构

Kafka → JMX Exporter → Prometheus → Grafana

1. 安装 JMX Exporter

下载:

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

配置 kafka.yml

lowercaseOutputName: true
rules:
  - pattern: ".*"

2. Kafka 启动参数

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

3. Prometheus 配置

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

4. Grafana

导入 Kafka 官方 Dashboard(ID:7589)


五、ZooKeeper 监控(如仍使用)

echo stat | nc localhost 2181

或:

zookeeper-shell.sh localhost:2181

六、系统级监控(Debian)

top
htop
iotop
df -h
free -m

七、常见监控重点

  • Broker 是否在线
  • 分区 Leader / ISR
  • 消费滞后(Lag)
  • 磁盘使用率
  • GC 情况
  • 网络吞吐

八、简单总结建议

场景 建议
测试环境 命令行 + 日志
生产环境 JMX + Prometheus + Grafana
快速排错 kafka-consumer-groups.sh

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

  • Kafka 是 apt 安装还是二进制
  • 是否使用 ZooKeeper / KRaft
  • 是否是 生产环境

我可以给你一套可直接用的监控配置

0