写点什么

软件测试学习笔记丨性能监控系统部署

作者:测试人
  • 2024-03-06
    北京
  • 本文字数:1641 字

    阅读完需:约 5 分钟

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/29846

一,cpu、mem、net、io 性能数据收集

1,Prometheus 搭建

  • Prometheus 是一种由 go 语言(golang)开发的开源监控、报警系统

  • 部署方法: Docker 部署

  • 准备 prometheus.yml 配置文件

  • 下载 docker 镜像: docker pull prom/prometheus

  • 启动 docker 容器: docker run -d --name prometheus -p 9090:9090 -v


    :/etc/prometheus prom/prometheus

  • 访问验证 http://:9090/targets


2,部署 node-exporter 工具(收集 cpu、mem、net、io 性能数据)

下载安装

  • node-exporter 是一款用于采集系统指标的工具,由 Prometheus 官方提供

  • 部署方法:docker 部署

  • 拉取镜像: docker pull quay.io/prometheus/node-exporter

  • 启动脚本:

docker run -d --name node_exporter -p 9100:9100 \-v "/proc:/host/proc:ro" \-v "/sys:/host/sys:ro" \-v "/:/rootfs:ro" \quay.io/prometheus/node-exporter
复制代码

配置 prometheus.yml

  • node-exporter 容器启动之后,配置 prometheus.yml,将 node-exporter 的实际位置设定到 prometheus.yml 配置文件中


  • 配置完成后,重启 prometheus 系统,检查 node-exporter targets 数据是否显示正常


3,将 Prometheus 作为数据源添加到 Grafana 中


4,在 Grafana 中添加 node exporter for prometheus dashboard


5,检查系统监控面板展示内容

二,实时压测结果收集

1,压测监控平台组成

  • JMeter:压测工具, 产生压测数据

  • InfluxDB: 开源时序数据库, 特别适合用于处理和分析资源监控数据,用于存储压测数据

  • Grafana:度量分析与可视化图标展示工具,可以支持不同种类的数据源,用于将存储于 InfluxDB 中的数据以图表的形式展示出来

2,监控平台部署 - influxDB

  • 部署方法: Docker 部署

事先准备:

  • 安装 Docker

  • 下载 influxDB 镜像: docker pull influxdb:1.8

启动 influxDB 容器

  • 将新 influxDB 容器命名为 jmeterdb, 执行 docker 创建容器命令:

  • docker run -d -p 8086:8086 -p 8083:8083 --name=jmeterdb influxdb:1.8

  • 执行如下命令进入容器内部 : docker exec –it jmeterdb bash

在容器内部创建 jmeter 数据库,用于收集 JMeter 发送的压测数据

  • 执行 influx 命令进入命令台

  • 执行类 sql 语句 创建 jmeter 数据库:create database jmeter;

  • 创建完 jmeter 数据库之后执行如下命令验证数据库已经创建成功: show databases;

3,监控平台部署 - JMeter

在 JMeter 中添加 Backend Listener 组件,用于收集数据并发送给 influxdb

  • 在 Backend Listener implementation 中选择 InfluxdbBackendListenerClient (注意:必须使用 jmeter 5.0 以上版本,否则需要单独装插件才可以看到这个组件)

  • 在 influxdbURL 中将实际的 influxdb hostname 填写进去

  • application 中填写 baidu (根据项目自定义)

  • 在 testTitle 中填写 Baidu Testing (根据项目自定义)

  • percentiles 中填写 50;90;95;99(默认是 90,95,99,也可以自行添加)

  • 将 summaryOnly 设置为 false (为 true 则只会把汇总数据发送给 fluxDB)

  • 其余配置保持不变


运行 JMeter , 然后在 influxdb 中检验是否已经能够接受到数据

  • 在 influxdb 命令台中使用查询语句,检查是否已经能够收到数据


4,监控平台部署 -Grafana

安装部署

  • 部署方法: Docker 部署

  • 下载镜像: docker pull grafana/grafana

  • 启动镜像: docker run -d -p 3000:3000 --name= -v :/var/lib/grafana grafana/grafana

  • 访问 Grafana 的控制台链接, http://localhost:3000/ 验证它已经运行正常

  • 默认用户名/密码:admin / admin,登录之后请跳过修改密码

在 Grafana 中添加数据源

  • 选择 Add data source

  • 找到 InfluxDB,单击选择该 DB


配置 InfluxDB 数据源

  • 输入 URL : http://[hostname or IP]:8086 (这里填写 influxDB 所在服务器 ip 地址)

  • Access : browser

  • Database : jmeter

  • 其余参数保持默认值


  • 单击 Save & Test 按钮,确认返回消息提示正确确认信息

在 Grafana 内导入 JMeter Dashboard

  • 进入 Home Dashboard 页面,选择 Import


  • 打开事先准备好的 URL :grafana.com/grafana/das…

  • 单击 Load 按钮导入


  • DB name 中选择 InfluxDB 单击 Import 按钮完成 Dashboard 导入


  • 打开刚刚导入的 JMeter Dashboard 查看结果


发布于: 20 分钟前阅读数: 5
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试学习笔记丨性能监控系统部署_软件测试_测试人_InfoQ写作社区