首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JVisualVM监控Docker上的Glassfish 4

使用JVisualVM监控Docker上的Glassfish 4
EN

Stack Overflow用户
提问于 2015-09-01 03:13:56
回答 2查看 510关注 0票数 0

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

代码语言:javascript
复制
JMXStartupService has started JMXConnector on JMXService URL service:jmx:rmi://55bbdd404578:8686/jndi/rmi://55bbdd404578:8686/jmxrmi

我的扩展底座主机的IP是192.168.99.100,我可以在端口8686上通过telnet连接。

我正在使用的服务URL是service:jmx:rmi://192.168.99.100:8686/jndi/rmi://192.168.99.100:8686/jmxrmi,并且我正在传递安全凭据,但无法连接。我是不是遗漏了什么?

EN

回答 2

Stack Overflow用户

发布于 2016-05-18 22:11:27

也曾遇到过同样的问题。

将以下内容添加到服务器配置-> jvm-settings -> JVM选项

代码语言:javascript
复制
-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服务公开为:

代码语言:javascript
复制
JMXStartupService has started JMXConnector on JMXService URL service:jmx:rmi://e15295161718:40086/jndi/rmi://e15295161718:40086/jmxrmi

并且有问题的是,这些配置条目将e15295161718更改为IP和JVisualVM可以连接。从你主人的角度来看,e15295161718对JVisualVM来说是垃圾。

票数 2
EN

Stack Overflow用户

发布于 2015-09-01 18:59:19

Docker文件未公开端口8686,因此您需要使用带有docker run命令的--publish 8686:8686来使该端口向主机公开。有关mire的详细信息,请参阅docker help run。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32318344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档