温馨提示×

怎样监控debian kafka

小樊
37
2026-09-07 00:08:18
栏目: 智能运维

在 Debian 上监控 Kafka,通常可以从 系统层、Kafka 自身指标、日志、以及可视化/告警 四个层面来做。下面给你一套比较实用、可落地的方案。


一、基础系统与进程监控(先保命)

1. 进程与端口

# 查看 Kafka 是否在运行
systemctl status kafka

# 或
ps -ef | grep kafka

# 端口监听(默认 9092)
ss -lntp | grep 9092

2. 系统资源

top
htop
df -h
free -m

建议安装:

apt install htop sysstat

二、Kafka 自带工具(最快上手)

1. Topic / 消费状态

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

# 查看消费延迟(非常重要)
kafka-consumer-groups.sh \
  --bootstrap-server localhost:9092 \
  --describe --group your-group

关注:

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

三、JMX + 监控工具(推荐)

Kafka 通过 JMX 暴露大量指标。

1. 开启 JMX

编辑 Kafka 启动脚本(通常是 /etc/kafka/server.properties 或 systemd):

export JMX_PORT=9999

或 systemd:

[Service]
Environment="JMX_PORT=9999"

重启 Kafka:

systemctl restart kafka

2. 使用 JMX Exporter + Prometheus(最常用)

安装 Prometheus JMX Exporter

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

Kafka 启动参数

export KAFKA_OPTS="
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=127.0.0.1
-javaagent:/path/jmx_prometheus_javaagent-0.20.0.jar=7071:/path/kafka.yml
"

Prometheus 配置

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

四、可视化(强烈推荐 Grafana)

推荐监控面板

  • Kafka Overview
  • Kafka Consumers
  • Kafka Broker Metrics

Grafana 官方/社区面板 ID:

  • 7589(Kafka JMX)
  • 10987

重点看:

  • Broker 存活
  • 请求耗时(request latency)
  • 消息流入/流出速率
  • 消费 Group LAG
  • 磁盘使用

五、日志监控(别忽视)

Kafka 日志位置

通常在:

/var/log/kafka/

重点看:

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

可用:

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

或接 ELK / Loki。


六、告警建议(生产必做)

至少告警:

  • Broker 宕机
  • 消费 LAG 持续增长
  • 磁盘 > 80%
  • 请求错误率升高
  • GC 时间过长

七、轻量级方案(不想搞 Prometheus)

如果你只是想简单看:

  • kafka-consumer-groups.sh
  • jconsole(图形界面)
  • kafdrop(Web UI,适合小环境)

总结(推荐组合)

生产推荐:

Debian + Kafka JMX + Prometheus + Grafana + 消费 LAG 告警

最小可用:

systemctl + consumer-groups + 日志


如果你愿意,我可以:

  • 给你一套 完整 Prometheus + Grafana 配置
  • 或针对 单节点 / 集群 Kafka 分别说明
  • 或帮你写 systemd 监控告警脚本

你现在是 开发环境还是生产环境

0