使用Grafana展示Jmeter数据

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

文章目录
  1. Jmeter + Influxdb + Grafana
    1. 配置
      1. Influxdb
      2. Jmeter
      3. 验证
      4. grafana配置
|