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

tomcat 监控 — JMX方式(2)

2018-07-11 16:49 204 查看
上篇文章(tomcat 监控 — JMX方式(1))最后说到:打开防火墙以后,tomcat就不能被远程监控了,哪怕是放开了指定的端口。这篇文章主要就来解决这个问题。

tomcat官方 也说到这个问题 http://tomcat.apache.org/tomcat-7.0-doc/config/listeners.html#JMX_Remote_Lifecycle_Listener_-_org.apache.catalina.mbeans.JmxRemoteLifecycleListener,有兴趣可以看一下。
其实tomcat的jmx远程监控需要两个端口,一个是注册端口,一个服务端口。之前配置指定了9999 端口是注册端口,在tomcat启动的时候会随机指定一个服务端口,由于我们开放防火墙端口的时候,只开放了9999 端口,所以是连接不上的,而且服务端口是随机生成的,我们也无法提前开放服务器端口。


根据上面的解释,那么我们要想在打开防火墙的状态下,顺利连接上tomcat的监控,有两种方法:

设置防火墙,向一个网段或者某个ip开放所有端口;

指定tomcat jmx的 注册端口和服务端口,然后设置防火墙放开这两个端口。

第一种方法,不是重点,有兴趣可以上Google百度一下。

重点来讲一下第二种方法,下面说的方法依赖上篇文章,我强烈推荐先看一下之前的文章。

上tomcat的官网,下载catalina-jmx-remote.jar 放到tomcat的lib目录下。



在tomcat的conf目录下的server.xml文件中加上

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




去掉 setenv.sh(linux) 或 setenv.bat(window) 或 tomcat7w.exe 中的

-Dcom.sun.management.jmxremote.port=9999


在防火墙中开发上面指定的端口(10001和10002)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Tomcat