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

上传服务器并进行解压

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

访问kafka_exporter机器的9308端口

kafka_exporter部署完成

3

Prometheus配置采集kafka_exporter

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

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

更新prometheus配置

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

访问Prometheus查看kafka_exporter是否生效

4

配置Grafana

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

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

导入Grafana dashborad

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

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值