jmeter之jp@gc - Permon Metrics Collector配置及使用

在使用jmeter做压测时,除了需要看一些外部指标,如吞吐量,响应时间,错误率等;还需要关注一些内部指标,从服务器角度来看,主要关注CPU、内存、服务器负载、网络、磁盘IO等。其中不可避免需要使用到jmeter组件中,jp@gc - Permon Metrics Collector组件。

下面主要介绍下配置及使用流程

首先,需要安装jp@gc相关组件,相关文章可在我之前写过得文章有介绍:jmeter性能测试常用插件简介

1.除在客户端jmeter安装插件外,还需要在被监听得服务器服务端安装ServerAgent组件
进入网址 http://jmeter-plugins.org/downloads/all/ 下载资源
或者备用链接:https://github.com/undera/perfmon-agent
下载ServerAgent-2.2.1.zip压缩包
在这里插入图片描述
2.将 ServerAgent-2.2.1 放到要监控的服务器中待使用

  • linux环境:

    将ServerAgent-2.2.1放到服务器下面(需要有java环境),并进行解压
    在这里插入图片描述
    在linux系统里执行 ./startAgent.sh 命令,则会启动服务器程序(4444端口),执行监控。

  • Windows环境:
    直接解压zip压缩包,进入文件夹内点击startAgent.bat文件
    在这里插入图片描述
    如下图启动窗口,即开启成功
    在这里插入图片描述

3.打开jmeter创建 PerfMon Metrics Collector 监听器进行服务器性能数据显示
在这里插入图片描述

  • Host/IP填写服务器地址
  • Port填写端口号
  • Metric To collect选中需要监控得各项指标

4.点击jmeter启动按钮后,查看插件监控服务器CPU折线图

ps:监控插件ServerAgent 的常见问题

  • 启动发现端口被占用(或可能是运营商拦截了4444端口),尝试换端口
    在这里插入图片描述
    (windows为例)在ServerAgent安装文件夹内打开cmd输入替换端口指令:java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 3401 --tcp-port 3402(端口号)
    在这里插入图片描述
  • startAgent.bat闪退问题
    提供解决办法链接如下:https://blog.youkuaiyun.com/w_q_r_1/article/details/117755662
    未亲身试,仅作参考。
<think>好的,我现在需要解决用户提到的JMeter中PerfMon Metrics Collector插件出现的“Connection refused: connect”错误。首先,我要回忆一下这个问题的可能原因和解决方案。根据用户提供的引用内容,有几个常见的原因,比如ServerAgent未启动、端口被占用、防火墙设置或路径权限问题。 首先,我应该检查ServerAgent是否在目标服务器上正确启动。用户提到引用4中说到需要启动serverAgent.sh,并且可能端口4444被占用。所以第一步要确认服务器端的Agent是否运行,并且使用正确的端口。如果端口被占用,需要终止占用进程或者更换端口。 然后,考虑防火墙或安全组的设置。即使Agent运行正常,如果服务器的防火墙阻止了4444端口的连接,客户端也无法连接。需要检查服务器和客户端的防火墙规则,确保端口开放。 接下来,用户可能没有正确安装插件。引用3提到要完整安装Jmeter插件包,可能需要确认客户端是否正确安装了PerfMon插件和相关依赖,比如JMeterPlugins-Standard和Extras。 另外,路径权限问题也可能导致Agent启动失败,比如没有执行权限。这时候需要用chmod +x赋予执行权限,并检查日志文件nohup.out是否有错误信息。 还有,用户可能输入了错误的主机名或端口号,比如拼写错误或者使用了错误的IP地址。需要仔细检查JMeter中的配置是否正确,包括服务器的IP和端口是否匹配。 可能还需要考虑网络连通性,比如是否能从运行JMeter的机器ping通服务器,或者使用telnet测试4444端口是否可达。如果网络不通,自然会导致连接被拒绝。 最后,如果以上步骤都确认无误,可能需要查看ServerAgent的日志,看是否有更详细的错误信息。比如在启动Agent时使用调试模式,或者检查nohup.out文件中的输出,帮助定位问题。 总结一下,可能的解决步骤包括:确认ServerAgent运行、检查端口占用和防火墙、验证插件安装、检查路径权限、核对连接配置,以及测试网络连通性。需要一步步排查这些可能性,找到具体原因并解决。</think>针对JMeter中PerfMon Metrics Collector插件报错“java.net.ConnectException: Connection refused”的问题,以下是分步解决方案: --- ### 一、问题原因分析 1. **ServerAgent未启动**:监控目标服务器未启动ServerAgent服务[^4] 2. **端口冲突/防火墙限制**:默认端口4444被占用或防火墙拦截[^2][^4] 3. **插件安装不完整**:缺少必要的插件依赖[^3] 4. **路径权限不足**:ServerAgent脚本未赋予执行权限[^4] --- ### 二、详细解决步骤 #### 步骤1:启动ServerAgent服务 1. 在目标服务器上解压`ServerAgent-2.2.1.zip` 2. 进入目录执行命令: ```bash chmod +x startAgent.sh # 赋予执行权限 ./startAgent.sh --udp-port 4444 --tcp-port 4444 # 显式指定端口 ``` 3. 验证端口占用: ```bash netstat -tuln | grep 4444 # 查看端口状态 ps -ef | grep ServerAgent # 检查进程是否运行 ``` #### 步骤2:检查防火墙/安全组 - **Linux服务器**: ```bash iptables -L -n | grep 4444 # 检查防火墙规则 systemctl stop firewalld # 临时关闭防火墙(测试用) ``` - **Windows服务器**:在“高级安全Windows Defender防火墙”中添加入站规则,允许TCP/UDP 4444端口 #### 步骤3:验证JMeter插件安装 1. 客户端需安装: - `JMeterPlugins-Standard-1.3.1.zip` - `JMeterPlugins-Extras-1.3.1.zip` 2. 将JAR文件放入`JMETER_HOME/lib/ext`目录并重启JMeter[^3] #### 步骤4:配置PerfMon Metrics Collector 1. 在JMeter中添加监听器`jp@gc - PerfMon Metrics Collector` 2. 填写正确的服务器IP和端口(默认为4444) ![PerfMon配置示例](https://example.com/perfmon-config.png) *配置界面示意图* #### 步骤5:排查网络连通性 在JMeter所在机器执行: ```bash telnet [服务器IP] 4444 # 测试端口连通性 ping [服务器IP] # 测试网络可达性 ``` --- ### 三、进阶排查技巧 1. **查看ServerAgent日志**: ```bash tail -f nohup.out # 实时监控启动日志[^4] ``` 2. **更换启动方式**: ```bash nohup ./startAgent.sh > agent.log 2>&1 & # 后台运行并记录日志 ``` 3. **尝试备用端口**: ```bash ./startAgent.sh --tcp-port 5555 --udp-port 5555 # 改用非默认端口 ``` --- ### 四、预防措施 1. 编写启动脚本自动检查端口占用 2. 使用Ansible等工具批量部署ServerAgent 3. 在JMeter测试计划中添加`BeanShell断言`自动检测连接状态 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小胖子xpp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值