温馨提示×

kafka在linux怎监控

小樊
52
2026-10-05 06:49:08
栏目: 智能运维

在 Linux 上监控 Kafka,通常可以从系统层面、Kafka 自身指标、日志、以及可视化工具几个维度来做。下面按实用程度给你一个完整指南。


一、最基础:进程 & 端口监控

1. 看 Kafka 进程

ps -ef | grep kafka
# 或
jps | grep Kafka

2. 看端口(默认 9092)

netstat -tunlp | grep 9092
# 或
ss -tunlp | grep 9092

二、Kafka 自带命令行工具(最常用)

Kafka 自带很多脚本,在 bin/ 目录下。

1. 查看 Topic & 消费情况

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

# topic 详情
kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic test

# 消费滞后(非常重要)
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group my-group

2. 生产者 / 消费者压测

kafka-producer-perf-test.sh --topic test --record-size 1024 --num-records 100000 --throughput -1 --producer-props bootstrap.servers=localhost:9092

kafka-consumer-perf-test.sh --bootstrap-server localhost:9092 --topic test --messages 100000

三、Kafka 核心指标(JMX)

Kafka 通过 JMX 暴露大量指标。

1. 开启 JMX

export JMX_PORT=9999
bin/kafka-server-start.sh config/server.properties

或用 KAFKA_JMX_OPTS 指定。

2. 常用监控指标

  • kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
  • kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
  • kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
  • kafka.consumer:type=consumer-fetch-manager-metrics
  • kafka.network:type=RequestMetrics

可用 jconsole 或 visualvm 连 JMX 看。


四、日志监控(非常重要)

1. Kafka 日志位置

# server.properties 中
log.dirs=/data/kafka-logs

2. 实时看日志

tail -f /data/kafka-logs/server.log

3. 常见异常

  • OutOfMemoryError
  • Leader not available
  • Under-replicated partitions

五、系统级监控(Linux)

1. CPU / 内存 / IO

top
free -h
iostat -x 1
df -h

Kafka 对 磁盘 IO 和内存 非常敏感。


六、生产环境推荐方案(重点)

✅ 方案一:Kafka + Prometheus + Grafana(最主流)

组件:

  • Kafka Exporter
  • JMX Exporter
  • Prometheus
  • Grafana

架构:

Kafka → JMX Exporter → Prometheus → Grafana

常用 Dashboard:

  • Kafka Overview
  • Consumer Lag

✅ 方案二:ELK / Loki 日志监控

  • Filebeat 收集 Kafka 日志
  • Elasticsearch / Loki 存储
  • Kibana / Grafana 查询

✅ 方案三:ZooKeeper(老版本)

echo stat | nc localhost 2181

七、快速自检清单(日常运维)

  • [ ] 磁盘使用率 < 80%
  • [ ] 消费 Group Lag 是否增长
  • [ ] Broker 是否全在线
  • [ ] Under-replicated partitions = 0
  • [ ] GC 日志正常

如果你愿意,我可以:

  • 给你一套 Prometheus + Grafana 监控 Kafka 的实战配置
  • 或针对 单机 / 集群 / 云环境 给具体方案

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

0 踩