kafka topic监控采集

使用开源的项目

直接通过编译好的二进制文件部署

kafka_exporter二进制文件下载地址 下载 kafka_exporter-1.2.0.linux-amd64.tar.gz

1、启动kafka_exporter

brokers=$1
export_port=$2 #从8308开始
for broker in `echo "${brokers}"|sed 's/,/
/g'`;do
  opt="${opt} --kafka.server=${broker}"
done
nohup ./kafka_exporter ${opt} --sasl.username=1111 --sasl.password=1111 --sasl.enabled --web.listen-address=":${export_port}" &>>kafka_exporter.log&

2、部署prometheus,结合consul动态注册服务

配置consul

1. 官网下载consul二进制文件
2. 启动consul
nohup ./bin/consul agent -server -bootstrap-expect 1 -data-dir=./data -node=server1 -log-file=./logs/consul.log -bind=localhost -client=localhost -ui >consul_start.log &
3. 注册服务
curl -X PUT -d '{"id": "kafka_export_1","name": "kafka_export_1","address": "localhost","port": 8308,"checks": [{"http": "http://localhost:8308/metrics","interval": "30s"}]}' http://localhost:8500/v1/agent/service/register
4. 删除服务
curl -X PUT http://localhost:8500/v1/agent/service/deregister/kafka_export_1

下载prometheus-2.15.1.linux-amd64

配置

 

 最好是通过consul进行动态注册服务,consul配置方式

promtheus 配置

 启动prometheus

nohup ./prometheus --config.file=prometheus.yml --web.listen-address="0.0.0.0:8200" &>prometheus.log &

当consul注册成功后可以在consul web http://localhost:8500/ui/dc1/services 看到注册的服务

在prometheus web 端http://localhost:8200/targets 可以看到consul中的target

3、部署grafana

下载grafana-6.5.2-1.x86_64.rpm

wget https://dl.grafana.com/oss/release/grafana-6.5.2-1.x86_64.rpm --timeout=72000

由于服务器端做了限速,所以龟速下载

yum install grafana-6.5.2-1.x86_64.rpm
# 安装完之后对于centos7,会自动配置system服务,服务配置文件
/usr/lib/systemd/system/grafana-server.service
# 配置文件
/usr/share/grafana/conf/defaults.ini
# 启动服务
systemctl start grafana-server

4、配置grafana

添加datasource

 导入dashboard 模版,id为7589

添加自定义仪表盘

遇到的问题

由于有些集群的topic非常多导致grafana报表展示出错

Request-URI Too Long

这是因为查询语句中会拼接所有的topic,导致查询参数太长请求发送失败 

解决办法

将查询语句:

改为:

原文地址:https://www.cnblogs.com/Bccd/p/13365087.html