How to activate JMX on a remote Glassfish server for access using jconsole?

I would like to monitor the remote server. I have included JMX Connection in domain.xml:

<jmx-connector accept-all="true" address="0.0.0.0" auth-realm-name="admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" security-enabled="false">

But it did not help. I still cannot connect to the server using JConsole. Then I found a solution - I need to specify JVM properties in domain.xml in order to open port 8686 for remote connection. Therefore, I added these lines to the java-config section :

<jvm-options>-Dcom.sun.management.jmxremote</jvm-options>
<jvm-options>-Dcom.sun.management.jmxremote.port=8686</jvm-options>
<jvm-options>-Dcom.sun.management.jmxremote.local.only=false</jvm-options>
<jvm-options>-Dcom.sun.management.jmxremote.authenticate=false</jvm-options>

But now, when I start the server, I get the following errors:

Failed to load Logmanager "Com.sun.enterprise.server.logging.ServerLogManager" java.lang.ClassNotFoundException: com.sun.enterprise.server.logging.ServerLogManager on java.net.URLClassLoader $ 1.run (URLClassLoader.java:200) at java.security.AccessController.doPrivileged (native Method) in java.net.URLClassLoader.findClass (URLClassLoader.java:188) in java.lang.ClassLoader.loadClass (ClassLoader.java.307) at sun.misc.Launcher $ AppClassLoader .loadClass (Launcher.javahaps01) in java.lang.ClassLoader.loadClass (ClassLoader.java:252) in java.util.logging.LogManager $ 1.run (LogManager.java:166) at java.security.AccessController.doPrivileged (native Method) in java.util.logging.LogManager. (LogManager.java:156) in java.util.logging.Logger.getLogger (Logger.java:273) at sun.management.snmp.util.MibLogger. (MibLogger.java:57) at sun.management.snmp.util.MibLogger. (MibLogger.java:42) at sun.management.jmxremote.ConnectorBootstrap. (ConnectorBootstrap.java:760) at sun.management.Agent.startAgent (Agent.java:127) at sun.management.Agent.startAgent (Agent.java:239) javax.management.JMRuntimeException: Failed to load MBeanServerBuilder class com. sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder (javaxermanerbercker in javax.management.MBeanServerFactory.getNewMBeanServerBuilder (MBeanServerFactory.java∗11) in javax.management.MBeanServerFactory.newMBeanServer (MBeanServerFactory.java:298) in javax.management.MBeanServerFactory.createMBeanServer (MBeanServerFactory.java:213) in javax.management.MBeanServerFactory.createMBeanServer (MBeanServerFactory.java:174) at sun.management.ManagementFactory.createPlatformMBeanServer (ManagementFactory.java : 302) in java.lang.management.ManagementFactory.getPlatformMBeanServer (ManagementFactory.java:504) at sun.management.jmxremote.ConnectorBootstrap.initialize (ConnectorBootstrap.javahaps92) at sun.management.Agent.startAgent (Agent.jart 127) at sun.management.Agent.startAgent (Agent.java:239) Called: java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder on java.net.URLClassLoader $ 1.run ( URLClassLoader.java:200) at java.security.AccessController.doPrivileged (native Method) in java.net.URLClassLoader.findClass (URLClassLoader.java:188) in java.lang.ClassLoader.loadClass (ClassLoader.java.307) at sun.misc.Launcher $ AppClassLoader.loadClass (Launcher. java: 301) in java.lang.ClassLoader.loadClass (ClassLoader.java:252) in javax.management.MBeanServerFactory.loadBuilderClass (MBeanServerFactory.java:423) in javax.management.MBeanServerFactory.cheerBeanServerBeanBeranBeranBeranBeranBeranBeranBeranBeranBeranBeranBeranBeranBeranBeanBeranBeranBeranBeanBeranBeanBeranBeanBeran .. 9 more Agent exception: javax.management.JMRuntimeException: Failed to load MBeanServerBuilder class com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException: com.sunminpr. server.core.jmx.AppServerMBeanServerBuildernet.URLClassLoader.findClass (URLClassLoader.java:188) in java.lang.ClassLoader.loadClass (ClassLoader.java.307) at sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.javahaps01) in java.lang.ClassLoader .loadClass (ClassLoader.java:252) in javax.management.MBeanServerFactory.loadBuilderClass (MBeanServerFactory.java:423) in javax.management.MBeanServerFactory.checkMBeanServerBerrevserver_more_server65 greater than jervaxerver .management.JMRuntimeException: Failed to load the MBeanServerBuilder class com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmer.ermerppervernet.URLClassLoader.findClass (URLClassLoader.java:188) in java.lang.ClassLoader.loadClass (ClassLoader.java.307) at sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.javahaps01) in java.lang.ClassLoader .loadClass (ClassLoader.java:252) in javax.management.MBeanServerFactory.loadBuilderClass (MBeanServerFactory.java:423) in javax.management.MBeanServerFactory.checkMBeanServerBerrevserver_more_server65 greater than jervaxerver .management.JMRuntimeException: Failed to load the MBeanServerBuilder class com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmer.ermerpperverloadClass (ClassLoader.java.307) at sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.javahaps01) in java.lang.ClassLoader.loadClass (ClassLoader.java:252) in javax.management.MBeanServerFactory.loadBuilderClass .java: 423) in javax.management.MBeanServerFactory.checkMBeanServerBuilder (MBeanServerFactory.java:465) ... 9 more Exception thrown by the agent: javax.management.JMRuntimeException: Failed to load MBeanServerBuilenterver.server. commerad.server.meadad com.server.benilder com.server. .core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilderloadClass (ClassLoader.java.307) at sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.javahaps01) in java.lang.ClassLoader.loadClass (ClassLoader.java:252) in javax.management.MBeanServerFactory.loadBuilderClass .java: 423) in javax.management.MBeanServerFactory.checkMBeanServerBuilder (MBeanServerFactory.java:465) ... 9 more Exception thrown by the agent: javax.management.JMRuntimeException: Failed to load MBeanServerBuilenterver.server. commerad.server.meadad com.server.benilder com.server. .core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilderMBeanServerFactory.loadBuilderClass (MBeanServerFactory.javarige23) in javax.management.MBeanServerFactory.checkMBeanServerBuilder (MBeanServerFactory.javarige65) ... 9 more Exception thrown by agent: javerbermer.jeunerumer.jeunerumer.uemuermemermanager.uemuermer enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilderMBeanServerFactory.loadBuilderClass (MBeanServerFactory.javarige23) in javax.management.MBeanServerFactory.checkMBeanServerBuilder (MBeanServerFactory.javarige65) ... 9 more Exception thrown by agent: javerbermer.jeunerumer.jeunerumer.uemuermemermanager.uemuermer enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuildercom.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuildercom.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder

?

.

+3
5

: 1. 2. add -Djava.rmi.server.hostname = JVM GlassFish.

+3

, , JMX Glassfish :

<jvm-options>-Dcom.sun.aas.jconsole.server.cbport=XXXX</jvm-options>

XXXX - , , JMX ( 8686).

blogpost. , Glassfish. Glassfish 2.1.1.

+2

, 4 JVM, Glassfish ( domain.xml , )

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

! , jconsole!

IMO Glassfish, JMX.

( GF 3.1)

+2

Glassfish, asadmin, , .

./asadmin enable-secure-admin

Glassfish , . Glassfish JMX.

You need to perform actions on the JVM parameters, these are instructions for Java applications in general. For a Java application that works with the Glassfish application server, just use the asadm command. It saved me a lot of time!

** Another note: only with settings using JVM options, Glassfish would not be able to start with the above exceptions at runtime. ** I am using GF3.1.2 and above and Java 7.

0
source

Source: https://habr.com/ru/post/1714385/


All Articles