Monitorizar Apache Tomcat con jconsole

Para poder monitorizar Apache Tomcat con jconsole (incluído en JDK) hay que realizar las siguientes modificaciones en los archivos de configuración de la instalación de Apache Tomcat:

En primer lugar, debemos configurar las siguientes variables de entorno en el archivo $CATALINA_HOME/lib/setenv.sh:

CATALINA_OPTS="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=[TCP_PORT] -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=[HOST_IP_ADDRESS]"

Lo aconsejable es configurar el acceso utilizando SSL y usuario de acceso, pero aquí vamos a indicar la configuración más básica. Para más información recomiendo acceder a la documentación oficial de Apache Tomcat, en la sección Monitoring and Managing Tomcat.

Si estamos tras un firewall, debemos habilitar el acceso al puerto elegido en la opción de configuración -Dcom.sun.management.jmxremote.port.

Además de este puerto, JMX establece también otros puertos de manera dinámica, que por defecto no pueden ser establecidos. pra poder definir de menará estática dichos puertos, debemos incluir el archivo $CATALINA_HOME/lib/catalina-jmx-remote.jar.

Las instrucciones de como configurar estos puertos las podéis encontrar en la documentación oficial de Apache Tomcat, en la sección The LifeCycle Listener Component – JMX Remote Lifecycle Listener.