温馨提示×

debian kafka怎么监控

小樊
43
2026-10-01 01:00:01
栏目: 智能运维

在 Debian 上监控 Kafka,通常从系统层 + Kafka 自身指标 + 可视化/告警三个层面来做。下面给你一套实用方案,从简单到完整。


一、最基础的监控(先确保能跑)

1. 进程 & 端口

# 看 Kafka 进程
ps -ef | grep kafka

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

2. 日志监控

Kafka 日志一般在:

/opt/kafka/logs/
# 或
/var/log/kafka/

重点看:

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

常见异常:

  • OutOfMemoryError
  • Leader not available
  • Under replicated partitions

二、Kafka 自带的 JMX 监控(核心)

Kafka 通过 JMX 暴露大量指标。

1. 开启 JMX

编辑 kafka-server-start.sh 或 systemd 配置:

export JMX_PORT=9999

或 systemd:

[Service]
Environment="JMX_PORT=9999"

重启 Kafka:

systemctl restart kafka

验证:

ss -lntp | grep 9999

三、命令行实时监控(不用装东西)

1. 消费者延迟(最重要)

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

关注:

  • LAG > 0 且持续增长 → 消费慢

2. Topic 状态

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

看:

  • Under-replicated
  • ISR < replicas

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

1. 安装 Prometheus

apt install prometheus

2. 使用 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-jmx.yml
lowercaseOutputName: true

修改 Kafka 启动参数:

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

3. Prometheus 配置

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

4. Grafana

  • 导入 Kafka Dashboard(ID:7589 或 10973)
  • 监控:
    • 吞吐
    • 消费延迟
    • 分区副本状态
    • GC / 线程数

五、Kafka 官方工具(轻量)

Kafka Eagle(Web UI)

适合不想搭 Prometheus 的人:

  • Topic / Consumer 可视化
  • 告警
  • SQL 查询 Kafka

六、系统层监控(别忽略)

Debian 上建议同时监控:

  • CPU / 内存 / 磁盘 IO
  • 磁盘剩余(Kafka 很吃磁盘)
  • 网络吞吐

工具:

apt install htop iotop nload

七、必须重点监控的指标(精华)

✅ 消费延迟(LAG)
✅ Under-replicated partitions
✅ Request latency
✅ GC 时间
✅ 磁盘使用率
✅ Broker 存活状态


如果你愿意,我可以:

  • 给你一套 Debian + systemd 完整 Kafka 监控配置
  • 或直接给你 docker-compose 监控方案
  • 或按你是 单机 / 集群 / 云服务器 来定制

你现在是哪种环境?

0 踩