之前运行的Jmeter脚本,结果太过粗糙,实在是难看。并且需要执行完成后才能查看结果,实在是不符合我们高端大气的IT行业气质。
今天打算使用InfluxDB+grafana做一个可视化的实时监控。
具体实现是:
jmeter测试结果实时写入influx数据库
grafana读取influx数据库中实时数据并以图标的形式展示出来
安装influxDB
官网地址:https://docs.influxdata.com/influxdb/v1.7/introduction/installation/
不同的操作系统安装命令略有不同,这里我是ubuntu系统的:
1、设置策略
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
2、安装
这个过程有点漫长,需要耐心等待
sudo apt-get update && sudo apt-get install influxdb
3、启动
修改配置文件/etc/influxdb/influxdb.conf
使用配置好的方式启动
sudo influxd -config /etc/influxdb/influxdb.conf
端口是8086,刚安装的InfluxDB是免密登录的
4、进入命令行模式
influx -precision rfc3339
5、创建数据库
create database jmeter
6、查看数据库
show databases
搞定!!!
Jmeter将数据写入InfluxDB
1、给Jmeter的线程组添加一个Backend Listener
2、修改设置内容如下:
其中Host为Influx数据库所在服务器IP,数据写入端口2003
3、运行Jmeter脚本
4、查看InfluxDB
influx -precision rfc3339 进入命令行模式
> use 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.all.rb.bytes
jmeter.all.sb.bytes
jmeter.test.endedT
jmeter.test.maxAT
jmeter.test.meanAT
jmeter.test.minAT
jmeter.test.startedT
查看到如下数据,表示脚本数据写入成功
安装Grafana
官网地址如下:https://grafana.com/docs/grafana/latest/installation/debian/
1、有多个版本可以选择,官网推荐最新的Enterprise版本
安装命令如下:
sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
# Alternatively you can add the beta repository, see in the table above
sudo add-apt-repository "deb https://packages.grafana.com/enterprise/deb stable main"
sudo apt-get update
sudo apt-get install grafana-enterprise
2、安装完成后启动,并且确认启动状态的命令
sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl status grafana-server
启动完成后结果如下:
设置InfluxDB数据源
1、在浏览器输入网址http://IP:3000/login (其中IP值为所在服务器的IP地址)
2、使用默认账号登录(账号和密码都是admin)
3、登录成功后修改密码,就可以进入Home页面
4、点击添加数据源
5、设置数据源
6、检查数据源是否设置成功
添加仪表盘
1、新建个仪表盘
2、添加查询
3、选择数据,写入名字
4、保存仪表盘
5、这个时候运行jmeter的脚本
6、查看数据
一个简陋的图表就生成了:
当然推荐使用官方模板:
https://grafana.com/grafana/dashboards