Jmeter5.4+InfluxDB2.1+grafana8.0可视化监控平台搭建
文章目录
一、我们要做什么?
1.本次我们来搭建Jmeter5.4+InfluxDB2.1+grafana8.0搭建的压测可视化实时监控平台。
二、我们为什么要做?
1.看到大神们在讨论Jmeter + InfluxDB + Grafana监控,说起来Jmeter原生的监控确实能用,用习惯的可能还好,但是对一个有追求新事物的心的人。看到有东西可以替代那原生的监控数据,果断亲自动手部署了一套。
1.看起来效果还不错,数据是用InfluxDB来存储的,展示则是用Grafana来展示的
2.基本上,就是Jmeter通过“Backend Listener”,将测试的数据上传到我的虚拟机上,通过InfluxDB来存储,Grafana来展示出来。我们访问web,稍微配置一下,就可以看到展示的数据了。
3.本次我们使用docker来尝试搭建,使用docker来搭建是因为这样可以快速搭建成功,对应没有什么高级要求的,这种比较适合快速搭建。也适合一些新手来学习这个搭建流程。
三、我们在哪里做?
1.本次搭建使用云服务器,安装的系统是centos7
2.安装了docker
3.如果使用的云服务器,或者Linux系统开启了防火墙,记得开放8086、3000端口
四、我们怎么做?
1、安装InfluxDB2.1
1.启动docker
systemctl start docker
2.拉取最新InfluxDB镜像
docker pull influxdb
3.检查下容器列表是否成功拉下influxdb镜像
docker images
4.启动influxdb,这里influxdb2.0+之后就没有用8083端口进行界面配置了,所以这里就用8086端口映射就行
docker run -d -p 8086:8086 --name=jemterdb influxdb
5.检查下是否启动成功,如果有刚才启动的那个镜像就可以了
docker ps -a
6.启动成功后,我们就可以用http:\\ip:8086\
访问我们的influxdb图形化界面了,根据界面指引创建数据库就行
7.设置完成后,我们先把后面要用的一些连接信息保存下
2、安装grafana8.0
1.拉取最新grafana镜像
docker pull grafana/grafana
2.检查下容器列表是否成功拉下grafana镜像
docker images
3.启动grafana,这里就用3000端口映射就行
docker run -d -p 3000:3000 --name=grafana grafana/grafana
4.检查下是否启动成功,如果有刚才启动的那个镜像就可以了
docker ps -a
5.打开浏览器输入http:\\ip:8086\
查看访问是否成功(首次进入需要创建密码和设置组织)
3、Grafana中设置influxdb
1.添加influxdb数据库
2.设置influxdb的连接信息
3.添加grafana的数据看板,这里直接使用官方的数据看板,ID:13644。(这里使用13644看板是因为influxdb在2.0+以后的版本有些变动,数据库的查询语言从sql变成flux语言所以数据看板也使用适配2.0的看板)
4.打开看板,查看效果
3、Jmeter5.4.1配置influxDB数据库后端处理器
1.我们这里使用的是influxDB2.0+,Jmeter官方自带的“Backend Listener”里面influxdb客户端没有适配新版的grafana的数据看板,所以我们这里自己去github上找个适配influxdb2.0的客户端jar包。这里我就使用了:https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin 的插件
2.我们把下载的jar包放到jmeter的扩展ext文件夹下
3.启动Jmeter,添加线程组,添加http请求,添加后端监听器
4.配置后端监听器连接我们的influxDB
4、运行及结果展示
1.官方更多:https://grafana.com/grafana/dashboards?dataSource=influxdb
2.启动jmeter查看Grafana展示,自己部署的看起来跟大神的还有差距啊,想增加更多的效果可以自己计算结果选择图形展示啊。
五、参考文献
https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin
https://grafana.com/grafana/dashboards/?dataSource=influxdb&search=jmeter
http://jmeter.apache.org/usermanual/realtime-results.html
http://jmeter.apache.org/usermanual/realtime-results.html
https://docs.influxdata.com/influxdb/v2.1/install/?t=Docker