三、性能监控---4种监控方式

  1. 性能监控(监控性能测试过程,收集性能测试过程中数据,拥有性能分析----主要时收集被测服务器的资源使用情况)
    1.被测服务器的资源:硬件资源: cpu、内存、io、网络 软件资源: tomcat、jvm、数据库、连接池、中间件..

    先硬件,在软件

    2.监控工具 备注:监控工具是监控被测服务器的,所以监控工具要安装在被测服务器上,监控工具,本身也有资源消化,所以,选择监控工具,要尽可能选择资源消耗比较少的工具

    1)nmon工具:这个工具,只能监控,linux服务器(不能监控windows),是一个独立工具,不依赖我们性能测试工具的,进行服务器资源监控时,本身资源消耗很少,收集的监控数据比较全
    安装:nmon16m_helpsystems.tar.gz tar -zxvf 解压
    开启: 查看当前当前 centos服务系统:cat /etc/redhat-release 看到系统架构 x84_64 :uname -a
    根据当前系统启动对应nmon: ./nmon_x86_64_centos7
    有3中交互模式:屏幕交互模式,数据收集模式—这一种用的比较多,定时执行模式 (已数据收集为主讲解)
    数据采集:./nmon_x86_64_centos7 -f -s3 -c50 -f 数据交互模式 每3秒采集一次,采集50次 150秒 的时长,未指定文件,监控结果以文件形式输出,默认机器名+日期.nmon格式
    ps -ef |grep nmon 查看当前nmon执行情况
    报告结果分析:已sz 命令将监控结果文件导出到本地,用过nmon_analyse 文件,分析生产报告
    监控结果nmon 解析文件
    生成报告.xlsx

    2)SeverAgent 工具:这个工具,可以和jmeter集成,在jmeter的GUI界面可以看到数据(可以监控window、linux)
    安装: rz 命令 把ServerAgent zip包上传到被测服务器 unzip ServerAgent-2.2.3.zip 解压

    启动: /startAgent.sh ----启动命令, ServerAgent服务的默认端口 4444 这个端口,在一些云服务器中,不允许对外开放,所以,我们在启动ServerAgent这个服务的时候,需要指定服务的端口 ./startAgent.sh --udp-port 0 --tcp-port 5689 修改指定端口

    数据采集:jmeter 中监控:jp@gc - PerfMon Metrics Collector (在监听器的使用时,不同的单位,选择用多个监听器,不建议放在1个监听器中CPU,内存等等--单独监控)

    3)grafana + influxdb + jmeter: 与jmeter集成,可以把jmeter进行性能测试过程中的数据,写入influxdb数据库中,通过grafana前端平台来展示出来
    vs jmeter + severAgent: ServerAgent也可以和jmeter集成,但是,它只能在jmeter的gui界面中展示,脱离了jmeter的gui界面,就不能看到数据,也不能回看数据。

    运行软件及原理:

    grafana:专门用于数据展示的前端平台,通过浏览器来访问,它自身没有数据存储功能

    influxdb:时序数据库;数据库: 持久化存储数据的管理系统dbms;时序数据库:时间序列 这个数据库中,存放的数据,肯定有时间字段 根据时间来存数据, 根据时间排序

    jmeter:进行性能测试,产生数据, 数据要写入influxdb数据库,通过grafana进行数据显示

    安装:influxdb

    位置:不能安装在被测服务器上。要求安装在非被测服务器上。 写入数据影响性能

    安装:influxdb-1.7.0.x86_64.rpm (influxdb数据库的版本,建议使用1.x (不能是用2.x ))通过命令 yum install influxdb-1.7.0.x86_64.rpm -y 执行完,把influxdb数据库已经安装成功;influxdb数据库默认端口 8086

    启动:influxd ---启动命令

    进入数据库:需要启动另一个终端(一个终端用于启动,一个用于数据库创建);进入数据库命令:influx

    show databases; 我们看到没有jmeter库,我们就需要去创建一个库: create database jmeter; 使用对应数据库:use jmeter;

    查看表:show measurements;查看表,jmeter在执行时会自动创建一个为jmeter的表,无需自己创建

    查看数据:select * from jmeter`

    安装:grafana

    位置:安装在与influxdb同服务器

    安装:将安装包放在服务器grafana-7.4.3-1.x86_64.rpm 通过 yum install grafana-7.4.3-1.x86_64.rpm -y命令安装

    启动:systemctl restart grafana-server

    配置:访问grafana: http://grafana-server-ip:3000 admin admin

    设置:datasources: url http://influxdb数据库的IP:8086 database: jmeter 选择模版:指定模版号,可选择展示模版

    运行:jmeter进行性能测试,把数据写入influxdb数据库中:监听器:后端监听器------后端监听实现选择:influxdb

    查看:访问grafana: http://grafana-server-ip:3000 admin admin

    4) grafana + prometheus + node_exporter
    运行软件及原理:

    grafana:专门用于数据展示的前端平台,通过浏览器来访问,它自身没有数据存储功能

    prometheus:时序数据库;数据库: VS influxdb : https://www.jianshu.com/p/d666ee3147d2 ---------无需安装在被测服务器

    node_exporter:收集数据(收集监控数据):收集linux系统资源利用数据, 这个解决方案中,node_exporter 是可变的,是根据你要收集哪些数据来进行选择—安装在被测服务器上

    安装: prometheus:

    prometheus-2.20.1.linux-amd64.tar.gz 压缩包直接解压 然后启动 `./prometheus,预览 :默认端口: 9090 http://prometheus_ip:9090

    安装: node_exporter

    node_exporter-1.1.1.linux-amd64.tar.gz 压缩包直接解压 然后启动 `./node_exporter‘’,预览 :默认端口: 默认端口:9100 http://node_exporter_ip:9100

    配置: prometheus + node_exporter结合

    修改prometheus配置文件: prometheus.yml : vim命令进入,i 进入插入模式,配置添加 node_exporte的ip端口,ESC 退出编辑模式,:w 保存;:q 退出 --------修改成功

    监控: 启动:systemctl restart grafana-server

    配置:访问grafana: http://grafana-server-ip:3000 admin admin data sources :prometheus_node import :导入模版

posted @ 2022-04-09 19:01  小学生1号  阅读(1062)  评论(0)    收藏  举报