背景
目前我们的jmeter压测都是在linux分布式上进行,压测数据只能等压测结束才能看到,也不美观,而且看不到历史数据,因此我们有了以下几个需求
- 实时数据
- 漂亮图表
- 历史数据
- …
方案
influxdb + grafanainfluxdb
下载安装
注:为了更好的稳定性和兼容性,选择了1.8以下的稳定版本wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.8.x86_64.rpmsudo 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 />```shellnohup influxd -config /etc/influxdb/influxdb.conf &
InfluxDB操作
[root@pengyang ~]# influx #登录数据库Connected to http://localhost:8086 version 1.7.8InfluxDB shell version: 1.7.8> show databases #查看所有数据库name: databasesname----_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 measurementsname: measurementsname----deltajmeter.all.a.avgjmeter.all.a.countjmeter.all.a.maxjmeter.all.a.minjmeter.all.a.pct90jmeter.all.a.pct95jmeter.all.a.pct99jmeter.all.h.countjmeter.all.ko.countjmeter.all.ok.avgjmeter.all.ok.countjmeter.all.ok.maxjmeter.all.ok.minjmeter.all.ok.pct90jmeter.all.ok.pct95jmeter.all.ok.pct99jmeter.test.endedTjmeter.test.maxATjmeter.test.meanATjmeter.test.minATjmeter.test.startedTtotal
Grafana
下载安装
直接用的公司已经安装好的,具体安装教程参考百度,比较简单,注意和influxdb的版本号兼容问题
配置
新增 Data Source 配置

Dashboard 配置
用了现成的模板导入
官网模版库:https://grafana.com/dashboards
找到评分最高的 ,下载模板json文件
导入模板


选择好数据源,并导入,然后再仪表盘列表就看到新增的这个
最终效果展示
