jmeter性能监控工具 (ServerAgent监控、nmon、influxdb+grafana、Prometheus+grafana+xxxxxxx)

11 篇文章 0 订阅
4 篇文章 0 订阅
本文介绍了如何使用JMeter进行性能测试时集成ServerAgent和nmon等监控工具,以及如何通过influxdb和Grafana搭建性能监控平台,包括数据收集、存储和可视化过程。
摘要由CSDN通过智能技术生成

jmeter性能监控工具

一切的性能测试,都需要有性能监控。一切可监控的资源,尽可能都监控起来。
监控: 监控工具 + 监控平台
监控工具,容易上手。
ServerAgent监控、nmon、influxdb+grafana、Prometheus+grafana+xxxxxxx

ServerAgent监控

serverAgent这个监控工具,可以和JMeter集成的,在JMeter的图形界面中,可以实时看到监控的数
据。但是,它只能监控硬件资源使用情况。 不能监控应用服务。

serverAgent是监控操作系统的资源使用情况。

serverAgent要放到被测试服务器上。安装unzip命令yum install unzip解压unzip serverAgent_xxx.zip
使用 ./startAgent.sh ====一定要有 java的运行环境

默认的数据传输协议是 http的tcp 和udp, serverAgen的端口是 4444 这个端口,在某一些云服务器上,云服务器的提供商是不运行对外开发这个端口的。

  • 如果你在自己的云服务器上部署了一个服务要能被访问到,一定要在云服务器的管理平台中,添加安全策略,在里面开放这个端口。./startAgent.sh --tcp-port 6789 --udp-port 0 改变 监控工具的通信协议的端口

检查jmeter发起方和被测服务器之间的网络是通的telnet ip 6789

JMeter与serverAgent集成。
在JMeter中添加 PerfMon Metrics Collector 监听器
在这里插入图片描述
由图中可以看出在刚开始cpu就占用了将近100%,内存占用了90%。说明系统存在性能问题(先不优化,还要查看其他性能参数)
在这里插入图片描述
cli命令执行性能测试, 生成jtl文件不会有任何的服务器资源监控的数据

nmon

这个监控工具,只能监控 linux系统。
这个工具,是一个独立的linux系统监控工具,不与性能测试工具有关联。
这个工具,只能监控 硬件资源, 不能监控 软件服务。
在现在银行系统中使用比较多。

下载工具

先要确认自己的linux系统的架构、发行版本。
通过: uname -a 看到 系统的cpu架构
在这里插入图片描述
通过 cat /etc/redhat-release 可以看到发行版本 ------redhat加载
如果是其他系统(ubuntu) cat /etc/os-release 文件
在这里插入图片描述
监控的包和 分析用包
把 监控用到包上传到 被监控机器上。

在这里插入图片描述
nmon性能分析工具
在这里插入图片描述
解压tar -xzvf nmon16m_helpsystems.tar.gz

在这里插入图片描述
除了和我们版本相同的文件,其他的都可以删除
nmon_x86_64_centos7 -h 获取帮助
在这里插入图片描述

三种模式:
On-screen Stats 实时屏幕展示模式 -----不会保存监控数据到文件
Data Collection 数据收集模式 ------界面上不会显示,收集数据到文件,一个nmon格式
Capacity Plan 固定计划执行模式 ----- 按照固定设定数据收集放置执行,把数据写入到文件
实时屏幕交互模式:

./nmon_x86_64_centos7 不要带参数
快捷键: cmdnl
退出键:q

数据收集模式

nmon_x86_64_centos7 -f 输出结果到文件

-s 间隔多长时间拍一次快照
-c 次数
如果只写一个-f参数,这个命令就会自动收集1天的数据,保存到一个文件,1天时间到了这个命令才会退出。

nmon_x86_64_centos7 -f -s3 -c100
命令释义:
-s3:间隔3秒钟收集一次数据,
-c100:总共收集100次,
执行300秒之后这个命令就会自动退出。

使用 nmon的分析工具

解压分析工具之后,会有一个 xlsm文件,这个文件,是一个 带有宏的文件,这个需要使用 微软的
office打开。 会提示要启用宏, 启用了才能去分析 nmon文件

固定计划执行模式
有固定的三个参数
-x 一天 nmon_x86_64_centos7 -x
-X 一个小时
-z 保存文件到var文件夹下,需要超管账户

grafana + influxdb1.x + JMeter 性能监控平台

grafana 前置展示界面
  • 界面是通过模板,来配置。
  • 换一个模板,就可以换调前端的界面展示。
influxdb 时序数据库
  • 是根据时间顺序来记录数据的一个数据库。
    • 每一条数据都有一个时间(一般是时间戳)
  • influxQL 这个数据库的自有sql语句 ------- 非常类似关系型数据库的标准SQL
  • 现在用到 JMeter做性能测试,数据存到influxdb数据库中,influxdb的版本,建议使用1.x
    • influxdb已经有2.x 版本, 但是在JMeter5.4以下的版本中,使用很麻烦。
JMeter有一个后端监听器元件
  • 可以与influxdb集成
  • 就可以把 JMeter做性能测试时的一些性能数据,写入influxdb数据库

监控平台环境搭建 安装 grafana和influxdb

自己用云盘中 空系统的ova文件,创建出一个空系统
性能监控平台,一般是不会搭建在被测系统上的。
把 grafana 和influxdb1.x的rpm包上传到 机器
不要去传 influxdb2.x, 更不要在机器上安装 influxdb2.x版本, 如果安装了2.x 你的influxdb1.x是不能再安装成功的。

grafana-7.4.3-1.x86_64.rpm 、influxdb-1.7.0.x86_64.rpm
yum install influxdb-1.7.0.x86_64.rpm -y
yum install grafana-7.4.3-1.x86_64.rpm -y

安装完成之后,系统中,就会有 grafana和influxdb这个两个软件。

influxdb

启动数据库的命令: influxd
在这里插入图片描述

操作influxdb数据库,需要另外再开启一个终端窗口
进入数据库的命令行模式命令: influx

看到: influxdb这个数据库,可以通过http协议,访问8086端口。
influxdb时序数据库地址
时序数据库地址

show databases;
create database jmeter;
use jmeter;
show measurements; 查看当前库下面有哪些表。

在这里插入图片描述
这个监控平台,不需要自己创建表。
启动grafana: systemctl restart grafana-server
检查grafana是否启动ps -ef | grep grafana在这里插入图片描述

可以通过,http://grafana的ip:3000 账密:admin/admin
在这里插入图片描述

选择首页的添加数据源
在这里插入图片描述

选择influxdb
在这里插入图片描述

填写名称
URL: http://influxdb的ip地址:8086
在这里插入图片描述

InfluxDB Details
database: jmeter
点击 sava & test 出现绿色 说明操作成功

在这里插入图片描述

jmeter进行性能测试生成数据

JMeter中,添加后端监听器
选择 带有 influxdb 的监听器实现
配置信息:
influxdbURL: http://influxdb的ip:8086/write?db=jmeter
在这里插入图片描述
运行脚本后可以通过查询语句查询表中的数据
在这里插入图片描述

grafana配置界面展示数据

左侧菜单 +号, 找import
在这里插入图片描述
在这里插入图片描述

访问https://grafana.com/网站,点击网页最下方Dashboards查找InfluxDB 相关的面板
在这里插入图片描述

在这里插入图片描述

输入面板的id: 5496 load 或下载对应json文件或复制json文件内容
在这里插入图片描述

因为这个是 在国外, 有些地方,网络原因,连接不上的问题。
DB name: 选择之前添加的influxdb数据源的名称
确保 measurement的值,与 JMeter后端监听器中 measurement的值一致。
确定
在这里插入图片描述

模板的界面,右上角,可以选择时间范围
**加粗样式**

Jmx exporter+Prometheus+Grafana 监控

JVMgrafana + prometheus + jvm_exporter
下载prometheus 并解压

tar xvfz prometheus-2.34.0.linux-amd64.tar.gz

给与运行权限

chmod +x prometheus-2.20.1.linux-amd64.tar.gz

配置jvm监控端口
在Prometheus的配置文件中配置jvm的信息

vim prometheus.yml
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:3088']  # JVM Exporter的地址和端口,需要和下方的JVM端口一致

启动Prometheus:运行Prometheus服务器。

./prometheus --config.file=prometheus.yml

访问:http://IP:9090/,验证Prometheus是否启动成功
想查看prometheus监控jvm信息,可以在界面中执行,jvm_info
在这里插入图片描述

  • 配置catalina.sh文件 JAVA_OPTS=“-javaagent:./jmx_prometheus_javaagent-0.14.0.jar=3088:./tomcat.yml”

  • JAVA_OPTS=“-javaagent:./jmx_prometheus_javaagent-0.15.0.jar=6088:./tomcat.yml”

  • https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/下载jvm_exporter.jar 到tomcat的bin文件夹

  • https://github.com/prometheus/jmx_exporter/blob/main/example_configs/tomcat.yml 配置tomcat.yml文件 到tomcat的bin文件夹

在这里插入图片描述
选着对应的java版本,这里我选择是0.14版本
在这里插入图片描述
启动tomcat

启动grafana: systemctl restart grafana-server
检查grafana是否启动` ps -ef | grep grafana

打开grafana页面http://192.168.100.104:3000/

配置grafana
在这里插入图片描述
在这里插入图片描述

引入模板:7727
在这里插入图片描述
在这里插入图片描述

使用8563的模板时候,job的配置, 一定要与 prometheus.yml文件中 job_name 要相同

在这里插入图片描述

待续

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值