700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 远程访问JMX遇到连接不上的问题(JConsole和VisualVM工具类似)

远程访问JMX遇到连接不上的问题(JConsole和VisualVM工具类似)

时间:2019-10-01 04:52:16

相关推荐

远程访问JMX遇到连接不上的问题(JConsole和VisualVM工具类似)

【问题】

telnet 10.88.112.165 1100是ok的,但是远程通过客户端连接jmx时,访问不到,只有关闭防火墙,才可以访问到,防火墙的配置规则,应该怎么配?

【分析】

问题状态:

1、通过netstat查看端口号,显示1100为LISTEN;监听是正常的;

2、iptables中已经将端口号1100置为开放的;

3、远程通过telnet <ip> <port>时,telnet是正常的;

4、(但是)通过jconsole <ip> <port>进行连接时,连接不上;

5、(如果)关闭firewall的话,第4步的方式是可以成功的;

【解答】

In addition to listening to the port you specified (1100) the JMX server also listens to a randomly chosen (ephemeral) port.

Check, e.g. with lsof -i|grep java if you are on linux/osx, which ports the java process listens to and make sure your firewall is open for the ephemeral port as well.

除了JMX server指定的监听端口号外,JMXserver还会监听一到两个随机端口号,

可以通过命令:lsof -i|grep java |grep <pid> 来查看当前java进程需要监听的随机端口号,

# netstat -tupln |grep 1101tcp 0 0 0.0.0.0:1101 0.0.0.0:* LISTEN 13997/java# lsof -i|grep 13997java 13997 root 9u IPv4 132890 0t0 TCP *:37040 (LISTEN)java 13997 root 70u IPv4 132891 0t0 TCP *:pt2-discover (LISTEN)java 13997 root 72u IPv4 132892 0t0 TCP *:40085 (LISTEN)java 13997 root 76u IPv4 146976 0t0 TCP hotnamea:61618->10.88.146.205:49165 (ESTABLISHED)java 13997 root 84u IPv4 132904 0t0 TCP *:61618 (LISTEN)java 13997 root 95u IPv4 132936 0t0 TCP *:8163 (LISTEN)

并且把这些端口号也放到iptable中,置为开放状态。

【小结】这也证明了尽管jmx server的主监听端口号【1100】已开放,但是远程连接时,还是访问不到,只有关闭firewall,才可以远程jmx连接上。

【建议】因为随机短口号是Java进程启动后,OS随机分配给jmxserver的,如果可以关闭firewall就选择关闭,否则,需要每次在server就绪后,监测到随机端口号,并把它们配置到iptables中,置为开放状态。

【注意】每个Jmxserver还需要两个随机端口号。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。