Prometheus监控Kafka_Eights-Li的博客-程序员秘密

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主机的监控结合起来放到一个页面。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baidu_31618421/article/details/106774838

智能推荐

RC加密解密算法C源代码_l_215851356的博客-程序员秘密_rc加密算法

转载地址:http://blog.csdn.net/zuifeng503/article/details/8611089http://wzgyantai.blogbus.com/logs/31867065.html近日由于用了RC4的知识,所以就对其进行了查阅,并且进行了实现,列于以下:1.RC4算法介绍     RC4加密算法Ron Rivest(非常

Django快速搭建网站_阿丘的博客的博客-程序员秘密_django搭网站

1. 安装Python如果不是特殊需要,建议安装Python3,因为Python2官方已经停止维护了。下载链接https://www.python.org/downloads/release/python-374/下载源码,编译安装python3。或者使用curl下载curl https://www.python.org/ftp/python/3.7.4/Python-3.7.4.t...

JavaScript ajax 系列一 ajax中的 get post ajax、接口测试插件 PostMan 、两个案例_Hyman-ya的博客-程序员秘密

1. 服务器与客户端上网过程中,负责存放和对外提供资源的电脑,叫做服务器。上网过程中,负责获取和消费资源的电脑,叫做客户端。2. URL地址的概念URL(全称是UniformResourceLocator)中文叫统一资源定位符,用于标识互联网上每个资源的唯一存放位置。浏览器只有通过URL地址,才能正确定位资源的存放位置,从而成功访问到对应的资源。URL地址一般由三部组成:客户端与服务器之间的通信协议(http)存有该资源的服务器名称 (www.baidu.com)资源在服务器上具体的

PhoneGap_百度百科_weixin_30410119的博客-程序员秘密

PhoneGap编辑PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以调用。业界很多主流...

使用ASI框架进行文件下载_小怡情ifelse的博客-程序员秘密

iOS开发网络篇—使用ASI框架进行文件下载说明:本文介绍iOS网络编程中经常用到的框架ASI,如何使用该框架进行文件的下载。一、简单介绍代码示例: 1 #import "YYViewController.h" 2 #import "ASIHTTPRequest.h" 3 4 @interface YYViewController () 5 6

HQL分页查询_lddzjl的博客-程序员秘密

今天封装了自己的hibernateDao,主要是基于hql的,期间遇到一个问题,最后解决了,和大家分享分享其他hibernate的查询,像QBE,QBC,这些就不说了,如果用hibernate还是hql最强大,也很容易上手先上代码,这里只列出主要代码01/**02     * hql

随便推点

mongo_脚步6978的博客-程序员秘密

登录:mongo -u username -p查看系统用户:use admindb.system.users.find(){ "_id":"admin.admin_api", "userId":"", "user":"admin_api", "db":"admin", "credentials":{ "SCRAM-SHA-1":{ "iterationCount":10000, "sa

python打印json_Python漂亮打印JSON_cunchi4221的博客-程序员秘密

python打印jsonWe can use the Python json module to pretty-print the JSON data. 我们可以使用Python json模块漂亮地打印JSON数据。 The json module is recommended to work with JSON files. We can use the dumps() method to g...

RHCS红帽集群套件实现Nginx高可用_qq_42241932的博客-程序员秘密

一、什么时RHCSRHCS(Red Hat Cluster Suite),也就是红帽子集群套件,RHCS是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合,它将集群系统中三大集群架构融合一体,可以给web应用、数据库应用等提供安全、稳定的运行环境。 RHCS提供了集群系统中三种集群构架,分别是高可用性集群、负载均衡集群、存储集群。最上层时LVS负载均衡层,中间一层是R...

Qt QWidget自绘控件_还有我Drt的博客-程序员秘密_qwidget自绘

最近在研究Qt的自绘控件,在https://qtchina.blog.csdn.net/这位大佬的博客学到了很多,下面记录下过程,先上一波图吧。上面的自绘仪表都是模仿飞扬青云那位大佬的QUI样子自绘的,但代码都自己实现,因为那位大佬有些是不开源的。其实自绘的话,套路基本都一样。我非常喜欢他的一句话:心中有坐标,万物皆可paint。首先继承QWidget类,当然你可以根据需求,继承QWidget的派生类,如QPushbutton,QLabel等等。然后就是重写paintEvent。下面以最后一个.

mysql-Percona Server详细安装步骤_licjd的博客-程序员秘密

之前安装过mysql的mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz,是需要自己手动进行配置的,Linux-CentOS6.5-MySQL安装以下是Percona-Server-5.6.24-72.2-r8d0f85b-el6-x86_64-bundle.tar的安装,请读者自行借鉴。关于此软件建议读者自行网上查找。PS:是本人太懒,不想再去找了...

防火墙添加ip白名单_如何增加网址白名单、IP白名单、策略白名单、协同防御白名单?..._weixin_39530509的博客-程序员秘密

当使用了知道创宇云安全,在进行网站管理等敏感操作时,如果发现被拦截,且确认操作可信,可以通过添加IP白名单、网址白名单、策略白名单的方式解决,这三种白名单相互独立发挥作用,可按需添加。知道创宇云安全的拦截提示设置IP白名单:IP白名单功能位于:域名列表–> 子域名列表 –> 控制面板 –> 黑白名单设置如上图拦截,在IP白名单中可以直接加入拦截iP“110.110.110.110...