Jmeter + Grafana + InfluxDB 性能测试监控

Jmeter + Grafana + InfluxDB 接口性能测试数据监控

通常我们用jmeter做接口性能测试后,会在聚合报告中查看本次脚本的执行结果,最近学习了一套工具来替代那原生的监控数据,这里记录一下我的搭建过程。
★------------------------------------------★
InfluxDB是一个时序数据库;
Grafana是用来展示数据的;
Jmeter来跑压测脚本;通过“Backend Listener”,将测试的数据上传到我的虚拟机上,通过InfluxDB来存储,Grafana来展示出来。我们访问web,稍微配置一下,就可以看到展示的数据了。
★------------------------------------------★
1.安装InfluxDB
这里注意一下 InfluxDB从1.3开始取消自带的web页面,我认为不太方便学习,所以我下载的是1.2.4版本

①下载包

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.4.x86_64.rpm

在下载包的时候如果服务器提示失败,可以切换如下命令噢

curl -O https://dl.influxdata.com/influxdb/releases/influxdb-1.2.4.x86_64.rpm

②安装

yum install influxdb-1.2.4.x86_64.rpm

中间出现选项的时候输入 y

③修改InfluxDB的配置,主要配置jmeter存储的数据库与端口号,还有需要将UI端口开放

vi /etc/influxdb/influxdb.conf

找到graphite并且修改它的库与端口,对应我下面的代码将前面的#

[[graphite]]
  # Determines whether the graphite endpoint is enabled.
   enabled = true
   database = "jmeter"
   retention-policy = ""
   bind-address = ":2003"
   protocol = "tcp"
   consistency-level = "one"

找到admin,将前面的#号去掉,开放它的UI端口

[admin]
  # Determines whether the admin service is enabled.
   enabled = true

  # The default bind address used by the admin service.
   bind-address = ":8083"

  # Whether the admin service should use HTTPS.
  # https-enabled = false

找到http,将前面的#号去掉,开放它的端口

[http]
  # Determines whether HTTP endpoint is enabled.
   enabled = true

  # The bind address used by the HTTP service.
   bind-address = ":8086"

  # Determines whether HTTP authentication is enabled.
  # auth-enabled = false

④修改好之后保存并且启动InfluxDB

/etc/init.d/influxdb restart

如果启动成功,则会出现

Stopping influxdb...
influxdb process was stopped [ OK ]
Starting influxdb...
influxdb process was started [ OK ]

如果启动失败,那么就是端口被占用的问题啦~小伙伴们自己修改任意端口噢!

⑤打开浏览器,访问虚拟机IP“http://***:8083”

在这里插入图片描述此时可以看见InfluxDB的web ui界面。查看有没有jmeter库,没有就新建一个。
在左边框中输入以下命令即可

CREATE DATABASE "jmeter"

★------------------------------------------★
此时InfluxDB已经安装成功了,如果需要卸载,可以通过以下命令

[root@localhost shared]# rpm -q influxdb 
influxdb-0.8.7-1.x86_64 
[root@localhost shared]# rpm -e influxdb 
[root@localhost shared]# rpm -q influxdb 
package influxdb is not installed

参数说明:
首先通过 rpm -q <关键字> 可以查询到rpm包的名字
然后 调用 rpm -e <包的名字> 删除特定rpm包
如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包
如果恰好有多个包叫同样的名字,使用 rpm -e --allmatches --nodeps <包的名字> 删除所有相同名字的包, 并忽略依赖
删除完后,清除已有文件:

[root@localhost opt]# ls 
influxdb 
[root@localhost opt]# rm -rf influxdb 

★------------------------------------------★
2.安装Grafana
①使用yum下载Grafana并且安装

yum install https://grafanarel.s3.amazonaws.com/builds/grafana-6.3.2-1.x86_64.rpm

②启动Grafana

/etc/init.d/grafana-server restart

如果启动成功,则会出现

OKopping Grafana Server ...                                [  OK  ]
Starting Grafana Server: .... OK

③打开浏览器,访问虚拟机IP“http://***:3000”
在这里插入图片描述使用默认账号密码 admin admin登录即可
在这里插入图片描述
添加需要展示数据的数据库
在这里插入图片描述
添加InfluxDB数据库配置。输入帐号密码“admin / admin”,点击Test & Save 提示“Success”说明成功了
【注意】URL的端口是8086,而刚才配置的8083是UI的端口。

- 8083端口是InfluxDB的UI界面展示的端口

- 8086端口是Grafana用来从数据库取数据的端口

- 2003端口则是刚刚设置的,Jmeter往数据库发数据的端口

在这里插入图片描述
★------------------------------------------★
3.配置Jmeter
接下来我们就要使用Jmeter来调用接口,并将接口的数据存入InfluxDB,最后数据在Grafana上进行可 视化。在Jmeter中使用监听器Backend Listener
这里的influxdbUrl对应的参数值为influxdb的地址;
application作为我们接下来在grafana里面保存的标志;
samplersRegex这个参数对应的值需包含接口的参数名 ,例:.ymcaoto.在这里插入图片描述

4.在Grafana里设置可视化模板。
从https://grafana.com/grafana/dashboardsutm_source=grafana_search&orderBy=name&direction=asc网站中挑选了一个合适的模板,并且导入到自己的Grafana中,针对模板的数据源以及参数进行一些调整。使用Jmeter调用接口,就可以在Grafana上实时监控到想要看到的数据,并且针对结果进行一些分析~

在这里插入图片描述在这里插入图片描述
还不错吧。这里简单的记录了一下我搭建的过程,Grafana还可以用来做更多的事情,让我们一起玩起来吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值