【发布时间】:2010-02-19 10:00:04
【问题描述】:
如果检查了有关此问题的其他问题,但到目前为止还没有灵魂。 这是我的设置: TC6 在我的 macbook 上的 debian vm 上运行。在 /etc/default/tomcat6.0 我设置了以下选项:
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
netstat -ntlp 给我:
tcp6 0 0 :::8080 :::* LISTEN 6550/java
tcp6 0 0 :::8086 :::* LISTEN 6550/java
其中 6550:
root 6550 3.3 6.8 224888 52984 pts/0 Sl 10:31 0:43 /usr/lib/jvm/java-6-sun/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat6.0/conf/logging.properties -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.endorsed.dirs=/usr/share/tomcat6.0/common/endorsed -classpath :/usr/lib/jvm/java-6-sun/jre//lib/jcert.jar:/usr/lib/jvm/java-6-sun/jre//lib/jnet.jar:/usr/lib/jvm/java-6-sun/jre//lib/jsse.jar:/usr/share/tomcat6.0/bin/bootstrap.jar:/usr/share/tomcat6.0/bin/commons-logging-api.jar -Dcatalina.base=/var/lib/tomcat6.0 -Dcatalina.home=/usr/share/tomcat6.0 -Djava.io.tmpdir=/var/lib/tomcat6.0/temp org.apache.catalina.startup.Bootstrap start
防火墙:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all anywhere anywhere
当我尝试使用 jvisualm 从 OSX 连接时: - 使用我的 vm 的主机名添加一个新主机(将其添加到 /etc/hosts) - 添加新的 JMX 连接
VisualVM 失败:
Cannot connect using service:jmx:rmi///jndi/rmi://<vmhostname>:8086/jmxrmi
当我使用ssh -X 连接到我的 VM 并在运行 tomcat 的同一台机器上启动 jvisualvm 时,我最初看不到 TC,但我可以像上面一样添加 jmx 连接。
这可能是外国主机被诡异地阻止访问 rmiregistry 的问题吗? 为什么会有人做这种蠢事?
我做错了什么?
(抱歉 4 帖子太长了)
【问题讨论】:
-
RMI 也会打开其他动态端口(默认 JMX 连接使用 RMI)。这使得隧道和正确配置防火墙变得很痛苦。基本上,它从未被设计为在一个广泛开放的网络之外的任何地方运行。由于我无法提供任何具体细节,所以我只写了这篇评论。
-
谢谢约阿希姆。实际上,防火墙的东西让我感到困惑。由于它在我的本地计算机上的 VM 上运行,因此我完全禁用了防火墙,请参见上文(全部接受)。您声明,使用 rmi 是默认设置。您还有其他想法如何使用 visualvm 监控远程 tomcat 吗?
-
谢谢@JoachimSauer 解决了我的问题
标签: java tomcat monitoring tomcat6 visualvm