软件测试学习笔记丨性能监控系统部署
本文转自测试人社区,原文链接: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
启动脚本:
配置 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 查看结果
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/ad6b3ff3410b5d94ee9a673c9】。文章转载请联系作者。
评论