prometheus监控kafka

一、前言

   关于对kafka的监控,要求高的话可以使用kafka-exorter和jmx-exporter一起收集监控数据,要求不高的情况下可以使用kafka-exporter收集监控数据即可

二、部署

kafka-exporter

   部署kafka-exporter,我是在k8s集群中部署的

   编辑yaml文件

   vi kafka_exporter.yaml 

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kafka-exporter
  namespace: monitoring
  labels:
    app: kafka-exporter
spec:
  replicas: 2
  selector:
    matchLabels:
      app: kafka-exporter
  template:
    metadata:
      labels:
        app: kafka-exporter
    spec:
      containers:
      - name: kafka-exporter 
        image: danielqsj/kafka-exporter    #配置kafka-exporter服务镜像
        args: ["--kafka.server=10.1.60.112:9092","--kafka.server=10.1.60.114:9092","--kafka.server=10.1.60.115:9092"]       #配置kafka集群地址
        #如果kafka集群配置了身份验证需要在以上集群地址配置后面再加入下面的几个参数"--sasl.enabled","--sasl.mechanism=plain","--sasl.username=admin","--sasl.password=admin@123"
        ports:
        - containerPort: 9308
          name: metrics
        resources:
          limits:
            cpu: 250m
            memory: 300Mi
          requests:
            cpu: 50m
            memory: 10Mi
---
apiVersion: v1
kind: Service
metadata:
  name: kafka-exporter
  namespace: monitoring
  labels:
    app: kafka-exporter
    ns: monitoring
spec:
  type: NodePort
  clusterIP:
  ports:
  - name: metrics
    protocol: TCP
    port: 9308
    targetPort: 9308
    nodePort: 30011
  selector:
    app: kafka-exporter

   在k8s集群中执行yaml文件生成kafka-exporter服务的pod

  kubectl apply -f kafka_exporter.yaml

  查看pod和service是否正常

  kubectl get pod,service -n monitoring

  配置prometheus配置文件

  vi /opt/prometheus/prometheus/prometheus.yml

scrape_configs:
  - job_name: "k8s_kafka_exporter"
    static_configs:   #配置kafka-exporter接口的地址
      - targets:  
["10.1.60.119:30011","10.1.60.120:30011","10.1.60.121:30011","10.1.60.122:30011","10.1.60.123:30011"]

重启prometheus服务

  systemctl restart prometheus

查看prometheus监控服务是否获取到kafka-exporter数据

 关于grafana 展示kafka-exporter数据的模板使用的是id为7589的模板

 

jmx-exporter

      关于jmx-exporter的部署方式有两种

     第一种是通过jar包的方式,再启动kafka服务时jmx-exporter服务通过java-agent的方式跟着服务一起启动,然后收集监控数据,官网是主要推荐这一种方式的

     第二种方式是独立部署jmx-exporter服务,然后kafka服务开放jmx服务端口,再jmx-exporter服务中配置监控kafka的jmx服务端口收集监控数据

   参考官网:GitHub - prometheus/jmx_exporter: A process for exposing JMX Beans via HTTP for Prometheus consumption

   这里就用官网推荐的通过java-agent的方式部署,在github上下载jmx-exporter的jar包,放到kafka的主机上

   mkdir /opt/jmx-exporter

    ls /opt/jmx-exporter

   再从github jmx-exporter项目上下载一个配置文件

   地址:https://github.com/prometheus/jmx_exporter/tree/main/example_configs

  编辑kafka的启动文件,如果是集群每个节点都要编辑

  vi /etc/kafka/kafka/bin/kafka-server-start.sh

#在配置文件顶部加上以下配置
export KAFKA_OPTS="-javaagent:/opt/jmx_exporter/jmx_prometheus_javaagent-0.18.0.jar=9099:/opt/jmx_exporter/kafka_jmx.yml"
#该配置指定了监控数据的展示端口为9099,配置时要指定jmx-exporter服务的jar包和配置文件

 启动kafka服务

 /etc/kafka/kafka/bin/kafka-server-start.sh -daemon /etc/kafka/kafka/config/server.properties 

 查询数据监控端口是否正常

 netstat -tlpn |grep 9099

 查看获取的监控数据

 http://10.1.60.114:9099/metrics

配置prometheus收集监控数据

 vi /opt/prometheus/prometheus/prometheus.yml

scrape_configs:
  - job_name: "kafka_jmx"
    static_configs:  #配置jmx—exporter服务端口
      - targets: ["10.1.60.112:9099","10.1.60.114:9099","10.1.60.115:9099"]

重启prometheus服务

systemctl restart prometheus

查看Prometheus是否正常收集

关于使用grafana面板展示数据 用的是面板id为18276,但是此面板我配置的时候在grafnan上展示不出数据

面板路径:Kafka Dashboard | Grafana Labs

该页面中也有该面板的详细配置教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/105495.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

D71X-16Q手柄蝶阀型号解析

D71X-16Q型号字母含义解析 D71X-16Q是德特森阀门常用的手柄蝶阀型号字母分别代表的意思是: D——代表阀门类型《蝶阀》 7——代表连接方式《对夹》 1——代表结构形式《中线》 X——代表阀座材质《橡胶》 -代表分隔键 16——代表公称压力《1.6MPA》 Q——代表阀体材料《…

【测试转型】人工智能的当下,测试团队如何敏捷转型 —— 无测试组织

文章目录 〇、引子一、什么是“无测试组织”?二、无测试组织适用于哪些场景?三、无测试组织还有哪些优势或特点?新书推荐 —— 《**无测试组织:测试团队的敏捷转型** 》 〇、引子 初次看到“无测试组织”的朋友可能会觉得有标题党…

Apache ActiveMQ RCE漏洞复现(CNVD-2023-69477)

0x01 产品简介 ActiveMQ是一个开源的消息代理和集成模式服务器,它支持Java消息服务(JMS) API。它是Apache Software Foundation下的一个项目,用于实现消息中间件,帮助不同的应用程序或系统之间进行通信。 0x02 漏洞概述 Apache ActiveMQ 中存…

Spring Boot集成Swagger接口分类与各元素排序问题

在上一篇中我们完成使用JSR-303校验,以及利用Swagger2得到相关接口文档,这节,我们在原先的基础之上,完成Swagger中关于对各个元素之间控制前后顺序的具体配置方法。 Swagger的接口的分组 首先我们需要对Swagger中的接口也就是以…

【LeetCode】102. 二叉树的层序遍历

题目链接 文章目录 Python3方法一: 广度优先搜索 (BFS) ⟮ O ( n ) ⟯ \lgroup O(n) \rgroup ⟮O(n)⟯方法二: 深度优先搜索 (DFS) ⟮ O ( n ) ⟯ \lgroup O(n) \rgroup ⟮O(n)⟯ C方法一: 广度优先搜索 (BFS) ⟮ O ( n ) ⟯ \lgroup O(n…

Android stdio 无法新建或打开AIDL文件(解决方法)

1.在gradle文件中添加如下代码 2.AIDL要求minsdk>16,并且要使aidl true(在Gradle中添加) android{ buildFeatures { aidl true } } 我们看见,可以创建AIDL文件了 3.接着,我们看到文件出现如下提示 4.在gradle…

hypercube背景设置为白色,绘制高光谱3D立方体

import scipy pip install wxpython PyOpenGL和Spectral需要本地安装 可参考链接https://blog.csdn.net/qq_43204333/article/details/119837870 参考:https://blog.csdn.net/Tiandailan/article/details/132719745?spm1001.2014.3001.5506Mouse Functions:left-cl…

系列六、FactoryBean vs ApplicationContext

一、FactoryBean vs ApplicationContext 1.1、概述 BeanFactory是一个工厂类,负责生产和管理bean,在Spring中BeanFactory是IOC容器的核心接口,它的主要职责就是生产bean及建立各个bean之间的依赖。applicationContext是BeanFactory的一个子接…

亿图导出word和PDF中清晰度保留方法

步骤一 在亿图软件中画一个元件大小搭配合理的图。注意字体大小的安排,尤其是角标的大小要合适,示范如下 选中所有元器件,右键使用组合功能将电路图组合为一个整体 步骤二: 将亿图软件中的图保存为SVG格式。示范如下 在导出到…

数字音频工作站软件 Ableton Live 11 mac中文软件特点与功能

Ableton Live 11 mac是一款数字音频工作站软件,用于音乐制作、录音、混音和现场演出。它由Ableton公司开发,是一款极其流行的音乐制作软件之一。 Ableton Live 11 mac软件特点和功能 Comping功能:Live 11增加了Comping功能,允许用…

Python 读取 Word 详解(python-docx)

文章目录 1 概述1.1 第三方库:python-docx 2 新建文档2.1 空白文档2.2 标题2.3 段落2.4 文本2.5 字体2.6 图片2.7 表格 3 扩展3.1 修改文档3.2 读取文档 1 概述 1.1 第三方库:python-docx > pip install python-docx2 新建文档 2.1 空白文档 impo…

多线程的学习01

什么是线程 线程是为了解决并发编程引入的机制,线程相比进程来说更轻量。 创建线程比创建进程——开销更小 销毁线程比销毁进程——开销更小 调度线程比调度进程——开销更小 进程包含线程,同一进程里的若干线程之间,共享着内存资源和文件描…

太极v14.0.4 免ROOT用Xposed

一个帮助你免 Root、免解锁免刷机使用 Xposed 模块的 APP 框架。 模块通过它改变系统和应用的行为,既能以传统的 Root/ 刷机方式运作, 也能免 Root/ 免刷机运行;并且它支持 Android 5.0 ~ 11。 简单来说,太极就是个 Xposed 框架…

【数据集】指针式圆形表计关键点数据集

指针式圆形表计关键点数据集 数据集简介数据集一览 数据集简介 数据类型:指针式圆形表计ROI区域 数据数量:1069 标注标签:中心点,起点,终点,指针端点 图像质量:高清90%,较模糊10% …

如何恢复u盘删除文件?2023最新分享四种方法恢复文件

U盘上删除的文件怎么恢复?使用U盘存储文件是非常方便的,例如:在办公的时候,会使用U盘来存储网络上查找到的资料、产品说明等。在学习的时候,会使用U盘来存储教育机构分享的教学视频、重点知识等。而随着U盘存储文件的概…

图像去噪滤波算法汇总(Python)

前言 上篇文章:图像数据噪音种类以及Python生成对应噪音,汇总了常见的图片噪音以及噪音生成方法,主要用在数据增强上面,作为数据集填充的方式,可以避免模型过拟合。想要了解图像数据增强算法的可以去看本人所撰这篇文…

基于Python Django 的微博舆论、微博情感分析可视化系统(V2.0)

文章目录 1 简介2 意义3 技术栈Django 4 效果图微博首页情感分析关键词分析热门评论舆情预测 5 推荐阅读 1 简介 基于Python的微博舆论分析,微博情感分析可视化系统,项目后端分爬虫模块、数据分析模块、数据存储模块、业务逻辑模块组成。 Python基于微博…

pdf转jpg的方法【ps和工具方法】

pdf转jpg的方法: 1.photoshop办法: pdf直接拖入ps中,另存为*.Jpg文件即可 另外注意的时候,有时候别人给你pdf文件中包含你需要的jpg文件,千万不要截图进入ps中,直接把文件拖入ps中,这样的文件…

常用应用安装教程---在centos7系统上安装JDK8

在centos7系统上安装JDK8 1:进入oracle官网下载jdk8的tar.gz包: 2:将下载好的包上传到每个服务器上: 3:查看是否上传成功: [rootkafka01 ~]# ls anaconda-ks.cfg jdk-8u333-linux-x64.tar.gz4&#xf…

PHP 数据库交互优化,根据传参查询

接上文 修改以下内容 将查询的 uid 改为 username,同时在 user 和 message 两张表中查询 $sql "select m.id,u.username,m.title,m.content from user u,message m where u.idm.uid;"根据 message 中的 id 查询,形式为 http://127.0.0.1/m…
最新文章