prometheus监控kafka

这篇具有很好参考价值的文章主要介绍了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监控kafka,prometheus,prometheus,kafka,分布式

  配置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数据

prometheus监控kafka,prometheus,prometheus,kafka,分布式

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

prometheus监控kafka,prometheus,prometheus,kafka,分布式

 

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

prometheus监控kafka,prometheus,prometheus,kafka,分布式

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

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

prometheus监控kafka,prometheus,prometheus,kafka,分布式

  编辑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

prometheus监控kafka,prometheus,prometheus,kafka,分布式

 查看获取的监控数据

 http://10.1.60.114:9099/metrics

prometheus监控kafka,prometheus,prometheus,kafka,分布式

配置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是否正常收集

prometheus监控kafka,prometheus,prometheus,kafka,分布式

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

面板路径:Kafka Dashboard | Grafana Labs

该页面中也有该面板的详细配置教程文章来源地址https://www.toymoban.com/news/detail-721072.html

到了这里,关于prometheus监控kafka的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式监控平台—zabbix

    作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。 利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有的服务器状态 可以在Web 前端方便的查看监控数据 可

    2024年02月13日
    浏览(53)
  • 分布式监控平台——Zabbix

    市场上常用的监控软件: 传统运维:zabbix、 Nagios 作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。 利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有的

    2024年02月13日
    浏览(49)
  • 分布式监控平台---Zabbix

    作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。 利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有的服务器状态 可以在Web 前端方便的查看监控数据 可

    2024年04月22日
    浏览(40)
  • 分布式系统监控Zabbix

    1.什么是Zabbix (1)一个基于web界面提供的分布式系统监控及网络监视功能的企业级开源解决方案 (2)Zabbix能监视各种网络参数,保证server系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 (3)Zabbix由两部分构成,zabbix server和可选组件

    2024年02月13日
    浏览(43)
  • 1.监控分布式--zabbix

    利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有的服务器状态 可以在 Web 前端方便的查看监控数据 可以回溯寻找事故发生时系统的问题和报警情况 zabbix 是一个 基于 Web 界面的提供分布式系统监视 以及网络监视功能的企业级的开源解决方案。

    2024年02月12日
    浏览(54)
  • linux系统zabbix监控分布式监控的部署

    zabbix server端监控到大量zabbix agent端,这样会使zabbix server端压力过大,使用zabbix proxy进行分布式监控 安装工具 安装mysql 导入数据结构 配置proxy端 浏览器配置 这个时候创建主机就可以选择proxy端 选择刚刚创建的agent代理程序

    2024年02月20日
    浏览(50)
  • Zabbix分布式监控系统

      ps: 阿里云盘Xnode1获取 xnode1 https://www.alipan.com/s/HgLXfoeBWG2 提取码: eb70 1、xnode1克隆两台虚拟机并修改ip zabbix-server192.168.224.3 zabbix-agent192.168.224.4 2、修改主机名 1、修改/etc/hosts文件(2个节点) 添加: 1 92.168. 224.3   zabbix-server 1 92.168. 224.4   zabbix - agent 添加: 1 92.168. 224.3   z

    2024年01月24日
    浏览(52)
  • 分布式文件存储MinIO-监控

    MinIO自身提供了关于集群状态和操作的相关的Prometheus SQL指标与支持Prometheus数据模型的监控指标收集工具进行搭配使用,无论是主机部署亦或是云上部署都可以进行集成。官方选定的第三方监控软件为Prometheus和InfluxDB,使用者可以根据各自公司对于监控设施的建设进行选择。

    2024年02月11日
    浏览(55)
  • 分布式开源监控Zabbix实战

    Zabbix作为一个分布式开源监控软件,在传统的监控领域有着先天的优势,具备灵活的数据采集、自定义的告警策略、丰富的图表展示以及高可用性和扩展性。本文简要介绍Zabbix的特性、整体架构和工作流程,以及安装部署的过程,并结合实战进行监控配置。 1、Zabbix介绍 Zab

    2024年02月09日
    浏览(41)
  • 【Linux】分布式监控 Zabbix

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。 利用一个优秀的监控软件,我们可以: ●通过一

    2024年02月17日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包