温馨提示×

debian Kafka如何做监控

小樊
40
2026-09-16 01:37:43
栏目: 智能运维

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


一、Kafka 自身监控(最核心)

1. Kafka 自带 JMX 指标

Kafka 通过 JMX 暴露大量监控指标(Broker、Topic、Consumer、Producer)。

开启 JMX(Debian 上) 编辑 Kafka 启动脚本(如 kafka-server-start.sh 或 systemd 配置):

export JMX_PORT=9999

或用 systemd:

[Service]
Environment="JMX_PORT=9999"

验证:

ss -ltnp | grep 9999

2. 常用监控指标(重点)

  • Broker
    • kafka.server:type=BrokerTopicMetrics
    • kafka.network:type=RequestMetrics
  • Topic
    • MessagesInPerSec
    • BytesInPerSec / BytesOutPerSec
  • Consumer
    • kafka.consumer:type=consumer-fetch-manager-metrics
  • Under Replicated Partitions(很重要)
    • kafka.server:type=ReplicaManager

二、可视化方案(推荐)

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

1. 安装 Prometheus JMX Exporter

apt install -y java
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 启动参数:

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

2. 安装 Prometheus

apt install -y prometheus

配置 prometheus.yml

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

3. 安装 Grafana

apt install -y grafana
systemctl enable --now grafana-server

导入 Kafka Dashboard(ID:758918207


✅ 方案 2:Kafka Manager / CMAK(轻量)

适合快速看集群状态:

  • Topic 列表
  • Partition 分布
  • Consumer Lag
git clone https://github.com/yahoo/CMAK

三、系统层监控(不能少)

1. 基础监控

apt install -y node_exporter

监控:

  • CPU
  • 磁盘 IO(Kafka 非常依赖磁盘)
  • 网络带宽

2. 磁盘重点

Kafka 对磁盘延迟敏感:

iostat -x 1

四、Consumer Lag 监控(非常重要)

方式 1:命令行

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

方式 2:Prometheus + Kafka Exporter

docker run -d \
  -e KAFKA_SERVERS=localhost:9092 \
  -p 9308:9308 danielqsj/kafka-exporter

五、告警建议(生产必备)

通过 Prometheus + Alertmanager:

  • UnderReplicatedPartitions > 0
  • Consumer Lag 持续增长
  • Broker 宕机
  • 磁盘使用率 > 80%

六、推荐组合(总结)

生产推荐

Kafka
 + JMX Exporter
 + Prometheus
 + Grafana
 + Alertmanager

简单场景

Kafka + Kafka Manager

如果你愿意,我可以:

  • 给你一份 Debian + systemd 完整配置示例
  • 或针对 单节点 / 集群 给你不同方案
  • 或帮你写 Prometheus 告警规则

你现在是单机测试还是生产集群

0