Prometheus-采集Kafka指标
云厂商Kafka地址: 1.1.1.1
其他服务器地址: 2.2.2.2
自建Kafka推荐使用: jmx_exporter
云端开启 jmx agent 采集
今天使用 kafka_exporter 采集,因为阿里云云端 Kafka, 只有k8s集群容器上才有 Jmx agent 采集接口
1. 下载 kafka_exporter
kafka_exporter
[ -d "/data" ] || mkdir /data
[ ! -d "/data/kafka_exporter" ] || exit 1
cd /usr/local/src
wget https://github.com/danielqsj/kafka_exporter/releases/download/v1.7.0/kafka_exporter-1.7.0.linux-amd64.tar.gz
tar -zxvf kafka_exporter-1.7.0.linux-amd64.tar.gz
mv kafka_exporter-1.7.0.linux-amd64 /data/kafka_exporter
2. 运行 kafka_exporter 服务
1. 方式 A 直接启动。
nohup ./kafka_exporter --kafka.server=1.1.1.1:9092 &&
2.方式 B 通过 system 管理。
cat >> /lib/systemd/system/kafka_exporter.service <<EOF
[Unit]
Description=kafka_exporter
After=local-fs.target network-online.target network.target
Wants=local-fs.target network-online.target network.target
[Service]
ExecStart=/data/kafka_exporter/kafka_exporter --kafka.server=1.1.1.1:9092
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable kafka_exporter
systemctl start kafka_exporter
systemctl status kafka_exporter
3. Prometheus 配置
root@monitor-1:/data/monitor/prometheus# cat prometheus.yaml
...略
# Kafka消息队列相关
- job_name: 'Kafka消息队列'
static_configs:
file_sd_configs:
- refresh_interval: 30s
files:
- "vhosts/kafka/*.json"
root@monitor-1:/data/monitor/prometheus# pwd
/data/monitor/prometheus
root@monitor-1:/data/monitor/prometheus# cat vhosts/kafka/saas.json
[
{
"targets": ["2.2.2.2:9308"],
"labels": {
"label": "xxx使用",
"account": "account@xxx.com",
"cloud": "xxx云",
"instance": "1.1.1.1:9092" # Kafka 不在本地,覆盖 instance
}
}
]
./promtool check config prometheus.yml
curl -XPOST localhost:8090/-/reload
4. Grafana 配置
根据喜好自行选择: https://grafana.com/grafana/dashboards
Last updated