在Debian上部署Kafka监控工具可以通过多种方式实现,以下是几种常见的方法:
安装Kafka Exporter:
你可以通过Docker Compose来部署多个Kafka Exporter实例,每个实例监控一个Kafka broker。以下是一个示例配置:
version: '3.1'
services:
kafka-exporter-opslogs:
image: bitnami/kafka-exporter:latest
command: '--kafka.server10.2.19.43:9092 --kafka.server10.2.24.62:9092 --kafka.server10.5.98.190:9092 --kafka.version3.2.1'
restart: always
ports:
- 9310:9308
kafka-exporter-prod:
image: bitnami/kafka-exporter:latest
command: '--kafka.server192.168.53.99:9092 --kafka.server192.168.53.53:9092 --kafka.server192.168.53.96:9092'
restart: always
ports:
- 9311:9308
配置Prometheus接入Kafka Exporter:
在Prometheus的配置文件(通常是prometheus.yml
)中添加Kafka Exporter的job:
job_name: 'kafka-exporter'
metrics_path: /metrics
scrape_interval: 15s
scrape_timeout: 10s
static_configs:
- targets:
- 10.0.0.26:9310
labels:
name: kafka-opslogs
- 10.0.0.26:9311
labels:
name: kafka-prod
使用Grafana可视化监控:
安装Grafana并在Debian上配置:
sudo apt-get update
sudo apt-get install grafana
导入基于Prometheus的Kafka监控面板(例如starsliao/Prometheus项目中的看板)。登录Grafana,点击左侧菜单中的Manage - Install,搜索并安装Prometheus插件,然后导入Kafka看板(ID: 21078)。
启用JMX:
修改kafka-server-start.sh
脚本,增加JMX端口配置:
export JMX_PORT="9999"
启动JConsole:
在终端中输入以下命令启动JConsole:
jconsole
通过JConsole连接到Kafka broker的JMX端口(例如:service jmx:jmxmp start -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
)。
安装Kafka Manager:
从Kafka Manager的GitHub仓库下载并解压:
wget https://github.com/yahoo/CMAK/releases/download/0.11.0/kafka_manager-0.11.0.tgz
tar -xzf kafka_manager-0.11.0.tgz
cd kafka_manager-0.11.0
配置Kafka Manager:
修改Kafka集群启动脚本,增加JMX相关参数。例如,修改kafka-run-class.sh
文件:
-Djava.rmi.server.hostname=LAPTOP-3B77RHGG3
启动Kafka Manager:
按照项目文档中的步骤启动Kafka Manager,并进行配置。