创建数据源
一共有两个入口哈,可以在首页直接点击 Create your first data source ,也可以看第二张图按步骤进入创建页面
然后,选择InfluxDB作为我们的数据源
到此为止,数据源就配置成功啦!!
配置数据看板
Grafana&InfluxDB集成,展示测试结果数据
panel基础使用
按上面的步骤创建好DashBoard后,再通过panel展示具体数据,先介绍下panel的入口
一般选 Add Query 先,当然选 Choose Visualization 也可以,进去后可以相互切换的
Convert to row 就是生成一行,可以将展示差不多一致类型数据的panel放到里面,统一管理,收起or展开;
如下图,我将描述线程数和响应数的panel放在同一个Row了
数据绑定
查看总线程数、成功响应数、失败响应数
可以先点Add Query,进入到下面的界面'
若想看成功响应数和失败响应数,只需要切换表名即可;
可以发现跟我一开始只展示数字不太一样,因为图表类型还没设置;当我们只想看数据而不想看数据趋势图的话,可以改变它的类型;
在同一个界面,点击左侧列表选中第二个icon,然后选择Singlestat即可
查看所有请求、get请求、post请求的TPS
如果想在同一个panel里展示多个指标数据的话,可以通过在Panel里Add Query
基本的数据绑定已经教会大家啦,自己想要展示什么数据直接改变表名就行了
顺带附上官方提供的一个数据看板图,大家也可以照搬照抄用它的panel,手动添加每个指标
至此,初级版的Grafana+Jmeter+Influxdb 性能实时监控平台初步搭好啦!
当然博主是不建议Jmeter使用 GraphiteBackendListenerClient 来采集数据的,因为请求多起来的时候会有非常多的表,维护成本也会增加;后面将会介绍如何通过 InfluxDBBackendListenerClient 来采集数据
配置Backend Listener之InfluxDBBackendListenerClient
配置项含义
首先来看看每个配置项的含义
- influxdbUrl:安装influxdb的路径;主要格式:http://主机地址:8086/write?db=数据库名
- application:应用名称;在 events 表中对应的字段是 application
- measurement:表名;数据存储到哪个表,默认是jmeter,不用改即可
- summaryOnly:同GraphiteBackendListenerClient
- samplersRegex:同GraphiteBackendListenerClient
- percentiles:同GraphiteBackendListenerClient
- testTitle:测试名称;在 events 表中对应的字段是 text ,JMeter在测试的开始和结束时自动生成注释,该注释的值以'start'和'end'结尾
- eventTags:Grafana允许为每个注释显示标签;在 events 表中对应的字段是 tags
不懂application和testTitle的小伙伴可以看看下面的图,可以看到同一个testTitle的两条记录的时间差就是执行测试计划的总时长
建议:只需修改application和testTitle即可,可以相同也可以不相同,其他配置跟着图片走就好了;当然安装路径还是要改的哈
查看InfluxDB
使用InfluxDBBackendListenerClient好处就是,再多的请求也只会生成两张表:
events :主要拿存事件的
jmeter :存测试结果数据的,Grafana也是从这个表获取数据再展示
再次Grafana&InfluxDB集成,展示测试结果数据
这次就不再需要自己去创建DashBoard和Panel了,因为在官方模板库,已经有一个非常完美的模板了,当然前提是你要用 InfluxDBBackendListenerClient 采集数据才能有效的哈
首先,进入官方模板库: https://grafana.com/dashboards ,然后跟着图片导入模板并初始化即可
模板自带了三个下拉筛选框
data_source:数据源,在Grafana配置了多少个就显示多少个
application:在Jmeter配置好的application,如果每次测试计划执行时的application都不一样,你就可以通过这个筛选出对应测试时机的结果数据了
transaction:在Jmeter配置好的sampleList,譬如我只发了get、post请求,这里就只会给你选get、post;可以滑到页面下面看到针对某个请求的数据展示
其实这个模板还有很多可以值得改进优化的地方,辣么这个时候就需要你对Grafana的各种用法熟悉操作啦,后续会补充一篇关于Grafana常见用法&高级用法的文章哦!敬请期待!