6月 282016
已启用iptables防火墙服务的主机,开放1099端口,启动服务,发现visualvm无法获取数据,jstatd日志无输出
[root@linuxcache bin]# ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.logCalls=true -p 1099 Jun 28, 2016 3:06:04 PM sun.rmi.server.UnicastServerRef logCall FINER: RMI TCP Connection(1)-120.111.100.123: [120.111.100.123: sun.rmi.registry.RegistryImpl[0:0:0, 0]: void rebind(java.lang.String, java.rmi.Remote)] Jun 28, 2016 3:06:04 PM sun.rmi.server.UnicastServerRef logCall FINER: RMI TCP Connection(2)-120.111.100.123: [120.111.100.123: sun.rmi.transport.DGCImpl[0:0:0, 2]: java.rmi.dgc.Lease dirty(java.rmi.server.ObjID[], long, java.rmi.dgc.Lease)] Jun 28, 2016 3:06:13 PM sun.rmi.server.UnicastServerRef logCall FINER: RMI TCP Connection(3)-58.60.169.210: [58.60.169.210: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)]
通过查看jstatd进程端口监听,发现进程额外启用了一个随机端口。
[root@linuxcache ~]# netstat -lutnp |grep jstatd tcp 0 0 0.0.0.0:1099 0.0.0.0:* LISTEN 23209/./jstatd tcp 0 0 0.0.0.0:55941 0.0.0.0:* LISTEN 23209/./jstatd [root@linuxcache ~]#
在防火墙中放开随机监听端口后,jstatd日志正常输出,visualvm连接成功并显示数据。
[root@linuxcache ~]# iptables -I INPUT -p tcp --dport 55941 -j ACCEPT [root@linuxcache ~]#