小编JLM*_*JLM的帖子

VisualVM通过防火墙 - RMI故障排除

很抱歉这个问题必须经过多次询问,但我无法成功解决问题.我已经阅读了很多博客,网站,论坛......并且在我的案例中找不到任何解决方案.

案例: 我需要将我的盒子上的VisualVM连接到远程服务器(tomcats,weblogics)以进行性能/线程/内存监控.这些服务器安装在受防火墙保护的(物理或虚拟)计算机上.防火墙中可以使用大间隔的端口,但可以使用,但不是所有端口.

测试

  • 我尝试在VisualVM中通过JMX直接连接,在服务器启动时使用服务器端的以下JVM选项:
    -Djava.rmi.server.hostname=[hostname]
    -Dcom.sun.management.jmxremote
    -Dcom.sun.management.jmxremote.port=[port]
    -Dcom.sun.management.jmxremote.ssl=false
    -Dcom.sun.management.jmxremote.authenticate=false
    

我已经预先设置了主机名,因为从我的网络中,主机名和服务器的IP地址与远程服务器网络中的主机名和IP地址不同.

没有成功,VisualVM似乎总是在寻找未知的服务器.

  • 尝试在服务器端从可访问的端口(-p选项)启动jstatd从我的盒子(此端口上的telnet工作),但是当使用jstatd端口在此主机上启动visualVM时,它似乎仍在等待无法访问的东西...... .Jps连接到此远程主机的行为相同.

  • 尝试在网络保护较少的服务器上使用相同的工具,并且它可以工作.所以我看到了我的盒子和服务器之间的连接,它们是在不同于我指定的jstatd的端口上完成的.据我所知,第一次通信需要这个端口(握手类型),真正的通信是在其他端口上完成的,但不可预测(例如:60305,55197,...).我不确定我很清楚RMI是如何工作的.

拜托,帮助我,我疯了!

java jmx rmi visualvm

6
推荐指数
1
解决办法
7292
查看次数

标签 统计

java ×1

jmx ×1

rmi ×1

visualvm ×1