上篇文章使用了命令行来进行压测,并提到了使用命令行压测的痛点:无法实时监控报错以及各接口的tps情况。
为此有了jmeter+influxdb+grafana的方案。(jmeter—>influxdb存储—>grafana展示)
grafana 是一款采用 go 语言编写的开源跨平台工具,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。
influxdb是一个时序数据库。因为时序
的特性并且性能极高,可以处理海量的数据查询,因此被用在监控方面。
1.安装influxdb和grafana
在centos7下安装influxdb,使用docker run的相关命令docker run -d --name influxdb -p 8086:8086 influxdb:1.6.3
安装grafana也还是使用docker run命令docker run -d -p 3000:3000 --name grafana grafana/grafana:5.2.1
2.然后是访问grafana
在使用docker run命令创建容器的时候,指定了3000端口,现在可以在浏览器访问grafana了
初始密码是admin/admin,登录进入后可以修改一下密码,登录进入后导入data source influxdb
然后指定url,因为之前docker run的时候创建的influxdb占用的端口是8086,所以这边也是8086
但是influxdb里的一些东西还没有准备好
3.建立influxdb数据库
grafana已经连接了influxdb了。但是现在influxdb刚刚创建好,里面还是空的
输入命令docker exec -it influxdb /bin/bash
进入influxdb的交互模式
然后输入influx
进入数据库,类似于MySQL的mysql -u root -p
命令
show databases;
创建一个新表creata database jmeter;
在grafana填入数据库名称jmeter
4.grafana使用报表模板
官方报表模板库:https://grafana.com/dashboards
找到jmeter的官方模板
使用这个报表的方式有两种,一个是以json文件的方式下载下来,另一个是直接使用他的id5496
这边使用id
然后就可以看到界面了
5.jmeter内操作,将数据写入influxdb数据库
在接口下面添加一个Backend Listener
这边选第三个
接下来把url里的主机地址换成自己的,端口不改,因为之前docker创建influxdb的时候端口号是8086
然后开始运行压测(这边图形化压测即可,只是为了看图表)
6.查看图标展示情况
返回grafana,刷新dashboard