在 Debian 下监控 Kafka,通常可以从 系统层、Kafka 自身指标、可视化工具 三个层面来做。下面按“由浅入深”的方式给你一个实用方案。
top
htop
free -h
df -h
iostat -x 1
关注:
安装 htop / iostat:
sudo apt update
sudo apt install htop sysstat -y
ps -ef | grep kafka
或如果是 systemd 管理:
systemctl status kafka
journalctl -u kafka -f
# 查看 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-OFFSETCURRENT-OFFSETKafka 通过 JMX 暴露大量指标。
编辑 kafka-server-start.sh 或 server.properties 启动参数:
export JMX_PORT=9999
重启 Kafka:
systemctl restart kafka
验证:
netstat -tlnp | grep 9999
这是目前最主流的方案。
sudo apt install prometheus -y
下载:
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
scrape_configs:
- job_name: 'kafka'
static_configs:
- targets: ['localhost:7071']
sudo apt install grafana -y
导入 Kafka 官方 Dashboard(ID:7589 或 10973)
适合看:
git clone https://github.com/yahoo/CMAK.git
(需 Java + sbt,稍微复杂,但很直观)
Kafka 日志位置(默认):
/var/log/kafka/
重点看:
server.log可用:
tail -f /var/log/kafka/server.log
✅ 必须关注
⚠️ 有异常才看
最小可用:
Kafka 命令行 + 系统监控
生产推荐:
Kafka + JMX + Prometheus + Grafana
如果你愿意,我可以:
你现在是 测试环境还是生产环境?