Jmeter Linux資源監控器
最近完成了jmeter linux資源監控器的開發,方法并不怎么高明,但相信可以幫助很多用jmeter來做性能測試的同仁解決jmeter缺少linux資源監控的問題
附件中是編譯好的包以及linux上所用的腳本。基本的原理是利用shell腳本生成資源xml,讓jmeter利用http請求獲取該xml,解析展現數據。
歡迎各位同仁測試使用,有問題也可以與我交流。
監控器實現的是linux系統上的資源監控,要求:服務器上至少有一個web server(因需要通過http請求獲取資源xml),用于生成服務器資源xml的腳本中使用了sysstat包中的指令,所以需要安裝sysstat包。
使用方法:
下載:
首先解開壓縮包,取出status腳本,登錄到被監控的服務器上,將status腳本放上去。該腳本執行時會在所在路徑生成status.xml文件,可以直接將status腳本放在web server的目錄下,也可以用軟鏈接來鏈到status.xml文件。下面介紹在基于apache的web server上的配置方法:
在apache的配置文件httpd.conf中找到DocumentRoot,一般默認是apache目錄下的htdocs,將status腳本放到該目錄下;
更改執行權限:
chmod 744 status
啟動該腳本:
./status start
啟動起來之后就會在當前目錄下產生status.xml文件
不需要監控時,停止該腳本:
./status stop
然后到運行jmeter的機器上,解開壓縮包里的ext.rar包,將解壓得到的兩個jar包:ApacheJMeter_core.jar和ApacheJMeter_monitors.jar,復制到jmeter的lib/ext目錄下,覆蓋原來的jar包。
之后就可以到jmeter上來監控了:打開jmeter,建立一個線程組,添加一個http請求,ip就是要監控的服務器地址,端口號就是apache偵聽的http端口,協議是“http”,路徑是“/status.xml”,勾選“用作監視器”;

http request.JPG
再為該http請求添加一個“固定定時器”組件和一個“監視器結果”組件,“固定定時器”的延時要設置為大于1秒的時間,即數據的采樣時間。

timer.JPG
在線程組中循環次數設置勾選“永遠”;

thread group.JPG
Run一下,就可以在監視器結果上看到剛剛添加的監控服務器了,目前已經監控了6個參數:cpu%user,cpu%iowait,load,mem%(used/total),swap in,swap out。

monitor.JPG
如果被監控的linux上沒有安裝sysstat包,是無法正常生成監控數據的,這里附上sysstat包的安裝方法:
首先到http://perso.wanadoo.fr/sebastien.godard/下載最新的版本,最好是源碼包,比如sysstat-5.1.1.tar.gz
1.解包:
tar zxvf sysstat-5.1.1.tar.gz
2.安裝:
cd sysstat-5.1.1
make config
這步可以省略,有些發行版中會出錯;如果不用這個命令,可以直接安裝到其默認的/usr/local/lib目錄中
make
編譯
make install
安裝
這樣就安裝好了。
附件中是編譯好的包以及linux上所用的腳本。基本的原理是利用shell腳本生成資源xml,讓jmeter利用http請求獲取該xml,解析展現數據。
歡迎各位同仁測試使用,有問題也可以與我交流。
監控器實現的是linux系統上的資源監控,要求:服務器上至少有一個web server(因需要通過http請求獲取資源xml),用于生成服務器資源xml的腳本中使用了sysstat包中的指令,所以需要安裝sysstat包。
使用方法:
下載:
LinuxResourcesMonitor.rar
(2008-08-01 20:56:32, Size: 756 kB, Downloads: 0)
首先解開壓縮包,取出status腳本,登錄到被監控的服務器上,將status腳本放上去。該腳本執行時會在所在路徑生成status.xml文件,可以直接將status腳本放在web server的目錄下,也可以用軟鏈接來鏈到status.xml文件。下面介紹在基于apache的web server上的配置方法:
在apache的配置文件httpd.conf中找到DocumentRoot,一般默認是apache目錄下的htdocs,將status腳本放到該目錄下;
更改執行權限:
chmod 744 status
啟動該腳本:
./status start
啟動起來之后就會在當前目錄下產生status.xml文件
不需要監控時,停止該腳本:
./status stop
然后到運行jmeter的機器上,解開壓縮包里的ext.rar包,將解壓得到的兩個jar包:ApacheJMeter_core.jar和ApacheJMeter_monitors.jar,復制到jmeter的lib/ext目錄下,覆蓋原來的jar包。
之后就可以到jmeter上來監控了:打開jmeter,建立一個線程組,添加一個http請求,ip就是要監控的服務器地址,端口號就是apache偵聽的http端口,協議是“http”,路徑是“/status.xml”,勾選“用作監視器”;

http request.JPG
再為該http請求添加一個“固定定時器”組件和一個“監視器結果”組件,“固定定時器”的延時要設置為大于1秒的時間,即數據的采樣時間。

timer.JPG
在線程組中循環次數設置勾選“永遠”;

thread group.JPG
Run一下,就可以在監視器結果上看到剛剛添加的監控服務器了,目前已經監控了6個參數:cpu%user,cpu%iowait,load,mem%(used/total),swap in,swap out。

monitor.JPG
如果被監控的linux上沒有安裝sysstat包,是無法正常生成監控數據的,這里附上sysstat包的安裝方法:
首先到http://perso.wanadoo.fr/sebastien.godard/下載最新的版本,最好是源碼包,比如sysstat-5.1.1.tar.gz
1.解包:
tar zxvf sysstat-5.1.1.tar.gz
2.安裝:
cd sysstat-5.1.1
make config
這步可以省略,有些發行版中會出錯;如果不用這個命令,可以直接安裝到其默認的/usr/local/lib目錄中
make
編譯
make install
安裝
這樣就安裝好了。