在使用jmeter做性能测试的时候,监控系统性能的时候,无论是使用插件还是报告生成,都没法实现实时监控。使用JMeter+Influxdb+Grafana可以实现实时监控。
注:记得虚拟机的IP,防火墙记得关闭
安装InfluxDB
1.安装Influxdb
[root@localhost ~]# yum install https://dl.influxdata.com/influxdb/releases/influxdb-1.7.9.x86_64.rpm
注:还有其他的安装方式,这里采用yum命令方式安装
2.修改influxDB配置文件
[root@localhost ~]# vim /etc/influxdb/influxdb.conf
在配置文件中找到graphite、meta、http 以下配置项,去掉前面的“#”号,修改参数,如下图所示
①.[[graphite]]
# Determines whether the graphite endpoint is enabled.
enabled = true
database = "jmeter" #数据库名称
retention-policy = ""
bind-address = ":2003" #端口
protocol = "tcp"
consistency-level = "one"
如图:
②.[meta]
# Where the metadata/raft database is stored
dir = "/usr/local/influxdb/data" #存放最终存储的数据,文件以.tsm结尾
[data]
# The directory where the TSM storage engine stores TSM files.
dir = "/usr/local/influxdb/data" #存放数据库元数据 wal
# The directory where the TSM storage engine stores WAL files.
wal-dir = "/usr/local/influxdb/wal" #存放预写日志文件
如图:
③. [http]
# Determines whether HTTP endpoint is enabled.
enabled = true
# The bind address used by the HTTP service.
bind-address = ":8086"
如图:
3. 创建目录更新权限
[root@localhost ~]# mkdir -p /usr/local/influxdb/
[root@localhost ~]# chown -R influxdb:influxdb /usr/local/influxdb/
4.启动influxDB服务
方法一:
直接输入命令启动(不推荐)
[root@localhost ~]# # influxd -config /etc/influxdb/influxdb.conf
方法二:
添加到环境变量中(推荐)
[root@localhost ~]# vim /etc/profile
把下面这个变量添加到最后一行
export INFLUXDB_CONFIG_PATH=/etc/influxdb/influxdb.conf
[root@localhost ~]# source /etc/profile #使配置文件生效
[root@localhost ~]# influxd & #启动
启动成功后如下图:
查看端口有没有起来:
[root@localhost ~]# netstat -anp|grep 8088
出现下图界面就代表启动成功了
5.创建数据库和用户
[root@localhost ~]# influx #进入数据库
> create database jmeter
> show databases
> use jmeter #切换数据库
Using database jmeter
> CREATE USER "admin" WITH PASSWORD ‘123456‘ WITH ALL PRIVILEGES # 创建管理员权限的用户
注:create如果大写报错就换成小写尝试一下,本人在进行这一步时,大写一直报错;看了下其他大佬的,说应该是要用大写才对。
至此InfluxDB就安装操作完成了
安装配置Grafana
1.安装Grafana
官网地址:https://grafana.com/grafana/download
[root@localhost ~]# yum install https://dl.grafana.com/oss/release/grafana-6.4.3-1.x86_64.rpm
2.启动服务
root@localhost ~]# service grafana-server start
3.浏览器访问
http://IP:3000/login(服务器ip+端口号),出现下图登录界面,账号密码默认是admin
注:初次登录输入账号密码登录成功,需要更改密码
4.添加数据库
注:这一步填写的是InfluxDB第5步创建数据库用户,填写的信息要保持一致
5.添加图表
配置图表有两种方式,一种是利用系统提供的图表自定义组合,另一种是导入官方提供的图表展示模板。
自定义的方法,这里不再说明,如有需要可自行百度,推荐第2种方式,导入原因图表导入方便简单操作
5.1 进入官网模版库下载模板
官网模版库: https://grafana.com/dashboards
搜索框输入jmeter
注:输入jmeter后,右边出现很多和jmeter相关的图表,可以点进去查看效果图,根据自己喜欢下载这里选择第一个载Apache JMeter Dashboard using Core InfluxdbBackendListenerClient
导入下载好的json文件
点击import出现以下界面,就代表配置完成了,至此InfluxDB+Grafana环境搭建就算彻底完成了
注:其它图表安装导入方法同上
jmeter配置
新建一个测试计划,新建一个线程组,右键测试计划选择Add->Listener->Backend Listener
如果使用的是中文则添加后端监听器的路径是:右键测试计划选择添加->监听器->后端监听器
添加后端监听器,配置如下图:
influxdbUrl的value值更改为 http://192.168.1.247:8086/write?db=jmeter
注: http://192.168.1.247:8086 #influxdb 服务器的ip+端口号
db=jmeter #jmeter是前面创建的influxdb的数据库
新建请求,然后执行:
查看jmete里面的聚合报告:
在服务器上查看influxdb是否有接收数据成功:
[root@localhost ~]# influx
Connected to http://localhost:8086 version 1.7.9
InfluxDB shell version: 1.7.9
> show databases
name: databases
name
----
_internal
jmeter
> use jmeter
> select * from jmeter
然后在仪表盘中可以看到:这就是整个JMeter+InfluxDB+Grafana的过程啦。本次学习记录到这里就结束啦