Prometheus监控Kafka

1

背景介绍

大数据组件中,Kafka使用非常广泛。而提及Kafka的监控,历来都是个头疼的事情,Kafka的开源社区在监控框架上并没有投入太多的精力。(Cloudera倒是有一个关于Kafka独立的产品Cloudera Streams Management

下面是几种常见的Kafka监控方案:

  • JMXTool

  • Kafka Manager

  • Kafka Eagle(目前使用中)

  • Kafka Center(最近才开源,没有做测试)

  • Prometheus + Grafana

以上开源监控方案,各有千秋,Kafka Manager,Kafka Eagle,适合基本的Kafka监控。如果企业已经使用上Prometheus,也非常方便将Kafka的监控集成到Prometheus上。即采用kafka_exporter采集Kafka的metrics,发送到Prometheus,使用Grafana进行展示。

2

kafka_exporter安装

下载地址:https://github.com/danielqsj/kafka_exporter/releases

Prometheus监控Kafka_第1张图片

上传服务器并进行解压

tar -zxvf kafka_exporter-1.2.0.linux-amd64.tar.gz -C /opt/

创建日志目录,编写启动脚本

vi /var/log/kafka_exporter.log
# 启动脚本
/opt/kafka_exporter-1.2.0.linux-amd64/kafka_exporter \
--kafka.server=10.64.49.5:9092 >> /var/log/kafka_exporter.log

编写kafka_exporter启动服务

vi /usr/lib/systemd/system/kafka_exporter.service

[Unit]
Description=kafka_exporter
Documentation=https://github.com/danielqsj/kafka_exporter/
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
# 启动脚本
ExecStart=/opt/kafka_exporter-1.2.0.linux-amd64/start_kafka_exporter.sh

[Install]
WantedBy=multi-user.target

启动kafka_exporter服务,注意修改下/var/log/kafka_exporter.log文件的所属用户和权限

# 配置开机启动
systemctl enable kafka_exporter
systemctl start kafka_exporter
systemctl status kafka_exporter

Prometheus监控Kafka_第2张图片

访问kafka_exporter机器的9308端口

Prometheus监控Kafka_第3张图片

kafka_exporter部署完成

3

Prometheus配置采集kafka_exporter

修改prometheus的yml配置文件,添加kafka_exporter配置

# 采集kafka指标
  - job_name: 'prod_kafka'
    static_configs:
    - targets:
      - 'utility2.xxxxxx.com:9308'

Prometheus监控Kafka_第4张图片

更新prometheus配置

curl -X POST http://127.0.0.1:9091/-/reload

访问Prometheus查看kafka_exporter是否生效

Prometheus监控Kafka_第5张图片

4

配置Grafana

搜索kafka的grafana仪表板,下载json配置

地址:https://grafana.com/grafana/dashboards/7589

导入Grafana dashborad

Prometheus监控Kafka_第6张图片

Prometheus监控Kafka_第7张图片

模板导入效果,后续可以根据自身业务进行修改,Prometheus上可以配置Kafka的报警策略。在dashboard上,可以跟Kafka主机的监控结合起来放到一个页面。

Prometheus监控Kafka_第8张图片

你可能感兴趣的:(Prometheus监控Kafka)