一.性能监控平台优势
1.企业流行的监控方案:Jmeter+Influxdb+Grafana2.Jmeter工具:Apache JMeter是Apache组织开发的基于Java的压力测试工具2.1.可以模拟大量线程(虚拟用户)针对被测系统进行大并发的压测2.2.在本监控平台中起到生成数据源的作用(采集数据)3.InfluxDB工具:InfluxDB Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等3.1.它由Go写成,着力于高性能地查询与存储时序型数据3.2.InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景3.3.在本监控平台起到数据存储的作用4.Grafana工具:纯Javascript开发的前端工具,可用于访问InfluxDB数据库,自定义SQL形成各种报表、图表等4.1.在本监控平台中起到数据图表展示的作用二.性能监控平台软件安装
1.InfluxDB数据库和Grafana监控平台搭建在Centos7系统中,此处使用虚拟机部署,建议还是部署在阿里云服务器上2.centos7最简版虚拟机安装:最小化Centos7虚拟机环境搭建
三.Jmeter安装
1.Jmeter是免安装的软件,直接下载、解压缩、配置一下环境变量接口,部署Jmeter在win11系统上2.Jmeter5以上版本需要jdk版本8+3.下载Jmeter3.1.下载链接:https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/4.安装Jmeter4.1.下载后解压缩到:d:/apache-jmeter-5.05.配置Jmeter6.把d:/apache-jmeter-5.0/bin配置在环境变量path中6.1.JAVA_HOME:中间变量名,值配置安装目录(根目录)%JAVA_HOME%\bin%JAVA_HOME%\jre\bin7.验证安装情况7.1.ctrl+r-->cmd-->jmeter,回车弹出jmeter的GUI界面四.InfluxDB安装
1.在centos7系统中,依次执行如下的命令1.1.下载InfluxDB安装包wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.3.x86_64.rpm1.2.安装InfluxDBsudo yum localinstall influxdb-1.6.3.x86_64.rpm1.3.修改InfluxDB的配置vim/etc/influxdb/influxdb.conf1.3.1.键盘输入i,进行编辑,需要修改两处(按照图中数据设置即可)1.3.2.输入:wq,保存退出2.启动、查看InfluxDB数据库状态2.1.启动命令: systemctl start influxdb.service2.2.查看状态命令: systemctl status influxdb.service3.创建名为Jmeter的数据库influx show databases;create database jmeter;drop database jmeter;use jmeter;select*fromjmeter;4.注意上述配置中出现的三个端口的作用8086端口:Grafana用来从数据库取数据的端口2003端口:刚刚设置的,Jmeter往数据库发数据的端口5.至此,InfluxDB数据库就安装并配置成功了!!五.Grafana安装
1.下载Grafana安装包wget https://dl.grafana.com/oss/release/grafana-6.5.2-1.x86_64.rpm sudo2.安装Grafanayum localinstall grafana-6.5.2-1.x86_64.rpm3.启动Grafana服务3.1.启动命令: systemctl start grafana-server.service3.2.查看状态命令: systemctl status grafana-server.service4.访问Grafana页面4.1.Chrome浏览器访问地址:http://xxx.xx.xx.xx:3000,4.2.ip为虚拟机的ip地址或者阿里云服务器的公网地址(端口需要在安全组内开通),4.3.用户名和密码默认都是admin,点击Login即可,登录后记得改密码,到此,Grafana安装就完成了六.监控Jmeter压测数据
1.完整部署一次Jmeter的压测,采集数据后存储在InflusDB数据库,使用Granfana看板展示压测数据的报表2.创建InfluxDB数据源2.1.登录Grafana,在首页直接点击:Create your first data source(上图第二步),也可以按照下图操作2.2.然后,选择InfluxDB作为数据源2.3.配置参数2.4.记住配置的参数,点击保存退出即可,到此数据源配置完成3.下载官网的看板模板3.1.Grafana官方提供了看板模板库,非常精致,可以直接下载使用(第三步)3.2.官方模板库: https://grafana.com/dashboards3.3.点击进入,下载模板对应的json文件到本地或者直接复制该模板的id4.Grafana导入模板4.1.回到自己部署的Grafana网站,导入上文下载的模板4.2.进入模板加载页面4.3.按照下图设置参数4.4.点击import,进入看板界面,看板已经准备好了,下面就可以在Jmeter中运行压测,生成数据4.4.1.并采集数据到InfluxDB数据库,该看板就可以从数据库读数据进行展示了5.Jmeter准备压测脚本5.1.调试一组压测脚本,并设置脚本运行时间持续600s5.2.为该线程组添加"监听器-->后端监听器"5.3.设置"后端监听器":InfluxDBBackendListenerClient5.3.1.首先来看看每个配置项的含义influxdbUrl:安装influxdb的路径;格式为:http://主机地址:8086/write?db=数据库名,这个数据库名字在数据源配置设置的jmeter application:应用名称;在 events 表中对应的字段是 application measurement:表名;数据存储到哪个表,默认是jmeter,不用改即可 summaryOnly:false,当你线程组有多个请求又想知道每个请求的结果数据时,最好填false samplersRegex:.*percentiles:90;95;99,支持的百分比事务响应时间指标 testTitle:测试名称;在 events 表中对应的字段是 text eventTags:Grafana允许为每个注释显示标签6.运行Jmeter压测6.1.在Grafana首页中点击首页看板链接6.2.查看看板中监控到的Jmeter压测数据,是不是显示效果非常好啊