jmeter+influxdb+grafana可视化监控接口测试
一、安装influxdb
influxdb使用go语言编写的小型数据库
jmeter3.0+,以后backend listener 才对接influxDB.如下
1.1 linux下载
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm --no-check-certificate
--no-check-certificate 不要验证服务器的证书。
下载到当前目录
1.2在当前路面解压安装
rpm -ivh influxdb-1.7.0.x86_64.rpm
解压后存放在/etc配置文件根目录
1.3 修改influxdb配置文件
vi /etc/influxdb/influxdb.conf
修改如下,找到对应的位置,修改或者去掉注释即可;
- [[graphite]]
- # Determines whether the graphite endpoint is enabled.
- enabled = true
- database = "jmeter" # 数据库名称
- retention-policy = ""
- bind-address = ":2003" # 端口
- protocol = "tcp"
- consistency-level = "one"
- 修改以下信息
- [meta]
- dir = "/usr/local/influxdb/meta" #存放最终存储的数据,文件以.tsm结尾
- [data]
- dir = "/usr/local/influxdb/data" #存放数据库元数据 wal
- wal-dir = "/usr/local/influxdb/wal" #存放预写日志文件
- 修改HTTP端口信息
- [http]
- # Determines whether HTTP endpoint is enabled.
- enabled = true
- # The bind address used by the HTTP service.
- bind-address = ":8086"
在上一步中我们设置了存放数据的目录为/usr/local/influxdb,这个目录不会自动生成,因此需要手动创建并授权,执行命令如下:
mkdir influxdb
1.4 influcdb环境变量配置
export INFLUXDB_CONFIG_PATH=/etc/influxdb/influxdb.conf
1.5 启动influxdb服务
方式一: 直接执行命令: influxd -config /etc/influxdb/influxdb.conf
方式二:因为配置了环境变量,所以采用如下命令:influxd &
如果想要退出服务,输入命令:ctrl+c
1.6 启动influxdb客户端
创建数据库
命令:influx启动客户端
然后查看现有数据库:show databases
1.7 influxdb 创建新的数据库
CREATE DATABASE jmeter:用来存储jmeter运行时的脚本数据
CREATE DATABASE grafan:用来存放监控的指标数据
目前InfluxDB最新版为1.7,没有web界面,1.2以后的版本就没有了;
二、配置grafana
2.1 下载grafana
命令:yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.0.1-1.x86_64.rpm
2.2 卸载重装
2.2.1 停掉原来的服务
命令:service grafana-server stop
2.2.2 下载最新版本
官网地址:https://grafana.com/grafana/download
wget https://dl.grafana.com/oss/release/grafana-7.5.4-1.x86_64.rpm
然后执行安装:sudo yum install grafana-7.5.4-1.x86_64.rpm
如果安装后启动报如下错误:Starting grafana-server (via systemctl): Job for grafana-server.service failed because the control process exited with error code. See "systemctl status grafana-server.service" and "journalctl -xe" for details.
则需要删除安装包,可能安装包有冲突:
先查看程序包是否安装:
rpm -qa|grep grafana
然后移除安装包:yum -y remove grafana
则把旧版本和新版本安装包都卸载了;
重新执行安装命令:sudo rpm -i --nodeps grafana-7.5.4-1.x86_64.rpm
启动服务成功;
2.3 启动grafana服务
命令:/etc/init.d/grafana-server restart
浏览器中输入10.223.123.234:3000
端口号是默认的,ip就是安装grafana的服务器ip
账号和密码默认都是admin/admin
2.3创建数据源
点击头像里面的data source:创建数据源jmeter和grafana
配置如图,是为了从influxdb的jmeter数据库中获取数据配置
注意:新建数据源选择influxdb时,需要将influxd &启动influxdb服务
【注意】URL的端口是8086,而刚才配置的8083是UI的端口。
- 8083端口是InfluxDB的UI界面展示的端口
- 8086端口是Grafana用来从数据库取数据的端口
- 2003端口则是刚刚设置的,Jmeter往数据库发数据的端口
2.4 添加监控面板dashboard
选择dashboard菜单--》import进入一下界面:因为grafana中现成的成熟的监控面板,引用即可;
然后打开grafana官网jmeter监控dashboard的模板链接
https://grafana.com/grafana/dashboards/5496
然后点击import即可,然后点击右上角保存按钮,后续可以点击dashboard,在最近浏览的记录上找到
注意:如果想要了解这些监控都代表什么意思,可以访问Jmeter的官网地址去查看阅读“http://jmeter.apache.org/usermanual/realtime-results.html”
2.5 终止grafana服务
service grafana-server stop
3.配置jmeter
3.1 jmeter中,添加“监听器 -> Backend Listener”
3.2 配置“Backend Listener”,主要配置Host,如下图
初始化如下
需要改成:
3.3监控的时候需要选择一下数据源为jmeter
transaction里面是请求的接口
3.4 查看监控10分钟的结果