prometheus 监控 kafka 常见的有两种开源方案,一种是传统的部署 exporter 的方式,一种是通过 jmx 配置监控,
项目地址:
kafka_exporter:https://github.com/danielqsj/kafka_exporter
jmx_exporter:https://github.com/prometheus/jmx_exporter
本文将采用kafka_exporter方式实现,相比JMX,其优势在于不需要消耗 JVM资源,指标收集时间从分钟级别降到秒级别,便于大规模集群的监控。
技术架构
安装
从https://github.com/danielqsj/kafka_exporter/releases下载最新版exporter,我下载的是1.7.0版本。
[root@slave03 ~]# tar -zxvf kafka_exporter-1.7.0.linux-amd64.tar.gz -C app/
[root@slave03 ~]# cd app/
[root@slave03 app]# mv kafka_exporter-1.7.0.linux-amd64/ kafka_exporter
启动
nohup ./kafka_exporter --kafka.server=slave01:9092 --kafka.server=slave02:9092 --kafka.server=slave03:9092 &
启动成功后,可以访问 http://slave03:9308/metrics/,抓取信息如下:
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0.00013475
go_gc_duration_seconds{quantile="0.25"} 0.00013475
go_gc_duration_seconds{quantile="0.5"} 0.00013475
go_gc_duration_seconds{quantile="0.75"} 0.00013475
go_gc_duration_seconds{quantile="1"} 0.00013475
go_gc_duration_seconds_sum 0.00013475
go_gc_duration_seconds_count 1
Prometheus配置
- job_name: "kafka_exporter_test"
metrics_path: /metrics
static_configs:
- targets: ["slave01:9308"]
labels:
env: "kafka-test"
重启服务或者通过命令热加载:
curl -XPOST localhost:9090/-/reload
Grafana配置
Grafana Dashboard ID: 7589, name: Kafka Exporter Overview.
For details of the dashboard please see Kafka Exporter Overview.
领取专属 10元无门槛券
私享最新 技术干货