(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)

前言

压力测试是测试系统应用瓶颈的重要手段之一,无论是单应用还是微服务,对于高并发、频繁访问的接口实行压力测试都是有必要的。本节内容我们依然使用kubesphere平台,搭建一套k8s环境下的压力测试性能监控平台,用于应用接口的压力测试,并达到实时监控展示的效果。使用的技术方案为:使用influxdb2时序数据库存储压力测试的结果数据,使用jmeter5整合influxdb2的控制器完成压力测试结果数据的上传,使用grafana8完成压力测试结果数据的实时展示。关于docker镜像的说明:influxdb:2.2.0与grafana/grafana:8.5.2。

正文

  • 创建时序数据库influxdb2

-点击应用负载-服务-创建-无状态服务,填写influxdb数据库服务基本信息,点击下一步

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第1张图片

-点击添加容器,添加influxdb的docker容器镜像influxdb:2.2.0,并点击使用默认默认端口

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第2张图片

-勾选环境变量,填写 influxdb启动的环境变量,并勾选同步主机时区,点击对号添加,点击下一步

#influxdb2的启动方法,直接启动,也可以使用更新的方式,如果升级influxdb的版本
DOCKER_INFLUXDB_INIT_MODE=setup
#influxdb2的用户名设置
DOCKER_INFLUXDB_INIT_USERNAME=influxdb_atp
#influxdb2的密码
DOCKER_INFLUXDB_INIT_PASSWORD=influxdb_atp
#influxdb2的org设置
DOCKER_INFLUXDB_INIT_ORG=my-org-atp
#influxdb2的bucket设置
DOCKER_INFLUXDB_INIT_BUCKET=my-bucket-atp

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第3张图片

-继续点击下一步,到高级设置页面,勾选外网访问,NodePort方式访问

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第4张图片

-点击创建,完成 influxdb2时序数据库的部署

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第5张图片

-通过对外暴露端口,输入前面配置的用户名与密码登录访问influxdb2时序数据库

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第6张图片

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第7张图片

  • 部署grafana服务

-点击应用负载-服务-创建-无状态服务,填写grafana服务基本信息,点击下一步

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第8张图片

-点击添加容器,添加grafana的docker容器镜像grafana/grafana:8.5.2,并点击使用默认端口

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第9张图片

-勾选同步主机时区,点击对号,点击下一步

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第10张图片

-点击下一步,勾选外网访问,NodePort访问方式

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第11张图片-点击创建,完成 grafana服务的创建

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第12张图片

-根据暴露外网访问的端口,访问 grafana,输入用户名和密码登录

  • grafana整合influxdb2

 - 进入influxdb的web界面,点击Data->API Tokens

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第13张图片

- 点击获取influxdb登录token

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第14张图片

- influxdb的token为,后面grafana接入influxdb数据源会用到该值

hMGzrXuoF7gr1QZUh_LC0xnZdXQ2sQxwDapMJ_RySPFzJGb_GASkoJaPgTvQigi9BS2ARNzep3zJ_xdBMpmQXA==

- 点击Configuration->Data sources

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第15张图片

-点击Add data source

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第16张图片

- 选择influxdb数据源

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第17张图片-填写查询语言,填写influxdb的url访问地址

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第18张图片

-添加influxdb数据源配置信息

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第19张图片

-点击保存和测试,完成influxdb数据源的添加

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第20张图片

-获取jemeter监控模板,访问地址Dashboards | Grafana Labs,搜索influxdb2的监控模板

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第21张图片

-点击进入获取其模板的ID号:13644

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第22张图片

-点击import,添加jemeter压测数据结果的监控模板

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第23张图片

-输入获取的模板ID号,点击load,加载监控模板

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第24张图片

-选择上面配置的influxdb数据源

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第25张图片

-点击导入,完成压力测试监控界面的配置

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第26张图片

  •  jemeter整合influxdb控制器完成压力测试结果数据的上传

-下载jemeter压力测试工具,地址Apache JMeter - Download Apache JMeter,并解压即可

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第27张图片

-下载influxdb2后置监听器的插件,地址:Releases · mderevyankoaqa/jmeter-influxdb2-listener-plugin · GitHub

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第28张图片

-将插件放置在jmeter的插件库目录/lib/ext下,启动jemeter插件的时候就可以配置该后置监听器了

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第29张图片

 ps:这里要注意的是,使用该jemeter插件,需要jdk11版本才能支持,这里我们要确保本地已经安装了jdk11的环境

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第30张图片

-点击jemeter解压目录bin下的jmeter.bat启动jemeter

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第31张图片-进入jemeter操作界面

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第32张图片

-填写一个atp压力测试计划

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第33张图片 -将操作界面改为中文操作界面

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第34张图片

-鼠标右键添加一个线程组

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第35张图片

-填写并发访问策略,2000的并发,一秒中一次

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第36张图片

-鼠标右键线程组添加http请求取样器

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第37张图片

-填写压测的接口请求信息

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第38张图片

 -填加一些jemeter监控组件

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第39张图片

 -添加后端监听器

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第40张图片

-填写influxdb监控的后端监听器,并配置其相关数据源信息

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第41张图片

 - 启动atp应用的测试服务,确保可以压测/user/1接口

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第42张图片

- 点击 jemeter压测按钮,开始执行压测

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第43张图片 - 通过jemeter控制台查看压测结果

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第44张图片

 - 通过grafana实时监控查看jemeter的压测结果

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)_第45张图片

结语

至此,关于使用kubesphere平台,搭建一套k8s环境下的压力测试性能监控平台,用于应用接口的压力测试平台就全部完成了,创作不易,记得点赞、关注加收藏哦,我们下期见。。。

你可能感兴趣的:(kubesphere,k8s,压力测试,kubernetes,云原生,容器,压力测试,docker)