jmeter使用非GUI模式进行性能测试时,控制台返回的性能测试信息相对来说不够直观(例如下图所示),也不便将结果实时分享给其他人员,如果想要得到HTML图形报告还需要等到脚本运行结束才能查看。
参考网上一些资源,可以通过jmeter+influxdb+grafana搭建一个可视化实时监控平台,满足我们的需求。
一、下载安装
- InfluxDB 是 Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等数据
- Grafana 是纯 Javascript 开发的一套开源WEB可视化平台,用于访问 InfluxDB,自定义报表、显示图表等
- Jmeter是Apache组织开发的基于Java的压力测试工具
1、inlfluxdb下载
官网地址:https://portal.influxdata.com/downloads
2、grafana下载:
官网地址:https://grafana.com/grafana/download?platform=windows
二、配置
1、inlfluxdb配置
(1)将下载好的inlfluxdb解压后,用记事本打开influxdb.conf
(2)修改graphite配置项(jmeter通过2003端口连接)
[[graphite]]
# Determines whether the graphite endpoint is enabled.
enabled = true
database = "jmeter"
# retention-policy = ""
bind-address = ":2003"
protocol = "tcp"
consistency-level = "one"
(3)修改HTTP配置项(grafana通过8086端口连)
[http]
# Determines whether HTTP endpoint is enabled.
enabled = true
# Determines whether the Flux query endpoint is enabled.
# flux-enabled = false
# Determines whether the Flux query logging is enabled.
# flux-log-enabled = false
# The bind address used by the HTTP service.
bind-address = ":8086"
端口说明:
- 8086端口,Grafana用来从数据库取数据的端口
- 2003端口,JMeter往数据库发数据的端口
2、influxdb数据库操作
(1)首先双击inluxdb压缩包中的influxd.exe,或者通过CMD到influxdb的目录下,直接命令influxd -config influxdb.conf 启动。
(2)命令行切换到influxdb的目录下,输入influx,登录
(3)创建名为"jmeter"数据库
>create database "jmeter"
> use jmeter
Using database jmeter
> select * from jmeter limit 10
3、jmeter配置
为jmeter添加监听器Backend Listener,并在Backend Listener填写如下信息。
http://localhost:8086/write?db=jmeter
4、grafana配置
(1)将下载好的grafana压缩包解压,进入bin目录下,双击grafana-server.exe启动。
(2)浏览器输入http://localhost:3000/login,访问grafana主页
(3)使用admin/admin登录,创建influxdb数据源(请先保证influxdb已启动)
(4)导入Dashboard模板
官网模版库:https://grafana.com/dashboards,搜索对应关键字(如jmeter),选择模板,复制模板编号或下载Dashboard JSON文件,在下图中填写对应的模板编号 或 上传JSON文件 导入。
(5)修改名称,选择对应的数据源,点击Import
三、页面监控效果