仍然无法通过VisualVM远程连接Tomcat 6

er4*_*z0r 9 java monitoring tomcat visualvm tomcat6

如果检查了关于这个问题的其他问题,但到目前为止没有任何灵魂.这是我的设置: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"
Run Code Online (Sandbox Code Playgroud)

netstat -ntlp给了我:

tcp6       0      0 :::8080                 :::*                    LISTEN      6550/java
tcp6       0      0 :::8086                 :::*                    LISTEN      6550/java
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

防火墙:

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 
Run Code Online (Sandbox Code Playgroud)

当我尝试使用jvisualm从OSX连接时: - 添加一个主机名为my vm的新主机(将其添加到/ etc/hosts) - 添加一个新的JMX-Connection

VisualVM失败了:

Cannot connect using service:jmx:rmi///jndi/rmi://<vmhostname>:8086/jmxrmi
Run Code Online (Sandbox Code Playgroud)

当我使用ssh -X并在运行tomcat的同一台机器上启动jvisualvm 连接到我的VM 时,我最初没有看到TC,但我可以像上面那样添加jmx连接.

这可能是一个问题,外国主机被大量阻止访问rmiregistry?为什么有人会这么蠢呢?

我究竟做错了什么?

(对不起4冗长的帖子)

小智 5

这是一个关于如何将Visual VM连接到Tomcat 7的教程.这有点在冗长的一面,但应该帮助引导你解决大多数人遇到的一些问题.


Tom*_*rka 0

确保您可以

a) ping <vmhostname>
b) telnet <vmhostname> 8086
Run Code Online (Sandbox Code Playgroud)

另请注意,您可以使用 IP 地址代替<vmhostname>