三、安装Grafana docker镜像
3.1 docker pull grafana/grafana
$ docker pull grafana/grafana
root@docker-ubuntu:~# docker pull grafana/grafana
Using default tag: latest
latest: Pulling from grafana/grafana
97518928ae5f: Pull complete
5b58818b7f48: Pull complete
d9a64d9fd162: Pull complete
4e368e1b924c: Pull complete
867f7fdd92d9: Pull complete
387c55415012: Pull complete
07f94c8f51cd: Pull complete
ce8cf00ff6aa: Pull complete
e44858b5f948: Pull complete
4000fdbdd2a3: Pull complete
Digest: sha256:18d94ae734accd66bccf22daed7bdb20c6b99aa0f2c687eea3ce4275fe275062
Status: Downloaded newer image for grafana/grafana:latest
root@docker-ubuntu:~#
3.2 创建Grafana容器
docker run -d --name jmeter-grafana --restart=always -p 3000:3000 grafana/grafana
3.3 访问grafana
访问虚拟机ip:3000。
首次登录grafana后,需要修改密码,默认登录账密:admin/admin
选择influxDB
user:influxdb
password:123456
点击测试通过,出现上图的绿底白色对钩即可。
3.4 在Grafana配置Jmeter压测数据监控模板
首先,在Grafana官网上搜索jmeter模板:
https://grafana.com/grafana/dashboards/?search=jmeter
在+号中选择import:将number:5496 拷贝到下图中:
四、Jmeter配置influxdb后端监听器
4.1 配置后端监听器
在jmeter脚本中,http请求下,添加Listener中的Backend Listener。
Backend Listener implementation中选择
org.apache.jmeter.visualizers.backend.influxdb.influxdbBackendListenerClient
Parameters中的influxdbUrl选择influxdb docker的数据库ip地址,本文举例:
http://192.168.0.104:8086/write?db=jmeter。
参数说明:
influxdbUrl:
influxdb的部署ip和映射端口,端口是容器启动时映射的8086端口,db后面跟的是刚才创建的数据库名称,本文为jmeter
application:
可根据需要自由定义,只是注意后面在grafana中选对即可,也可以默认
measurement:
表名,默认是jmeter,也可以自定义
summaryOnly:
选择true的话就只有总体的数据,false会将每个transaction都分别记录
保存jmeter脚本后,启动:
一个简单的访问baidu的脚本可以完成本测试。
在2.6 使用jmeter库中,select * from jmeter进行查看数据,当有数据时,证明jmeter发压流量已经存入influxdb的jmeter库中。见下:
> select * from jmeter
name: jmeter
time application avg count countError endedT hit max maxAT meanAT min minAT pct90.0 pct95.0 pct99.0 rb sb startedT statut transaction
---- ----------- --- ----- ---------- ------ --- --- ----- ------ --- ----- ------- ------- ------- -- -- -------- ------ -----------
1652768663127000000 application name 10 0 0 0 10 internal
1652768668127000000 application name 183 15 0 45 336 133 268.80000000000007 336 336 1361605 14070 all all
1652768668127000000 application name 0 10 7 3 10 internal
出现上述数据,证明influxdb已经保存了jmeter发压的数据。
如果未出现,请查看虚拟机的网络配置,还有windows主机是否关闭了防火墙配置,确保主机ip可以ping通虚拟机ip,虚拟机ip可以ping通主机ip。
4.2 访问Grafana
查看在3.4节中配置的jmeter数据模板中的数据展示:
注意下图中的application,即在jmeter脚本中后端监听器中的application。
至此,Jmeter + influxDB + Grafana的性能监控平台已经搭建完毕。
资源分享
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走…
现在我邀请你进入我们的软件测试学习交流群:【746506216
】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!