日期:2014-05-16  浏览次数:20716 次

windows通过VisualVM远程监控linux下的tomcat使用情况

在网上找了可以说是n多文章呀,都配置过,但都不行,可能是我一开始tomcat里面的文件搞乱了吧,后来把tomat给删掉,重新解压一份,一步一步参照官方文档给出的解决方案,终于给解决了

1、在tomcat的安装目录下的conf/server.xml加上

<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
          rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" />



2、在tomcat安装目录bin/下新建setenv.sh文件,文件内容为

#!/bin/sh

-Dcom.sun.management.jmxremote.password.file=$CATALINA_BASE/conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=$CATALINA_BASE/conf/jmxremote.access
-Dcom.sun.management.jmxremote.ssl=false

3、在第二部里面对应的$CATALINA_BASE即是/opt/tomcat/(我的是这个),这个不用去关心,但是在这之前有关tomcat的环境变量请自行设置好,我这边就在/etc/profile下面设置了,CATALINA_HOME即是应该设置的tomcat的环境,当然java环境变量也要设置好



setenv.sh文件的jmxremote.password和jmxremote.access在/opt/java/jdk1.6.0_45/jre/lib/management下面会发现对应jmxremote.access和jmxremote.password.template复制到tomcat安装目录下的conf文件夹下就OK了,jmxremote.password.template复制过去的时候要改名成jmxremote.password,然后在这两个文件里面添加以下内容,图示:

jmxremote.password:


jmxremote.access:



4、接着开启linux防火墙对10001和10002设置,之前在某篇文章下面看到,端口值在几千一下就不用设置,但是我这个地方一开始就设置了,所以就没去掉了。设置端口可以在linux执行命令  vi /etc/sysconfig/iptables,这里给出截图:


-A INPUT -m state --state NEW -m tcp -p tcp --dport 10001 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10002 -j ACCEPT

即上面这两句。

5、最后一步,往tomcat安装文件lib文件夹加入catalina-jmx-remote.jar这个文件

下载链接:http://download.csdn.net/detail/ty0415/6388519

6、打开visualvm,如图



上面这个截图的jaxremote.passwd写错了,你懂的。

欢迎大家拍砖。

最后给出官网的解决方法http://tomcat.apache.org/tomcat-6.0-doc/config/listeners.html