网络平台开展职业培训网站建设,兰州论坛网站建设,wordpress如何加友链,高端公司网站设计一、前言 关于对kafka的监控#xff0c;要求高的话可以使用kafka-exorter和jmx-exporter一起收集监控数据#xff0c;要求不高的情况下可以使用kafka-exporter收集监控数据即可
二、部署
kafka-exporter 部署kafka-exporter#xff0c;我是在k8s集群中部署的 编辑yaml文件…一、前言 关于对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-exporternamespace: monitoringlabels:app: kafka-exporter
spec:replicas: 2selector:matchLabels:app: kafka-exportertemplate:metadata:labels:app: kafka-exporterspec:containers:- name: kafka-exporter image: danielqsj/kafka-exporter #配置kafka-exporter服务镜像args: [--kafka.server10.1.60.112:9092,--kafka.server10.1.60.114:9092,--kafka.server10.1.60.115:9092] 配置kafka集群地址#如果kafka集群配置了身份验证需要在以上集群地址配置后面再加入下面的几个参数--sasl.enabled,--sasl.mechanismplain,--sasl.usernameadmin,--sasl.passwordadmin123ports:- containerPort: 9308name: metricsresources:limits:cpu: 250mmemory: 300Mirequests:cpu: 50mmemory: 10Mi
---
apiVersion: v1
kind: Service
metadata:name: kafka-exporternamespace: monitoringlabels:app: kafka-exporterns: monitoring
spec:type: NodePortclusterIP:ports:- name: metricsprotocol: TCPport: 9308targetPort: 9308nodePort: 30011selector: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_exporterstatic_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.jar9099:/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_jmxstatic_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
该页面中也有该面板的详细配置教程