压测监控平台的搭建

596 篇文章 18 订阅
405 篇文章 4 订阅

在上篇文章我们讲解了JMeter这个软件, 本篇文章我们将要根据JMeter获取到的信息来搭建一个压测监控平台, 让我们更直观的监测我们系统的负载情况。

这些工具我都安装到一个 Linux系统上了, 建议 InfluxDB安装到另外一台服务器, 不然压测过程中一直在写入对性能也是有写影响的

安装docker

Linux版本 centOS7

本次搭建为了方便使用, 全程都是docker版本的

  • 更新 yum包
sudo yum update -y
  • 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  • 设置yum阿里源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 安装docker
sudo yum install docker-ce -y # 启动 systemctl start docker
  • 查看是否安装成功
docker -v

查看docker镜像列表: docker images (后面可以跟容器名进行精确查找)
查看所有容器列表: docker ps -a
查看正在运行容器列表: docker ps
停止正在运行容器: docker stop 容器名/id
删除容器(需要先停止): docker rm -f 容器名/id
卸载docker容器:

安装InfluxDB

安装 InfluxDB

1)下载InfluxDB的镜像:

docker pull influxdb:1.8

成功拉取镜像执行命令之后如下图所示:

2)启动InfluxDB的容器,并将端口 8083 和 8086 映射出来:

宿主机端口自定义, 后面对得上就行

# docker run -itd --name 容器名 -p 宿主机端口:容器端口  镜像名 
docker run -d --name influxdb -p 28086:8086 -p 28083:8083 influxdb:1.8

成功创建容器, 执行命令 docker ps 如下图所示

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

进入 jmeter-influx 容器

docker exec -it influxdb /bin/bash
  • 输入influx命令,即可进入 influx 操作界面
  • 输入create database jmeter 命令,创建名为 jmeter 的数据库
  • 输入show databases 命令,查看数据库创建成功

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

  • 输入use jmeter命令,应用刚才创建的数据库
  • 输入select * from jmeter命令,查询库中有哪些数据

exit 是退出命令

配置JMeter后端监听器

我们需要把JMeter的压测数据导入到上面安装的influx里, 要配置一个后端监听器

后端监听器实现选择第三个

同时我们对其进行相应的配置

  • influxdbUrl:需要改为自己influxdb的部署ip和映射端口,我这里是部署在公司测试服务器,所以就不展示出来了,端口是容器启动时映射的 28086端口,db后面跟的是刚才创建的数据库名称
  • application:可根据需要自由定义,只是注意后面在 grafana 中选对即可
  • measurement:表名,默认是 jmeter ,也可以自定义(如果自定义的话上面也要改)
  • summaryOnly:选择true的话就只有总体的数据。false会记录总体数据,然后再将每个transaction都分别记录
  • samplersRegex:样本正则表达式,将匹配的样本发送到数据库
  • percentiles:响应时间的百分位P90、P95、P99
  • testTitle:events表中的text字段的内容
  • eventTags:任务标签,配合Grafana一起使用

注意上述端口别忘记开放出来

运行后端监视器

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

为了让数据更好看, 更加可视化, 所以我们要开始安装Grafana

后端监视器可能失败的几个原因

  1. InfluxDB 端口可能未开放
  2. 后端监视器 URL 拼写错误
  3. 后端监视器 URL 端口错误

Grafana

1)下载Grafana镜像:

docker pull grafana/grafana

2)启动Grafana容器:

启动Grafana容器,将3000端口映射出来

注意这里宿主机我写成了23000. 大家根据需求进行配置

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

3)验证部署成功

网页端访问http://ip:23000验证部署成功

默认账户密码:admin\admin

首次登录会让你改密码, 忘记截图了

4)选择添加数据源

5)找到并选择 influxdb :

6)配置数据源 需要关注的也就是 名称, 数据库地址端口, 数据库名称, 账号, 密码, 其中账号密码我们不需要填写, 毕竟没有设置...

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

7)导入模板

有的模板导入地址可能如下图所示

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

  • 直接输入模板id号
  • 直接上传模板json文件
  • 直接输入模板json内容

8)找展示模板

在Grafana的官网找到我们需要的展示模板

  • Apache JMeter Dashboard

    • dashboad-ID:5496
  • JMeter Dashboard(3.2 and up)

    • dashboad-ID:3351

9)导入找到的模板,使用模板id

导入模板,我这里选择输入模板id号,导入后如下,配置好模板名称和对应的数据源,然后 import 即可

10)查看效果

展示设置,首先选择创建的application, 左上角的 application name就是我们在 JMeter-后端监视器设置的application name

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

  1. 数据源查看

安装node_exporter

# 下载
wget -c https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
# 解压
tar zxvf node_exporter-0.18.1.linux-amd64.tar.gz -C /usr/local/ningxuan/
# 启动
cd /usr/local/ningxuan/node_exporter-0.18.1.linux-amd64
nohup ./node_exporter > node.log 2>&1 &

注意:在被监控服务器中配置开启端口9100

访问 http://ip:9100/metrics 地址应该就可以看到相应的数据

安装Prometheus

1)下载解压运行

建议网页复制链接下载, 然后放到 Linux系统中, 外网慢的一批, 我下好之后阿里云盘不让分享, 很难受

# 下载 
wget -c https://github.com/prometheus/prometheus/releases/download/v2.15.1/prometheus-2.15.1.linux-amd64.tar.gz
# 解压
mkdir /usr/local/ningxuan/
tar zxvf prometheus-2.15.1.linux-amd64.tar.gz -C /usr/local/ningxuan/
cd /usr/local/ningxuan/prometheus-2.15.1.linux-amd64
# 运行
nohup ./prometheus > prometheus.log 2>&1 &

2)配置prometheus

在prometheus.yml中加入如下配置:

  • job_name自定义
  • targets是数组, 可以写多个, 我这里是本机就写的 127.0.0.1
  - job_name: '119-Linux'
    static_configs:
    - targets: ['127.0.0.1:9100','***']

3)测试Prometheus

测试Prometheus是否安装配置成功

http://101.200.146.199:9090/targets

4)在Grafana中配置Prometheus的数据源:

  • 新增数据源
  • 选择Prometheus
  • 添加数据库访问地址

5)Grafana导入Linux展示模板

导入Linux系统dashboard

  • Node Exporter for Prometheus Dashboard EN 20201010
    • dashboard-ID: 11074
  • Node Exporter Dashboard
    • dashboard-ID: 16098

最后:下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

全部资料获取

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值