上篇文章使用了命令行来进行压测,并提到了使用命令行压测的痛点:无法实时监控报错以及各接口的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
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 安装grafana也还是使用docker run命令
docker run -d -p 3000:3000 --name grafana grafana/grafana:5.2.1
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 2.然后是访问grafana
在使用docker run命令创建容器的时候,指定了3000端口,现在可以在浏览器访问grafana了
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 初始密码是admin/admin,登录进入后可以修改一下密码,登录进入后导入data source influxdb
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 然后指定url,因为之前docker run的时候创建的influxdb占用的端口是8086,所以这边也是8086
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 但是influxdb里的一些东西还没有准备好
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 3.建立influxdb数据库
grafana已经连接了influxdb了。但是现在influxdb刚刚创建好,里面还是空的
输入命令
docker exec -it influxdb /bin/bash
进入influxdb的交互模式
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 然后输入
influx
进入数据库,类似于MySQL的
mysql -u root -p
命令
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 show databases;
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 创建一个新表
creata database jmeter;
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 在grafana填入数据库名称jmeter
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 4.grafana使用报表模板
官方报表模板库:https://grafana.com/dashboards
找到jmeter的官方模板
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 使用这个报表的方式有两种,一个是以json文件的方式下载下来,另一个是直接使用他的id5496
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 这边使用id
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 然后就可以看到界面了
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 5.jmeter内操作,将数据写入influxdb数据库
在接口下面添加一个Backend Listener
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 这边选第三个
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 接下来把url里的主机地址换成自己的,端口不改,因为之前docker创建influxdb的时候端口号是8086
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况 然后开始运行压测(这边图形化压测即可,只是为了看图表)
6.查看图标展示情况
返回grafana,刷新dashboard
jmeter(十一)_jmeter+influxdb+grafana1.安装influxdb和grafana2.然后是访问grafana3.建立influxdb数据库4.grafana使用报表模板5.jmeter内操作,将数据写入influxdb数据库6.查看图标展示情况