繁体   English   中英

使用JVisualVM在Docker上监视Glassfish 4

[英]Monitoring Glassfish 4 on Docker with JVisualVM

我无法将JVisualVM连接到在Docker上运行的Glassfish。 我正在使用glassfish每晚图像,并且正在暴露端口8686。在启动时,Glassfish记录以下内容:

JMXStartupService has started JMXConnector on JMXService URL service:jmx:rmi://55bbdd404578:8686/jndi/rmi://55bbdd404578:8686/jmxrmi

我的Docker主机的IP为192.168.99.100,我可以通过telnet在端口8686上进行连接。

我正在使用的服务URL是service:jmx:rmi://192.168.99.100:8686/jndi/rmi://192.168.99.100:8686/jmxrmi ,我正在传递安全证书但无法连接。 我想念什么吗?

遇到同样的问题。

将以下内容添加到server-config –> jvm-settings –> JVM选项

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port='your JMX port'
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname='IP of you docker host'

并以与以前相同的方式进行其余操作。

当您查看server.log时,您会注意到JMX服务公开为:

JMXStartupService has started JMXConnector on JMXService URL service:jmx:rmi://e15295161718:40086/jndi/rmi://e15295161718:40086/jmxrmi

并且可能这些配置条目将e15295161718更改为IP,并且JVisualVM可以连接。 从Ur主机的角度来看, e15295161718对于JVisualVM 来说是垃圾。

Docker文件未公开端口8686,因此您需要将--publish 8686:8686与docker run命令配合使用,以使该端口公开给主机。 有关泥沼详细信息,请参阅docker help run。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM