jmx远程连接阿里云服务器的问题
            
                        声明:本文转载自https://my.oschina.net/blinkPuck/blog/3046698,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。
                        
            
                        最近在学习jvm监控,想尝试连接阿里云的jvm时出现一个问题:无法使用 service:jmx:rmi...
因为是springboot项目,启动的时候使用java -Djava.rmi.server.hostname=xx.xx.xx.xx -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8061 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar xxx.jar
用jvisualvm连接8061端口的时候问题报这个问题:无法使用 service:jmx:rmi
从网上找到解决办法:关闭防火墙。但是阿里云的防火墙是默认关闭的啊……
原因是:除了JMX server指定的监听端口号外,JMXserver还会监听一到两个随机端口号,可以通过命grep 来查看当前java进程需要监听的随机端口号
于是用netstat -ntpl查看,发现与8061端口相同的PID下,有两个端口号是不认识的

于是把这两个端口在阿里云服务器的安全组里,配置成开放

再尝试连接,就成功连上了

值得注意的是:下次启动jar包的时候,又会是另外两个随机的端口号,需要在安全组里修改开放的端口号
参考资料:
https://www.cnblogs.com/gossip/p/6141941.html
                              
                              
                
                
                  
                    
                      
                      
                         
                        抱拳了,老铁!
                       
                     
                   
                 
             
            
                本文发表于2019年05月08日 11:00 
                                (c)注:本文转载自https://my.oschina.net/blinkPuck/blog/3046698,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除. 
                                阅读 3630 讨论 0 喜欢 2