您的位置:首页 > 运维架构 > Tomcat

jdk jvisualvm 或 jconsole 远程监控 tomcat

2015-12-01 16:38 615 查看
tomcat 的监控特别烦,不仅有很多线程参数,而且还有堆内存、非堆内存、新生代等信息;如果要绘制成图形会非常的不方便,不仅是单位不同,更多的是 tomcat 本身也有许多个 ,每个 tomcat 又有不同的图形。

那下面这款软件是 JDK 自带的 VisualVM ,它可以检测 tomcat 的各个参数。它包括 tomcat 启动的一些参数;系统的一些属性、 CPU 使用率、类、堆、以及线程等信息。

准备:

这个文件自己在百度找找下载下来,放在 tomcat\lib 里面

catalina-jmx-remote.jar

下面两个文件在安装 jdk 的时候自带



下面开始:

1、将上面的两个文件拷贝到 tomcat/conf 里面,(jmxremote.password.template 记得去掉template )。分别为:

[root@tomcat2 ~]# ll /usr/local/tomcats/trade-ci1/conf/jmxremote.* | awk '{print $NF}'
/usr/local/tomcats/trade-ci1/conf/jmxremote.access
/usr/local/tomcats/trade-ci1/conf/jmxremote.password
[root@tomcat2 ~]#


在jmxremote.password 添加需要验证的用户名密码,其实上面的这两个文件都是控制访问的

2、将 catalina-jmx-remote.jar 复制到 tomcat/lib 目录中

3、修改 catalina.sh 启动文件,在 JAVA_OPTS 中添加远程调用的参数,你也可以根据自己的需求来改,记得一定要最后的四个参数(第一个是指定Server host,可以指定为localhost,第二个是指定 Server port,这两个一定要注意!):

JAVA_OPTS=”-server -Xms200m -Xmx200m -XX:PermSize=32m -XX:MaxNewSize=64m -XX:MaxPermSize=64m -Duser.timezone=GMT+08 -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -DserverId=GGL-TOMCAT1-maiconsoleui-ci1 -Djava.rmi.server.hostname=192.168.0.205 -Dcom.sun.management.jmxremote.port=13111 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false”

4、启动tomcat

/usr/local/usr/local/tomcats/maiconsoleui-ci1/bin/catalina.sh start

5、通过win客户端 jdk 自带的工具进行远程调用,有两个工具可以选择,jconsole 和 jvisualvm,jdk 安装包自带,可以,在JAVA_HOME/bin 里面





还记得 catalina.sh 中设置的 hostname 和 port 吧,那两个就是我们现在要连接的目标 server

6、在 win 客户端通过 jconsole 调用tomcat 监控

打开jconsole,在终端界面输入 hostname:port 以及 jmxremote.passwod 中设置的账户密码



ssl 为 false,所以可以忽略掉这个提示信息!



下面是一些监控的结果,有类、内存、概述等信息



7、在 win 客户端通过 jvisualvm 调用 tomcat 监控

那 jvisualvm 和 jconsole 都是类似的,主要是看你习惯用哪个工具了~

但是这边的图会比较人性化一点,而且界面也比较友好,并且客户端也比较分明

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: