remote monitorear habilitar example activar java tomcat jmx jconsole

java - monitorear - No se puede usar JConsole con Tomcat ejecutándose como servicio de Windows



jmx tomcat 8 (6)

Agregue lo siguiente cerca de la parte superior de su catalina.bat

set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote ^ -Dcom.sun.management.jmxremote.port=8086 ^ -Dcom.sun.management.jmxremote.ssl=false ^ -Dcom.sun.management.jmxremote.authenticate=false

Detener y reiniciar Tomcat (obviamente)

Ejecute jconsole.exe. Si su tomcat se está ejecutando como servicio, ejecute jconsole.exe como administrador.

Seleccione Remote Process e ingrese localhost: 8086

Estoy ejecutando tomcat 6.0.18 como un servicio de Windows. En el applet de servicio, el jvm está configurado por defecto, es decir, está utilizando jvm.dll del JRE.

Estoy intentando monitorear esta aplicación con JConsole pero no puedo conectarme a ella localmente. Agregué el parámetro -Dcom.sun.management.jmxremote (que funciona al iniciar tomcat con el script start.bat). Pero el jvm no parece recoger el parámetro.


Esta es la forma prescrita para cambiar jvmoptions e interactuar con el servicio:

http://tomcat.apache.org/tomcat-5.5-doc/windows-service-howto.html

Intentaré acceder a su registro en HKLM / Software / Apache Software Foundation / Procrun 2.0 // Parameters / Java y editando directamente el valor de varias cadenas de "Opciones".


Hay una buena GUI para editar las opciones, sin necesidad de perder el tiempo en el registro.

Abra C: / Archivos de programa / Apache Software Foundation / Tomcat 6.0 / bin / tomcat6.exe (o simplemente haga doble clic en el icono del monitor en la barra de tareas). Vaya al panel de Java, agregue lo siguiente a la lista de argumentos y reinicie Tomcat.

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

Luego puede conectarse con JConsole o el VisualVM más nuevo.



Si Tomcat se ejecuta como un servicio de Windows y desea conectarse a la JVM localmente, debe ejecutar VisualVM o JConsole como cuenta del sistema. Puede usar Sysinternals PsExec.exe para lograr esto.

psexec.exe -i -s c:/visualvm/bin/visualvm.exe


Todavía hay una manera bastante simple de conectar JConsole al proceso de Java iniciado como Servicio de Windows usando el modo local que descubrí here .

Básicamente, dice que para conectarse al proceso de Java iniciado como un Servicio de Windows, debe iniciar JConsole como un Servicio de Windows (puede hacerlo utilizando la API nativa de Windows o usando cualquier contenedor como yajsw ).

Por cierto, esto te liberará de reiniciar el Proceso de Java, que fue fundamental para mí.