通过JMX将JConsole连接到远程glassfish 4.1 / 4.1.1

时间:2016-02-09 10:37:55

标签: glassfish glassfish-4 glassfish-4.1

在具有公共IP地址和jmx端口8986

的主机上运行的GlassFish

启动时

JMXStartupService has started JMXConnector on JMXService URL service:jmx:rmi://test.anahata.net.au:8986/jndi/rmi://test.anahata.net.au:8986/jmxrmi]]

当我尝试使用test.anahata.net.au:8986 +用户+密码从另一个盒子通过JConsole连接时,我得到:

non-JRMP server at remote endpoint 

如果我尝试使用服务连接:jmx:rmi://test.anahata.net.au:8986 / jndi / rmi://test.anahata.net.au:8986 / jmxrmi

我明白了:

connection refused

domain.xml

> <admin-service system-jmx-connector-name="system"
> type="das-and-server">
>         <jmx-connector address="0.0.0.0" port="8986" name="system" auth-realm-name="admin-realm">
>           <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl"
> client-auth="want" cert-nickname="s1as"></ssl>
>         </jmx-connector>
>         <property name="adminConsoleContextRoot" value="/admin"></property>
>         <property name="adminConsoleDownloadLocation" value="${com.sun.aas.installRoot}/lib/install/applications/admingui.war"></property>
>         <property name="ipsRoot" value="${com.sun.aas.installRoot}/.."></property>
>         <das-config></das-config>
>       </admin-service>
> 
> ...
> <jvm-options>-Djava.rmi.server.hostname=test.anahata.net.au</jvm-options>

我在运行gf 4.1.1和真正的SSL证书的不同vm上进行了轻松设置,我可以使用host:port连接到它但是如果我尝试连接使用     服务:JMX:RMI://host.com:8886 / JNDI / RMI://host.com:8886 / jmxrmi

我得到了

java.rmi.ConnectIOException: non-JRMP server at remote endpoint

有没有人对此有所了解?

2 个答案:

答案 0 :(得分:4)

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.port=8686
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=myremoteip

由于glassfish 4这是唯一的方法。

虽然我在运行asadmin enable-secure-admin之前设法连接到glassfish自己的jmx。

打开日志记录到FINE,看看你是否在JMX auth期间得到了#34; LoginException&#34;

javax.enterprise.system.tools.admin.security

无论如何,我的结论很令人头痛,只需使用上面的jvm jmx。

答案 1 :(得分:0)

出现此错误时:

java.rmi.ConnectIOException: non-JRMP server at remote endpoint

您丢失了glassfish / payara域中的keystore.jks文件。