温馨提示×

debian下kafka怎样监控

小樊
49
2026-10-12 17:31:38
栏目: 智能运维

在 Debian 下监控 Kafka,通常可以从 系统层、Kafka 自身指标、可视化工具 三个层面来做。下面按“由浅入深”的方式给你一个实用方案。


一、基础监控(系统 & 进程)

1. 系统资源监控

top
htop
free -h
df -h
iostat -x 1

关注:

  • CPU 使用率
  • 内存
  • 磁盘 IO(Kafka 对磁盘很敏感)
  • 网络带宽

安装 htop / iostat:

sudo apt update
sudo apt install htop sysstat -y

2. Kafka 进程状态

ps -ef | grep kafka

或如果是 systemd 管理:

systemctl status kafka
journalctl -u kafka -f

二、Kafka 自带监控方式

1. Kafka 自带的命令行工具

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

# 查看消费者组
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list

# 查看消费滞后(重要)
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group your_group

关注重点:

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

2. Kafka 内置 JMX 指标(非常重要)

Kafka 通过 JMX 暴露大量指标。

启用 JMX

编辑 kafka-server-start.sh 或 server.properties 启动参数:

export JMX_PORT=9999

重启 Kafka:

systemctl restart kafka

验证:

netstat -tlnp | grep 9999

三、使用 Prometheus + Grafana(推荐)

这是目前最主流的方案。

1. 安装 Prometheus

sudo apt install prometheus -y

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:

rules:
  - pattern: "kafka.server<type=BrokerTopicMetrics,name=MessagesInPerSec><>Count"
    name: kafka_messages_in_total

启动 Kafka 时加参数:

-javaagent:/path/jmx_prometheus_javaagent-0.20.0.jar=7071:/path/kafka-jmx.yml

3. Prometheus 配置

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

4. Grafana 看板

sudo apt install grafana -y

导入 Kafka 官方 Dashboard(ID:7589 或 10973)


四、Kafka Manager / CMAK(Web 管理)

适合看:

  • Topic
  • Partition
  • Consumer Group
  • Lag
git clone https://github.com/yahoo/CMAK.git

(需 Java + sbt,稍微复杂,但很直观)


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

Kafka 日志位置(默认):

/var/log/kafka/

重点看:

  • server.log
  • ERROR / WARN
  • UnderReplicatedPartitions

可用:

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

六、监控指标优先级(实用建议)

✅ 必须关注

  • 消费 Lag
  • 磁盘使用率
  • UnderReplicatedPartitions
  • RequestHandlerAvgIdlePercent

⚠️ 有异常才看

  • GC 时间
  • NetworkProcessorAvgIdlePercent

七、总结推荐方案

最小可用:

Kafka 命令行 + 系统监控

生产推荐:

Kafka + JMX + Prometheus + Grafana


如果你愿意,我可以:

  • 给你一份 Debian 一键监控脚本
  • 或针对 单节点 / 集群 给你不同方案
  • 或直接给你 Grafana Dashboard JSON

你现在是 测试环境还是生产环境?

0 踩