使用jmeter的tomcat監視器功能,可以通過向tomcat的status頁面發送get請求,得到資源使用信息,然后轉換為只直觀的圖像方式,這樣的話,就可以監視到服務器的資源使用情況,不過需要注意的是,要使用tomcat監視器功能,就必須在要監視的服務器上裝有tomcat。
一. 配置$CATALINA_HOME/conf/tomcat-users.xml.配置如下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
注意:這里需要配置兩個角色,admin角色負責Tomcat Administration管理,manager角色負責Tomcat Manager管理。
二. JMeter中創建測試計划
1. 在“線程組”上右鍵“添加”--“配置元件”--“HTTP授權管理器”,這里主要是讓JMeter能夠通過Tomcat的基本認證,獲取到數據,在“用戶名”和“密碼”中加入對應的值,如下圖所示
2. 在“線程組”上右鍵“添加”--“Sampler”--“HTTP請求”,在出現的HTTP請求界面中,添加“服務器IP”、“端口號”等信息,在“路徑”中填入“manager/status”,在“同請求一起發送參數”中增加一個參數,名稱為“XML”,值為“true”,同時,勾選最下面的“用作監視器”,如下圖所示:
3.最后,在“HTTP請求”上右鍵“添加”--“監視器結果”,這時再運行線程組(可以將線程組的循環次數設為“永遠”),即可以實現對Tomcat的監控了,同時,監控數據還可以另存為文件進行進一步分析,如下圖所示:
三.遇到的問題
1.tomcatManager status code:401
2.tomcatManager status code:403 Access Denied
解決方法: tomcat-user.xml配置用戶最大權限 , 配置了還報錯那是因為你tomcat服務沒有重啟的緣故
3.JMeter中的監控器結果圖為空,網上查的說的解決方法,我試了仍然不行,不知道怎么回事了,希望有高人指點,先記錄在這里。