使用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中的监控器结果图为空,网上查的说的解决方法,我试了仍然不行,不知道怎么回事了,希望有高人指点,先记录在这里。