Jmeter对接Grafana
使用jmeter进行压测,压测过程中的测试结果,直接使用聚合报告
的话,看的不是很直观,jmeter自带的插件,出的图和zabbix原生的图一样的很丑。。。所以,在万能的互联网上找了找使用Grafana
展示jmeter结果的方案
Jmeter + Influxdb + Grafana
整个方案,就是讲jmeter产出的结果,存储到Influxdb中,然后用Grafana展示Influxdb的数据。
配置
Influxdb和Grafana的安装就不说了,之前写过;直接说配置
Influxdb
Influxdb配置文件在/etc/influxdb
下,
1
| vim /etc/influxdb/influxdb.conf
|
找到graphite
项,修改:
1 2 3 4 5 6 7 8
| [[graphite]] # Determines whether the graphite endpoint is enabled. enabled = true database = "jmeter" # retention-policy = "" bind-address = ":2003" protocol = "tcp" consistency-level = "one"
|
重启influxdb,systemctl restart influxd
新建jmeter数据库,在chronograf
中或者进服务器,influx
进influxdb控制台手工创建:CREATE DATABASE "jmeter"
,
在grafana中添加上这个influxdb即可
Jmeter
Jmeter其他脚本步骤和之前一样,线程组中添加一个组件:监听器-Backend Listener
,修改graphiteHost
地址为influxdb的IP,其他值可以默认
验证
执行一次请求,可以到influxdb数据库中查看是否生效
use jmeter;
,show measurements
即可
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| [root@localhost zabbix_agentd.d]# influx Connected to http://localhost:8086 version 1.6.1 InfluxDB shell version: 1.6.1 > use jmeter; Using database jmeter > > > > show measurements; name: measurements name ---- jmeter.all.a.avg jmeter.all.a.count jmeter.all.a.max jmeter.all.a.min jmeter.all.a.pct90 jmeter.all.a.pct95 jmeter.all.a.pct99 jmeter.all.h.count jmeter.all.ko.count jmeter.all.ok.avg jmeter.all.ok.count jmeter.all.ok.max jmeter.all.ok.min jmeter.all.ok.pct90 jmeter.all.ok.pct95 jmeter.all.ok.pct99 jmeter.test.endedT jmeter.test.maxAT jmeter.test.meanAT jmeter.test.minAT jmeter.test.startedT
|
这样就成功将数据加到influxdb里了
grafana配置
添加dashboard,正常添加图形,数据库选择influxdb中jmeter的数据库,SELECT项选择想要展现的栏即可
1 2 3 4 5
| jmeter.all.h.count 所有请求的TPS jmeter.<请求名称>.h.count 对应<请求名称>的TPS jmeter.all.ok.pct90 90%的请求响应时间 jmeter.<请求名称>.ok.pct99 对应<请求名称>99%的请求响应时间 jmeter.all.test.startedT 线程数
|
参考Blog