章节目录:
- 一、背景介绍
- 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 拓扑图
二、云服务器设置
- 端口开放:
三、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]进行访问
5.4 数据源配置
- 添加数据源
- 配置项
- 保存
5.5 控制板配置
- 选择导入:
- 引入模板ID:
- 模板保存:
六、Jmeter
- Backend Listener监听元件设置
七、大屏监控展示
八、数据库查看
九、结束语
“-------怕什么真理无穷,进一寸有一寸的欢喜。”
微信公众号搜索:饺子泡牛奶。