背景
目前我们的jmeter压测都是在linux分布式上进行,压测数据只能等压测结束才能看到,也不美观,而且看不到历史数据,因此我们有了以下几个需求
- 实时数据
- 漂亮图表
- 历史数据
- …
方案
influxdb + grafanainfluxdb
下载安装
注:为了更好的稳定性和兼容性,选择了1.8以下的稳定版本wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.8.x86_64.rpm
sudo yum localinstall influxdb-1.7.8.x86_64.rpm
配置
InfluxDB配置文件位置 /etc/influxdb/influxdb.conf
具体配置如下 ```shell [[graphite]] enabled = true bind-address = “:2003” database = “jmeter” retention-policy = “” protocol = “tcp” batch-size = 5000 batch-pending = 10 batch-timeout = “1s” consistency-level = “one” separator = “.” udp-read-buffer = 0vi /etc/influxdb/influxdb.conf
<a name="BwkoP"></a>
#### 启动
采用 不挂起 启动方式,退出终端不会影响程序运行<br />
```shell
nohup influxd -config /etc/influxdb/influxdb.conf &
InfluxDB操作
[root@pengyang ~]# influx #登录数据库
Connected to http://localhost:8086 version 1.7.8
InfluxDB shell version: 1.7.8
> show databases #查看所有数据库
name: databases
name
----
_internal
> CREATE DATABASE "jmeter" #创建数据库
> use jmeter #切换数据库
Using database jmeter
> CREATE USER "admin" WITH PASSWORD 'admin' WITH ALL PRIVILEGES # 创建管理员权限的用户
Jmeter配置
端口说明:
8086端口,Grafana用来从数据库取数据的端口
2003端口,JMeter往数据库发数据的端口
配置好之后 运行jmeter脚本
查看Jmeter数据库下所有的表
> show measurements
name: measurements
name
----
delta
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
total
Grafana
下载安装
直接用的公司已经安装好的,具体安装教程参考百度,比较简单,注意和influxdb的版本号兼容问题
配置
新增 Data Source 配置
Dashboard 配置
用了现成的模板导入
官网模版库:https://grafana.com/dashboards
找到评分最高的 ,下载模板json文件
导入模板
选择好数据源,并导入,然后再仪表盘列表就看到新增的这个
最终效果展示