Monitorización de Tomcat con JMX
A partir de la versión 5.5, Tomcat cuenta con una
implementación propia de JMX para exponer su monitorización
y configuración. Si bien todavía no es una
implementación completa ni comparable a la que tienen los
productos comerciales de alta gama, seguramente en breve contará
con ella.
La información que ya expone es suficiente como para
justificar que comencemos a hacer nuestras primeras pruebas, y en
este tutorial nos proponemos simplificar la instalación de un
cliente Open Source llamado MC4J (Management Console for Java).
Preparación de tomcat
En primer lugar, establecemos el valor
de la variable JAVA_OPTS accediento al Panel de Contol / Sistema /
Opciones Avanzadas:
Seleccionamos Variables de Entorno y
creamos (o modificamos) la variable JAVA_OPTS:
E incluimos como valor los siguientes
parámetros (separados por espacios en blanco):
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9696
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
ATENCIÓN: esto deshabilita la
seguridad y no debe usarse en producción. Si queremos añadir
seguridad, básicamente debemos poner el
-Dcom.sun.management.jmxremote.authenticate=true y crear un fichero
%JAVA_HOME%\jre\lib\management\jmxremote.access copiando el
jmxremote.access.template y cambiándole las password y los
permisos para que sólo sean accesibles al usuario que ejecute
Tomcat. Como estas tareas pueden complicarnos, es preferible comenzar
sin seguridad y probar de añadirla luego.
Una vez realizados estos cambios,
iniciar Tomcat.
Instalación de MC4J
El MC4J lo podemos descargar desde
https://sourceforge.net/projects/mc4j/.
La instalación es de tipo asistente y basta con darle a
Siguiente en todas las opciones.
Conectándonos al servidor
Una vez instalado el MC4J, iniciamos la
aplicación y nos encontramos con la pantalla principal:
Seleccionamos “Create Server
Connection”:
Y se abre una ventana donde completamos
los datos de la configuración del Tomcat:
Debemos indicar en “Server URL”
el mismo número de puerto que pusimos en la variable JAVA_OPTS
(en este caso: 9696). Como no hemos activado la autenticación,
dejamos en blanco las Casillas de Principle (usuario) y Credentials
(password).
Si no nos encuentra el Tomcat, debemos
seleccionar el botón Add para añadirlo.
Lo localizamos (la carpeta aparecerá
en negrita) y seleccionamos “Select Server”.
Ahora aparecerá en la lista y
pasamos a la siguiente:
Donde nos muestra que ha localizado los
JAR que necesita y seleccionamos Finish.
Automáticamente se conecta
(sino, con el botón derecho seleccionamos Connect) y ya
podemos comenzar a navegar entre los datos de monitorización y
cambiar parámetros.
En esta captura se muestra la
información de monitorización de la utilización
de servlets y JSP (los servlets cuyo nombre termina con “_jsp”):
Pero hay ejemplos más
atractivos, a los que esperemos que Tomcat llegue algún día,
como es el caso de la monitorización del uso del Pool de la
máquina virtual de Java:
Que se muestra en varias formas:
Hemos visto entonces como Tomcat expone
su monitorización y pronto expondrá también su
configuración.
En Autentia ya hemos hecho proyectos
donde implementamos MBeans para exponer mediante JMX la configuración
y monitorización de aplicaciones. De esta forma, podemos
desarrollar cuadros de mando para que los directivos conozcan la
evolución del negocio en tiempo real; o posibilitar que los
Administradores vean y cambien en tiempo real la configuración
del aplicativo, identifiquen incidencias, optimicen el renidimiento y
un largo etcétera de posibilidades.
Autentia: soporte al desarrollo. ¿te
podemos Ayudar? Ya sabéis donde buscarnos: www.autentia.com