【发布时间】:2016-08-25 02:53:33
【问题描述】:
我正在尝试将在我的本地计算机上运行的 JVisualVM 连接到运行 WildFly 服务器(具体来说是版本 8.1.0)的远程计算机。
我自己没有配置 WildFly 服务器,我不知道是谁做的,但我知道我可以通过将浏览器指向以下位置从本地计算机以管理用户身份登录:
https://[ip address of the remote machine]:9443/console
请注意,它是https,而不是普通的http,并且它的端口已设置为9443(我认为默认是8080或9990之类的...... .IDK,我在网上看到很多端口号。有人明确告诉我,这个WildFly服务器禁用了http)。
我可以通过 SSH 连接到远程机器。我可以导航到 WildFly 的 bin 目录并运行 jboss-client.sh。我必须在端口 9999 上连接(我认为默认是 9990?)
我将jboss-client.jar(在bin/client 下)复制到我的本地计算机并从命令行运行JVisualVM,如下所示:
.\jvisualvm.exe -cp:a C:\[path to]\jboss-client.jar
它启动正常。 File > Add Remote Host:然后我输入了IP。 OK。我在树中的 Remote 下右键单击它并选择了Add JMX Connection。我进入了
service:jmx:http-remoting-jmx://[ip]:9999
我勾选了我想使用安全凭证并输入了用户名和密码。选中以保存安全凭据。未选中“不需要 SSL 连接”。点击OK。它立即吐出消息
无法使用
service:jmx:http-remoting-jmx://[ip]:9999连接到admin@service:jmx:http-remoting-jmx://[ip]:9999
我还尝试了端口 9443、9990 和 8080。这些都没有奏效。我在协议名称中尝试了 https 而不是 http。那也没用。
我错过了什么?我怎么可以访问控制台,并与 jboss-client.sh 连接,但我不能使用 JVisualVM?是否有一些我可以在某处使用的日志来查看问题所在?也许有人可以指出我在某处遗漏的配置?
不确定它是否重要,但我的本地计算机正在运行安装了 JDK8 的 Windows 10。 WildFly 服务器在 CentOS 6.3 上使用 Java 6。
【问题讨论】:
-
您运行的是 WildFly 还是 JBoss EAP 6? WildFly 8+ 是 Java EE 7 容器,需要 Java 7+。
-
@JamesR.Perkins - 服务器肯定在运行 WildFly 8.1.0。我会检查 Java 版本,但我很确定它是 6...
-
@JamesR.Perkins - 好的。事实证明,Java 6 和 Java 8 都安装在服务器上。 WildFly 8.1.0 正在使用 Java 8 安装...我不确定为什么服务器还单独安装了 Java 6。无论如何,希望澄清对您有所帮助。 :)
-
管理端口是否在侦听可访问的 IP?例如,您可以使用 CLI 连接吗? FWIW 端口 9990 是 WildFly 的默认管理端口。
-
@JamesR.Perkins - 是的,我可以将 CLI 从我的本地 Windows 机器连接到远程服务器的端口 9999。此外,我可以在远程服务器上运行 JVisualVM 并让它连接到它自己的 Wildfly 实例。这对我来说可能已经足够好了......让它远程运行会更好,但如果这是我能做的最好的......也许我可以忍受吗?
标签: java wildfly visualvm jvisualvm