【Linux】Prometheus 监控 Kafka 集群
一、项目概述
kafka_exporter
是用于 Prometheus 的 Kafka 监控指标导出器,可帮助监控 Kafka 集群的各项指标。项目地址为:https://github.com/danielqsj/kafka_exporter
二、环境准备
- 确保已安装 Prometheus生态环境,准备好kafka集群
三、下载与解压
可从 Releases 页面下载二进制文件,然后执行以下命令:
cd /opt
# 下载 kafka_exporter-1.9.0.linux-amd64.tar.gz 到当前目录
tar -zxvf kafka_exporter-1.9.0.linux-amd64.tar.gz
mv kafka_exporter-1.9.0.linux-amd64 kafka_exporter
cd kafka_exporter/
四、运行
运行 kafka_exporter
并指定 Kafka 服务器地址:
./kafka_exporter --kafka.server=kafka01:9092 --kafka.server=kafka02:9092 --kafka.server=kafka03:9092 --web.listen-address=:9308
- 参数说明:
--kafka.server
:指定 Kafka 服务器的地址和端口,可以指定多个 Kafka 服务器。--web.listen-address
:指定kafka_exporter
监听的地址和端口,这里监听在 9308 端口。
五、启动脚本示例
为了方便管理,可以创建一个启动脚本 start_export.sh
:
#!/bin/bash
./kafka_exporter \--kafka.server=kafka01:9092 \--kafka.server=kafka02:9092 \--kafka.server=kafka03:9092 \--web.listen-address=:9308 &
给脚本添加执行权限并运行:
chmod +x start_export.sh
./start_export.sh
Prometheus.yml添加export地址:
scrape_configs:- job_name: 'kafka'static_configs:- targets: ['192.168.100.150:9308']scrape_interval: 10s
六、可用标志
标志名称 | 默认值 | 描述 |
---|---|---|
kafka.server | kafka:9092 | Kafka 服务器的地址(主机:端口) |
kafka.version | 3.6.1 | Kafka 代理的版本 |
sasl.enabled | false | 是否使用 SASL/PLAIN 进行连接 |
sasl.handshake | true | 仅在使用非 Kafka SASL 代理时将此设置为 false |
sasl.username | SASL 用户名 | |
sasl.password | SASL 用户密码 | |
sasl.mechanism | plain | SASL SCRAM SHA 算法:sha256 或 sha512,或者 SASL 机制:gssapi 或 awsiam |
sasl.aws - region | AWS_REGION 环境变量 | IAM SASL 认证使用的 AWS 区域 |
sasl.service - name | 使用 Kerberos 认证时的服务名称 | |
sasl.kerberos - config - path | Kerberos 配置文件的路径 |
七、Grafana 仪表盘
- 登录 Grafana 控制台。
- 点击左侧菜单的 “+” 号,选择 “Import”。
- 导入grafna_id号
21078
对应 KAFKA Dashboard CN 20240520 StarsL.cn - 配置数据源等信息,完成仪表盘导入。