美文网首页
Docker+Jmeter+InfluxDB+Grafana 搭

Docker+Jmeter+InfluxDB+Grafana 搭

作者: 龙少_玩测试 | 来源:发表于2020-03-17 19:30 被阅读0次

1. 为什么要搭建性能监控平台?

1.1 需求背景

在用Jmeter获取性能测试结果的时候,Jmeter本身带有聚合报告如下图所示:

这个报告有几个很明显的缺点:

只能自己看,无法实时共享;

报告信息的展示比较简陋单一,不直观;

1.2 需求方案

为了解决上述问题,必须要请出了 InfluxDB+Grafana:

InfluxDB:持续型数据库,有时间戳组件,以时间的形式去存储数据

Grafana:一款采用 Go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具

简单总结起来就是:将 Jmeter 的数据导入 InfluxDB,再用 Grafana 从 InfluxDB 中获取数据并以特定的模板进行展示

本次实践是用目前较为流行的 Docker 的方式进行部署,也推荐使用,作为一名普通的测试,会了点 Docker 的皮毛就已经爱不释手了,对于头疼的环境问题真的太好用了,强烈推荐。

2、性能监控平台部署实践

2.1 Docker环境

本文的重点并不是介绍 Docker,所以不了解的小伙伴需要自己去学习一下基本的安装和操作,可参考之前发送的 Docker 文章

2.2 InfluxDB部署

1)首先去下载InfluxDB的镜像,下载很简单,直接pull就好,默认为下载最新的镜像:

$docker pull influxdb

目前最新的influxdb不支持网页端的查看,仅可用命令行的形式,不过没有什么影响,如果真的想要有网页端的显示的话可以尝试下载较前的镜像:tutum/influxdb

2)启动一个容器,并将端口8083和8086映射出来,如果用的是tutum/influxdb镜像,在访问8083端口时就可以看到网页端的展示,我这里用的是最新的,所以就没有啦:

$docker run -d --name jmeter-influx -p 8083:8083 -p 8086:8086 influxdb

3)进入容器内部,创建名为jmeter的数据库:

进入jmeter-influx容器

$ docker exec -it jmeter-influx bashroot@517f57017d99:/#

进入influx,create database jmeter创建名为jmeter的数据库,show databases命令查看数据库创建成功

root@517f57017d99:/# influxConnected to http://localhost:8086 version 1.7.10InfluxDB shell version: 1.7.10> create database jmeter> show databasesname: databasesname----_internaljmeter

4)使用 Jmeter 库,select 查看数据,这个时候应该是没有数据的:

$ > use jmeterUsing database jmeter> select * from jmeter>

2.3 Jmeter脚本设置

这里需要创建一个登录注册场景的Jmeter脚本,往期文章有发布,本次就以此来进行测试结果演示。具体可参考之前发送的公众号文章。文章末尾的「往期回顾」第二篇文章即可阅读。

1)想要将jmeter的测试数据导入influxDB,就需要在Jmeter中使用Backend Listener配置

先看一下配置好的Backend Listener:

2)主要配置说明:

implementation选择influxdb所对应的:

influxdbUrl:需要改为自己influxdb的部署ip和映射端口,我这里是部署在本地,所以就是localhost,端口是容器启动时映射的8086端口,db后面跟的是刚才创建的数据库名称

application:可根据需要自由定义,只是注意后面在grafana中选对即可

measurement:表名,默认是jmeter,也可以自定义

summaryOnly:选择true的话就只有总体的数据,false会将每个transaction都分别记录

3)运行验证

运行

Jmeter脚本,然后再次在influxdb中查看数据,发现类似下面的数据说明输入导入成功:

2.4、Grafana部署

1)首先我们需要下载grafana的镜像:

$ docker pull grafana/grafana

2)启动一个grafana容器,将3000端口映射出来:

$ docker run -d --name grafana -p 3000:3000 grafana/grafana

3)网页端访问locahost:3000验证部署成功

4)选择添加数据源

5)找到并选择influxdb:

6)配置数据源

数据源创建成功时会有绿色的提示:

7)导入模板

模板导入分别有以下3种方式:

直接输入模板id号

直接上传模板json文件

直接输入模板json内容

8)下载模板,在grafana的官网下载我们需要的展示模板

https://grafana.com/grafana/dashboards?dataSource=influxdb&search=jmeter

下面这两个是我尝试过的模板:

9)导入模板,我这里选择的是导入json文件的方式,导入后如下,配置好模板名称和对应的数据源,然后import即可

10)展示设置,首先选择我们创建的application

注意:如果我们修改过表名,也就是在jmeter的Backend Listener的measurement配置(默认为jmeter),这个时候就需要去设置中进行修改(我这里使用的就是默认的,所以无需修改):

3. 效果展示及推荐学习

经过一系列的奋斗之后,该到了我们检验成果的时候了。使用 Docker + JMeter + InfluxDB + Grafana 到底可以搭建怎样的性能监控平台呢?相比较 JMeter 自带的监控平台,我们搭建的性能监控平台究竟有什么优势呢?接下来就是展示成果的时候啦!

Appium 官方说明文档:

http://appium.io/docs/en/writing-running-appium/finding-elements/

http://appium.io/docs/en/commands/element/find-elements/

Uiautomator2 源码路径:

https://github.com/appium/appium-uiautomator2-server/blob/master/app/src/main/java/io/appium/uiautomator2/handler/FindElement.java

相关文章

  • Docker+Jmeter+InfluxDB+Grafana 搭

    1. 为什么要搭建性能监控平台? 1.1 需求背景 在用Jmeter获取性能测试结果的时候,Jmeter本身带有聚...

  • 搭积木

    搭积木 搭积木 搭 搭 搭 姐姐搭 妹妹看 真有趣 大积木 小积木 搭搭搭 房子 车子 车子房子 搭好了 妹妹乐 ...

  • 你的人生需要百搭的不只是一双小白鞋

    做为一名非时尚咖,我也知道2016年最火的百搭单品是小白鞋。 搭牛仔裤、搭裙子、搭深色、搭浅色、搭亮色、搭暗色、搭...

  • 手绘|原创老鼠161回族

    山一搭呀,水一搭呀,一搭搭山水美如画。歌一搭呀,舞一搭呀,一搭搭歌舞到我家。如今回回家啊,变化实在大呀,好日子过的...

  • 春天必须要有件裙子

    热爱穿搭 分享穿搭 更多穿搭:微博:穿搭博号 图来自网络

  • 搭把手搭把手

    搭把手搭把手

  • 30店小黑一款三搭

    100258一款三搭 100297一款三搭 1100044一款三搭 1300091一款三搭 400152一款三搭 ...

  • 2019-03-22 春 拍些照片

    #穿搭 #穿搭 #穿搭 #上海地铁 #穿搭 #地铁 窗外风景 #上班路上 小区里的花 喵喵

  • 混搭的写法

    混搭的写法,就好比穿衣服混搭一样,可以是大和小混搭,可以是色彩的混搭,可以是风格的混搭,可以是深浅的混搭,可以是现...

  • 性价比无敌!好穿不贵的男生T恤穿搭!39元封顶!

    娜娜潮搭---专注男生穿搭~ 分享型男潮搭!? 简单干净的男生穿搭指南! 时尚潮流的型男穿衣搭配, 穿搭是男生提升...

网友评论

      本文标题:Docker+Jmeter+InfluxDB+Grafana 搭

      本文链接:https://www.haomeiwen.com/subject/cxjxyhtx.html