Jmeter压测监控体系搭建Docker+Influxdb+Grafana

章节目录:

    • 一、背景介绍
      • 1.1 概述
      • 1.2 拓扑图
    • 二、云服务器设置
    • 三、Docker
      • 3.1 概述
      • 3.2 搭建流程
      • 3.3 安装验证
      • 3.4 配置docker镜像加速
      • 3.5 取消sudo运行(可选操作)
    • 四、InfluxDB
      • 4.1 镜像拉取
      • 4.2 运行数据库
      • 4.3 创建存储 jmeter 数据的库
    • 五、Grafana
      • 5.1 镜像拉取
      • 5.2 关联 influxdb
      • 5.3 进入控制台
      • 5.4 数据源配置
      • 5.5 控制板配置
    • 六、Jmeter
    • 七、大屏监控展示
    • 八、数据库查看
    • 九、结束语

一、背景介绍

我们都知道 Jmeter 提供了原生的结果查看,既然有原生的查看结果,为什么还要多此一举使用其他工具进行查看呢?

1.1 概述

  • 除了查看内容丰富外还有最主要的原因:

    • Jmeter 提供的查看结果插件本身是比较消耗性能的,所以在正式压测中应当禁用。

    • 结果只能自己看,无法实时共享

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

  • 提示:此次使用个人的阿里云服务器,搭建了该体系,后面只需要单独配置 Jmeter 的 Backend Listener 元件就可以做到任意项目随时随地监控,一定程度上提升了复用性

1.2 拓扑图

Jmeter压测监控体系搭建Docker+Influxdb+Grafana_第1张图片

二、云服务器设置

  • 端口开放

Jmeter压测监控体系搭建Docker+Influxdb+Grafana_第2张图片

三、Docker

3.1 概述

简介Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低

  • 三大优点
    • 搭建测试环境,保证测试环境的一致,避免因环境原因造成的互相甩锅。
    • 搭建各类基础服务,例如禅道,Jenkins 等,极大降低学习成本
    • 搭建测试执行环境,例如我们运行自动化测试的环境,随用随建,不用即扔。

3.2 搭建流程

# 1.旧版本卸载。
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
                  
                  
# 2.使用存储库安装。
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
     --add-repo \
     https://download.docker.com/linux/centos/docker-ce.repo
     
     
# 3.安装docker引擎。
$ sudo yum install docker-ce docker-ce-cli containerd.io

# 4.启动docker。
$ sudo systemctl start docker

# 5.使用开机自启。
$ sudo systemctl enable docker

3.3 安装验证

# 1.查看docker版本号。
$ docker version

3.4 配置docker镜像加速

# 1.创建目录。
$ sudo mkdir -p /etc/docker

# 2.配置阿里云镜像。
$ sudo tee /etc/docker/daemon.json <<-'EOF'
 {
  "registry-mirrors": ["https://2jakrmvh.mirror.aliyuncs.com"]
 }
 EOF

# 3.重新加载配置。
$ sudo systemctl daemon-reload

# 4.重启docker。
$ sudo systemctl restart docker

3.5 取消sudo运行(可选操作)

# 1.root为当前用户的名字 或 $USER
$ sudo usermod -aG docker root 

四、InfluxDB

简介InfluxDB是一个开源分布式的时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。

  • 三大特性

    • Time Series(时间序列):你可以使用与时间有关的相关函数。(如最大,最小,求和等)

    • Metrics(度量):可以实时对大量数据进行计算。

    • Eevents(事件):它支持任意的事件数据。

4.1 镜像拉取

$ docker pull influxdb:1.7.10

4.2 运行数据库

  • 启动镜像
# 1.创建 influxdb 镜像。
$ docker run -d --name=influxdb -p 8086:8086 -v ${PWD}:/var/lib/influxdb influxdb:1.7.10
    
# 2.进程查看。
$ docker ps
  
# 3.镜像启动。(未启动进程时,使用该命令)
$ sudo docker start influxdb
  • docker run 参数说明
# 1.docker run 参数格式:

    docker run [OPTIONS] IMAGE [COMMOND] [ARGS...]
   
# 2. OPTIONS 说明
	--name="容器新名字": 为容器指定一个名称
	-d: 后台运行容器,并返回容器ID,也即启动守护式容器
	-i:以交互模式运行容器,通常与 -t 同时使用
	-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用
	-P: 随机端口映射
	-p: 指定端口映射,有以下四种格式
	      ip:hostPort:containerPort
	      ip::containerPort
	      hostPort:containerPort
	      containerPort
  -v, --volume=[] 给容器挂载存储卷,挂载到容器的某个目录
  --link=[] 指定容器间的关联,使用其他容器的IP、env等信息
	--rm:容器停止自动删除容器

4.3 创建存储 jmeter 数据的库

  • 进入终端操作
# 1.交互模式进入 influxdb 终端。
$ docker exec -it influxdb bash
    
# 2.进入shell模式。
	# influx
	
# 3.查看库。
	> show databases;
	
# 4.创建名为jmeter的数据库。
	> create database jmeter

# 5.使用库,并查看该库的表。
	> use jmeter
	> show measurements

五、Grafana

简介:它是一个跨平台的开源的多用途的监控工具,同时通过邮件等方式进行有效的预警通知,丰富的直观的可视化界面多种数据源配置是其优点所在。

5.1 镜像拉取

$ docker pull grafana/grafana:6.6.2

5.2 关联 influxdb

# 1.关联 influxdb 指定端口及版本号。
$ docker run -d --name=grafana --link=influxdb:influxdb -p 3000:3000 grafana/grafana:6.6.2

# 2.进程查看。
$ docker ps
  
# 3.镜像启动。(未启动进程时,使用该命令)
$ sudo docker start grafana

5.3 进入控制台

  • 浏览器输入[ip:3000]进行访问

Jmeter压测监控体系搭建Docker+Influxdb+Grafana_第3张图片

5.4 数据源配置

  • 添加数据源

Jmeter压测监控体系搭建Docker+Influxdb+Grafana_第4张图片

  • 配置项

Jmeter压测监控体系搭建Docker+Influxdb+Grafana_第5张图片

  • 保存

Jmeter压测监控体系搭建Docker+Influxdb+Grafana_第6张图片

5.5 控制板配置

  • 选择导入

Jmeter压测监控体系搭建Docker+Influxdb+Grafana_第7张图片

  • 引入模板ID

Jmeter压测监控体系搭建Docker+Influxdb+Grafana_第8张图片

  • 模板保存

Jmeter压测监控体系搭建Docker+Influxdb+Grafana_第9张图片

六、Jmeter

  • Backend Listener监听元件设置

Jmeter压测监控体系搭建Docker+Influxdb+Grafana_第10张图片

七、大屏监控展示

Jmeter压测监控体系搭建Docker+Influxdb+Grafana_第11张图片

八、数据库查看

Jmeter压测监控体系搭建Docker+Influxdb+Grafana_第12张图片

九、结束语


“-------怕什么真理无穷,进一寸有一寸的欢喜。”

微信公众号搜索:饺子泡牛奶

你可能感兴趣的:(软件测试,jmeter,docker,grafana)