鉴于搭建经历过于艰辛,本文采用流水席上菜,愿为大家优坑少坑!

背景:基于 Jmeter 监控服务器资源,所需组件:PerfMon Metrics Collector
版本:Jmeter5.1.1(版本随意)

坑 1:本局游戏到底有几位玩家参与?

A.Extras+Standard+ServerAgent
B.PerfMon+Extras+Standard+ServerAgent
C.PerfMon+ServerAgent

答案是:C
解析:
3.1(大概)版本后只需要安装 PerfMon 即可,不需要 A 选择中的两位大坑,如若不然,会报错:版本不匹配!
当你通过百度/bing/google/GPT 等各种方式搜索该问题如何解决时,答案统一都是降低版本叭叭叭的 cv 产物,请忽视!
我搜了一小时,换了 3 个版本都没解决,最后第六感告诉我:删了那两个大坑试一试!然后他就成了

坑 2:为什么就连不到 Agent 服务呢?

A.防火墙没关
B.4444 端口未开放
C.Service 未启动

答案是:D(防火墙没关 +4444 端口有毒 +Service 未启动)
解析:会百度的你应该把防火墙关了,服务也启动了,4444 也开放了,可你发现为什么还是不通呢?没错,默认端口就是有毒的,换个试试吧年轻人

分享:

Jmeter:https://archive.apache.org/dist/jmeter/binaries/
Agent 启动命令:
java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 4445 --tcp-port 4445
Windows-telnet 命令开启:控制面板 - 程序 - 开启/关闭 Windows 功能-Telnet 客户端 - 勾选
telnet 命令:telnet xx.xx.xx.xx 4445 可查看能否连通目标服务器及端口

异常报错引流:

ERROR k.a.j.p.PerfMonCollector: Problems creating connector
java.net.ConnectException: Connection timed out: connect
INFO k.a.j.p.PerfMonCollector: Can't connect TCP transport for host: /XX.XX.XX.XX:4444
(不要疑惑为什么 host 前面有个/,问就是设计如此!)
java.lang.IllegalArgumentException: Version Standard not found for plugin jpgc-perfmon
ERROR o.a.j.JMeter: Uncaught exception in thread Thread[StandardJMeterEngine,6,main] java.lang.NoSuchMethodError:


↙↙↙阅读原文可查看相关链接,并与作者交流