(二十)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+Prometheus v2.35.0+Jmeter5.4.1)
Posted 北溟溟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(二十)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+Prometheus v2.35.0+Jmeter5.4.1)相关的知识,希望对你有一定的参考价值。
前言
上一节内容已经介绍了如何使用kubesphere平台搭建一整套k8s环境下的微服务压力测试实时监控平台,本节内容可以说是上一节内容的延续,本节内容我们使用的技术方案是Grafana8.5.2+Prometheusv2.35.0+Jmeter5.4.1,与上一节内容唯一不同的是,使用的数据存储组件换成了Prometheus,这套方案也是我们常用的压力测试实时监控方案之一。图形化实时监控压力测试的结果是反向使我们改进系统吞吐量和并发量的重要依据,搭建一套系统压力测试实时监控平台是十分之必要的。
正文
- 完成jemeter压测结果数据的实时采集
-下载Prometheus的jmeter整合插件
下载地址:https://github.com/johrstrom/jmeter-prometheus-plugin/releases,这里我们下载0.5.2版本的,最新版本Prometheus目前无法采集数据,具体原因这里还没有详查,可能版本不匹配造成的。-将下载的jar包jmeter-prometheus-plugin-0.5.2.jar放置在jmeter目录的\\apache-jmeter-5.4.1\\lib\\ext目录下
-启动一个测试应用,提供用于压测的接口,这里以atp-portal-webflux为例
-启动jmeter
-填写接口压测信息,具体可参考上篇内容
-添加prometheus的后端监听器
-填加监控配置参数
-点击jmeter开始测试按钮,访问http://ip:9270/metrics地址,如果请求能够获取到数据,说明prometheus的后端监听器能够监控到数据,关于jmeter的部分暂时到这里就结束了
- prometheus配置文件prometheus.yml创建
-点击配置->配置字典->创建,填写prometheus配置文件基本信息
-点击下一步,点击添加数据
-prometheus.yml原配置文件
global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["localhost:9090"]
-prometheus.yml配置监控jemeter监控数据
global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["localhost:9090"] #配置jemeter数据采集监控 - job_name: "jemeter-monitor" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. #配置jemeter的监控端点 static_configs: - targets: [ "143.36.211.215:9270" ]
-填写prometheus监控配置,点击对号添加
-点击创建,完成prometheus配置文件的创建
-
- prometheus应用的部署
-点击应用负载->服务->创建->无状态服务,创建一个prometheus应用
-填写prometheus应用基本配置信息,点击下一步
-点击添加容器,添加prom/prometheus:v2.35.0的docker容器镜像,并点击使用默认端口,勾选同步主机时区,点对号添加,点击下一步
-点击挂载配置字典或保密字典
-添加prometheus配置文件路径挂载,点击对号添加,点击下一步
- 勾选外部访问,NodePort访问方式
-点击创建,完成prometheus应用的创建
-根据外网暴露端口访问prometheus应用
-启动jemeter压测平台,jemeter压测数据已经可以被采集到prometheus数据库中
- grafana集成prometheus
ps:关于grafana的安装部署这里就不在赘述,可参考上篇
-点击add data source按钮添加prometheus数据源
- 选择prometheus数据源,点击添加
- 填写prometheus访问地址,完成数据源配置
- 配置Prometheus监控panel模板
-获取 Prometheus监控panel模板
-复制其模板ID号
-填入模板ID,加载监控视图
-为监控视图添加数据源
-监控图标如下:
ps:也可以根据实际情况,自定义监控模板,但是要编写prometheus的查询
结语
本节内容到此就结束了,我们下期见。。。
以上是关于(二十)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+Prometheus v2.35.0+Jmeter5.4.1)的主要内容,如果未能解决你的问题,请参考以下文章
(十五)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一个EFAK服务平台管理kafka集群
从零开始搭建k8s集群——使用KubeSphere管理平台搭建链路追踪组件zipkin服务端