Tweeteame!| Programación - Java | |||
| Escrito por Adrián Toledo | |||
| Viernes, 06 de Febrero de 2009 01:46 | |||
|
En este tutorial vamos a hacer una breve introducción a JMX y de cómo podemos acceder a las características de JBoss gracias a los MBeans que implementan esta API. Asimismo presentamos tres herramientas de monitorización del servidor. Para conocer JMX a fondo y aprender a programar MBeans, te recomiendo este estupendo tutorial de Paco: MBeans y JBoss Contenidos:
Introducción a JMXLa Java Management eXtensions (JMX) API es un estándar de Sun para la gestión y monitorización remota de recursos java como:
que nos permite entre otras cosas consultar o cambiar una determinada configuración, conocer estadísticas y comportamiento de una aplicación, conocer cambios de estado (y notificarlo, iniciar acciones, etc), crear nuestros manejadores de recursos y publicarlos en una API, interoperar con otras tecnologías... JMX se integró pronto en la J2EE y más tarde en la JSE, concretamente desde la JDK 5. Su jerarquía de subpaquetes se encuentran bajo javax.management, y esta es su API pública. Asimismo existe una API privada bajo com.sun.jmx, a la que sólo debería tener acceso las propias librerías de la JDK, puesto que esta implementación puede evolucionar y ser cambiada en futuras versiones. A partir de la JDK 5.0 se incluye Jconsole para monitorizar la JVM y aplicaciones que implementen JMX. Es un ejecutable con interfaz gráfica que se encuentra en la carpeta bin de la instalación de la distribucion de Sun JDK. Arquitectura de JMXArquitectura basada en 3 capas:
Monitorización de JBossJBoss implementa JMX en su microkernel. El propio servidor dispone de un una consola JMX accesible por la URL http://localhost:8080/jmx-console que muestra los MBeans públicos accesibles por ella o programáticamente por código Java.:
Algunas acciones útiles:
El Jboss Web Console (http://localhost:8080/web-console/) muestra también la consola JMX en jerarquía de árbol:
Monitorización con JConsoleJconsole (www.servletsuite.com) usa el JMX de JBoss para monitorizar el servidor: estado, logs, despliegues, uploads y visor de los MBeans:
Para poder trabajar con JConsole debemos seguir los siguientes pasos:
Cuando accedamos a la pestaña 'JMX' se nos presentará una casilla para introducir un patrón que determinará los MBeans que visualizaremos en la lista inferior. Los patrones son los habituales:
Simplemente hay que hacer click sobre un MBean obtenido en la lista para acceder a sus detalles:
Monitorización con MC4j Management Console for JavaEl MC4j Management Console for Java (open source) es una aplicación standalone basada en java diseñada para monitorizar múltiples servidores y visualizar sus los MBeans, en su caso.
Para instalar la última versión (en el momento de escribir este tutorial, 2.0 alpha 1) sobre JBoss 4.2, tenemos que hacer un cambio en la librería log4j debido a una incompatibilidad de versiones.
Finalmente cargamos la aplicación con el ejecutable situado en mc4j/bin como hemos dicho antes MC4J soporta varios servidores, y tenemos que configurar una conexión de monitorización a cada uno de ellos que nos interese. En este caso para nuestro JBoss (en ejecución), pulsamos primero sobre el botón de añadir conexión al servidor:
En ela siguiente pantalla del asistente seleccionamos el tipo de servidor y damos un nombre a la nueva configuración que estamos creando. Con una instalación estándar de JBoss no es necesario cambiar ninguno de los demás parámetros aparecen en las siguientes casillas de JNDI, contexto, etc.:
En el paso 2 del asistente seleccionamos la carpeta raiz del JBoss que queramos monitorizar:
El último paso sirve para crear el listado de dependencias de Servidor. Si hemos seleccionado correctamente la instalación del servidor en el paso 2, MC4J las encontrará por nosotros y no tendremos que hacer nada:
Hemos llegado al final. La configuración aparecerá en el árbol izquierdo de la interfaz, y si le damos al botón verde estableceremos la conexión, como se aprecia en la imagen siguiente:
Monitorización con ManageEngine Applications Manager 8ManageEngine Applications Manager es un potente monitor comercial con una versión libre (limitación: máximo 5 monitores) aplicable a servidores, BBDD, aplicaciones, websites, ERP, transacciones y mucho más. Ha sido diseñada con una interfaz muy completa y ofrece múltiples estadísticas, que pueden asociarse acciones al seguimiento de recursos, como alarmas y notificaciones por correo electrónico. Permite la monitorización de recursos remotos (los anteriores monitores se limitaban al servidor local) y la monitorización de MBeans de JMX, por supuesto :-) ¡Comencemos con esta interesante herramienta!
ManageEngine se habrá levantado en nuestro sistema como un servidor de monitorización, por lo tanto su consola de configuración será accesible vía web. Por eso navegamos a la URL http://localhost:9090/ y en la pantalla de navegación nos autenticamos con login admin y password admin. Vamos a configurar ahora un monitor para nuestro JBoss. Primero pulsamos en la pestaña Monitors | New Monitor y en la columna Application Servers pulsamos sobre JBoss:
Seleccionamos como tipo de monitor JBoss Server e introducimos los datos como se observa en la imagen. (NOTA: escogiendo la versión 4.X la aplicación nos obliga a copiar Jboss-4.2.2.GA/client/jbossall-client.jar en AdventNet/ME/AppManager8/working/classes/jboss/40/, si este directorio no existe hay que crearlo):
Una vez conectado en nuevo monitor a JBoss, se muestra un resumen de monitores (pulsa sobre la imagen para verla en su tamaño original): Si pulsamos sobre el monitor de JBoss veremos el siguiente panel de resumen. En él pueden asociarse alarmas a los recursos mostrados, añadir atributos y MBeans a mostrar... se trata de un panel muy configurable. ConclusionesComo cierre a este tutorial podemos quedarnos con estos puntos fundamentales:
Si te ha gustado este artículo y si crees que lo que está escrito vale la pena compartirlo, entonces compártelo con la comunidad que prefieras mediante los links que están debajo.
Gracias por visitarnos.
|