jmeter中也可以監控服務器的CPU和內存使用情況,但是需要安裝一些插件還需要在被監測服務器上開啟服務。
安裝性能監控插件(jmeter-plugins)后報如下錯誤,是由於jmeter版本過高jmeter3.1可以成功
如果你使用插件Extra1.4和Standard1.4 那么會遇到高版本method兼容問題,比如版本大於3.1就會在jmeter.log拋出異常,甚至直接jmeterGUI界面啟動卡死現象:
java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/t,
解決辦法兩種:
第一種使用jmeter3.1搭配jmeter的插件Extras1.4.0和Standard -plugin1.4.0的只支持jmeter3.2以下,不包括3.2!!!
第二種解決辦法使用jmeter-plugin-manager:(推薦,畢竟高版本修復了很多問題,此方法安裝的jp@gc -PerfMon Metrics Collector插件監控支持到jmeter5.1以及最新版本):
使用jmeter-plugin-manager,安裝PerfMon-2.1version解決了以上方法以高版本監控插件不兼容問題
先在Avaliable Plugins搜索Per,然后勾選,再ApplyChanges and Restart jmeter ,此外你還要在被壓測服務器安裝ServerAgent-2.2.1 ,並啟動它,同時注意防火牆必須開放端口4444
systemctl start firewalld
firewall-cmd --zone=public --add-port=4444/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
//Jmeter all release version of history
https://archive.apache.org/dist/jmeter/binaries/
Jmeter3.1.zip
https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-3.1.zip
Jmeter 5.1zip
https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.1.zip
https://jmeter-plugins.org/downloads/file/JMeterPlugins-Extras-1.3.1.zip
https://jmeter-plugins.org/downloads/file/JMeterPlugins-Standard-1.3.1.zip
並且把 JMeterPlugins-Extras.jar 和 JMeterPlugins-Standard.jar復制到Jmeter\lib\ext 目錄下,如果你還有其它需要下載的插件可以通過插件市場地址:https://jmeter-plugins.org/downloads/old/,當然我推薦你使用
3 . ServerAgent-2.2.1
ServerAgent-2.2.1下載地址 https://github.com/undera/perfmon-agent
啟動jmeter,在監聽器的選項中增加了一些jp@gc開頭的監聽器,監控cpu、內存、i/o的監聽是jp@gc -PerfMon Metrics Collector,host/ip下填寫被壓測服務器的ip
serverAgent.zip下載地址:
https://github.com/undera/perfmon-agent
三.agentserver啟動:
Add Row可以添加需要監控的服務器ip,端口號默認為4444,監控內容CPU/MEMORY/DISKS I/O等
將ServerAgent-2.2.1.zip解壓后放在需要監控的服務器上,並開啟
startAgent.bat(windows)
startAgent.sh(linux)
linux服務器上首先將startAgent.sh設定為可執行文件:
chmod 777 startAgent.sh
./startAgent.sh執行文件
如果要將該文件設置為后台執行不關閉
Nohup ./startAgent.sh &

注意事項:默認端口占用以及修改:
執行時監控cpu的插件可能會報錯:java.io.IOException: Agent is unreachable via TCP
windows環境下解決方法:
serveragent的默認端口為4444,使用jmeter監聽器時,有時即使開啟了agent服務也會無法監聽,這時候可能是端口被占用了,需要修改端口,那么該如何做呢?
1、cmd命令進入ServerAgent的根目錄;
2、在cmd中輸入: java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 5555 --tcp-port 5555
PerfMon Metrics Collector and Server Agent原理和使用可以查看官方文檔
具體可以查看官方的文檔:
https://jmeter-plugins.org/wiki/PerfMon/
https://jmeter-plugins.org/wiki/PerfMonAgent/
結語:實際壓測尤其是穩定性測試中我不推薦用jmeter進行這些指標監測,因為cpu,mem,disk的數據jmeter可讀性太差,我自己寫了一篇關於如何搭建壓測性能平台的技術文檔可以加我群咨詢我: