2. Jboss AS 5.1.0 Instalación
La API JMX
Monitorización de JBoss
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
3. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
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
veremos tres herramientas de monitorización del servidor.
Contenidos:
Contenidos:
•• La API JMX yyMonitorización de JBoss
La API JMX Monitorización de JBoss
••Introducción aaJMX
Introducción JMX
Arquitectura de JMX
Arquitectura de JMX
••Monitorización de JBoss
Monitorización de JBoss
Monitorización con JConsole
Monitorización con JConsole
Monitorización con MC4j Management Console for Java
Monitorización con MC4j Management Console for Java
Monitorización con ManageEngine Applications Manager 88
Monitorización con ManageEngine Applications Manager
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
4. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
Introducción a JMX
La Java Management eXtensions (JMX) API es un estándar de Sun para la gestión y monitorización
remota de recursos java como:
• Aplicaciones y dispositivos
• Servidores y servicios
• JVM
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.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
5. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
Introducción a JMX
Arquitectura basada en 3 capas:
• Capa de aplicación (o nivel de instrumentación), la capa de más bajo nivel donde residen los componentes
(MBean) que facilitan la información necesaria para la gestión de una aplicación. Estos componentes son
desarrollados según las necesidades de gestión específicas de cada parte de una aplicación.
• Nivel de agente: facilita una interfaz para el manejo de los MBean del nivel de instrumentación.
• Nivel de Adaptadores: uno o más conectores (o adaptadores de protocolo) que proporcionan acceso desde los
sistemas de monitorización remotos
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
6. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
Monitorización de JBoss
JBoss 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:
Algunas acciones útiles:
•• Mostrar el árbol JNDI
Mostrar el árbol JNDI
•• Forzar un volcado de memoria
Forzar un volcado de memoria
•• Mostrar el uso del pool de memoria
Mostrar el uso del pool de memoria
•• Gestionar el escáner de despliegues
Gestionar el escáner de despliegues
•• Redesplegar una aplicación
Redesplegar una aplicación
•• Acceder aala base de datos Hypersonic
Acceder la base de datos Hypersonic
•• Detener JBoss
Detener JBoss
•• Conocer estado de los EJB desplegados
Conocer estado de los EJB desplegados
eeinstanciados
instanciados
... yymucho más
... mucho más
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
7. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
Monitorización con JConsole
Jconsole (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:
Descargar jconsole.war desde
http://www.servletsuite.com/jmx/jconsole.htm
Copiar jconsole.war en la carpeta
deploy del servidor utilizado,
para su despliegue
(habitualmente en /jboss5.1.0.GA/server/default/deploy/)
Con JBoss en ejecución, acceder
a http://localhost:8080/jconsole
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
8. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
Monitorización con MC4j Management Console for Java
El 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.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
9. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
Monitorización con MC4j Management Console for Java
Para instalar la última versión:
• Descargar la versión apropiada a nuestro sistema operativo desde
http://www.mc4j.org/confluence/display/MC4J/Download y descomprimir
• Descargar la librería log4j de http://logging.apache.org/log4j/1.2/, descomprimir y localizar
el log4j-1.2.*.jar Renombrar a log4j-1.2.8.jar
• Sustituir el existente en mc4j/mc4j/modules/ext por el renombrado anterior
• Finalmente cargamos la aplicación con el ejecutable situado en C:Archivos de
programaMC4J Console 1.2b9
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
10. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
Monitorización con MC4j Management Console for Java
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
11. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
Monitorización con ManageEngine Applications Manager 8
ManageEngine 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.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
12. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
Monitorización con ManageEngine Applications Manager 8
• Descarga:
http://manageengine.adventnet.com/products/applications_manager/download.html y
ejecutamos el instalable
• Instalación:
• Descargar log4j de http://logging.apache.org/log4j/1.2/, descomprimir y localizar
el log4j-1.2.*.jar
• Renombrar a log4j.jar
• Sustituir el existente en AdventNet/ME/AppManager8/working/classes/ por el
renombrado anterior
• Ejecución: startApplicationsManager en AdventNet/ME/AppManager8
• Jboss ha de poder aceptar conexiones remotas (e.g. iniciar el servidor con run -b
0.0.0.0 o la IP que deseemos que tenga acceso)
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
13. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
Monitorización con ManageEngine Applications Manager 8
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:
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
14. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
Monitorización con ManageEngine Applications Manager 8
Seleccionamos como tipo de monitor JBoss Server
Una vez conectado en nuevo monitor a JBoss, se muestra un resumen de monitores:
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
15. Jboss AS 5.1.0 Instalación
La API JMX y Monitorización de JBoss
Monitorización con ManageEngine Applications Manager 8
Conclusiones
• Podemos quedarnos con estos puntos fundamentales:
• La API JMX permite acceder a información publicada por una aplicación
• Las unidades que publican esa información son los Mbeans
• JBoss implementa multitud de Mbeans
• Existen herramientas para usar la JMX de JBoss y monitorizar su estado
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366
16. Jboss AS 5.1.0 Instalación
Jopr es una solución de gestión empresarial para los proyectos de middleware
de JBoss y tecnologías de aplicación.
La plataforma de gestión Jopr proporciona administración centralizada de
sistemas para la suite JBoss Enterprise Middleware y otros productos de
terceros. Jopr le permite:
• Coordinar las diversas etapas del ciclo de vida de la aplicación
• Exponer una visión coherente de los componentes de middleware a través de
entornos complejos
• Mejorar la eficiencia operativa y la fiabilidad mediante la visibilidad completa sobre la
disponibilidad de producción y el rendimiento
• Gestionar con eficacia la configuración y despliegue de nuevas aplicaciones en
entornos complejos a través de un instrumento único integrado.
17. Jboss AS 5.1.0 Instalación
Esta plataforma nos ofrece
• el descubrimiento e inventario de los recursos gestionados
• la administración, seguimiento, implementación y actualización de las
aplicaciones basadas en JBoss middleware y otras aplicaciones de terceros a
través de un modelo de gestión centralizada.
• Los controles de acceso empresariales ofrecen los niveles necesarios de
visibilidad, acceso y de auditoría para mantener los sistemas y compartir
información a través de las estadísticas vitales y equipos diversos.
• Un portal personalizable ofrece información crítica rápidamente a la
correcta audiencia.
18. Jboss AS 5.1.0 Instalación
Inventario
El inventario es el responsable de
buscar y realizar el seguimiento de las
plataformas, servidores y servicios que
van a ser gestionados mediante Jopr.
Este sistema proporciona autodescubrimiento para facilitar el
despliegue y los modelos de despliegue
completos de los sistemas y
aplicaciones. Proveé al administrador
central de la capacidad de configurar
las características principales que se
utilizarán en los diferentes servicios.
19. Jboss AS 5.1.0 Instalación
Configuración
La configuración da soporte a la lectura, actualización y seguimiento de los cambios en
la configuración de los recursos administrados. Estos cambios de configuración pueden
ser rastreados a través de históricos y detectar incluso los cambios realizados fuera del
sistema mientras que proporciona auditoría y la capacidad para hacer retroceder a las
versiones anteriores de los recursos soportados.
20. Jboss AS 5.1.0 Instalación
Monitorización
La monitorización gestiona la recogida de estadísticas y el estado de los productos
de gestión y la configuración de los intervalos de recogida y los detalles. Este sistema
también prevé ejecutar las líneas de base para mostrar cifras que salen de sus
límites normales.
21. Jboss AS 5.1.0 Instalación
Alertas
Las características de las alertas se integran con otros subsistemas para proporcionar
notificaciones de las condiciones definidas por el usuario.
Esto puede ser utilizado para notificar a los administradores de los problemas de
rendimiento o de operaciones fallidas.
22. Jboss AS 5.1.0 Instalación
Operaciones
Las Operaciones ofrecen la capacidad de ejecutar acciones para controlar los
recursos gestionados en el inventario. Estas operaciones dependen de los recursos,
pero pueden incluir acciones tales como detener, iniciar y reiniciar, así como
recabar información detallada de la operación.
23. Jboss AS 5.1.0 Instalación
Contenido
El subsistema de contenido es un
mecanismo mediante el cual un plugin
puede exponer piezas específicas de
contenido de un recurso. Este contenido
relacionado viene en forma de archivos
como
archivos
ejecutables,
configuraciones, o archivos de registro. El
subsistema de contenido puede grabar
estos archivos en el inventario y generar
captura de metadatos en diferentes
revisiones de los contenidos y permitir el
despliegue de nuevas versiones de su
contenido.
24. Jboss AS 5.1.0 Instalación
Grupos
Los Grupos ofrecen una capacidad importante para agregar modelos de servicios
detallados sobre los componentes. También proporcionan el mecanismo
fundamental para la aplicación de la semántica de control de acceso con el modelo
de seguridad.
25. Jboss AS 5.1.0 Instalación
Modelo de seguridad
El modelo de seguridad proporciona la
capacidad de definir los niveles específicos de
la visibilidad, la capacidad de control y el
acceso a cualquier conjunto de recursos del
inventario y de los usuarios. Puede ser
utilizado para proporcionar la mayor
visibilidad y coordinación entre los grupos de
riesgo, mientras puede limitar el cambio de
control a un conjunto exclusivo de usuarios
dedicados a una aplicación específica o de su
entorno de trabajo.
26. Jboss AS 5.1.0 Instalación
Eventos
Los eventos pueden ser vistos como un tipo de datos de medición que no se recogen
a intervalos fijos, sino que ocurren en puntos aleatorios en el tiempo. Jopr es capaz
de detectar eventos, filtrando los mismos por gravedad, las mostrará en la interfaz
de usuario y enviará alertas en función de las condiciones de eventos definidos.
27. Jboss AS 5.1.0 Instalación
Administración
Jopr proporciona la capacidad para configurar y controlar todo su entorno.
Administra el control de cuándo y con qué frecuencia se realiza el mantenimiento de
sus datos, puede configurar y controlar las fuentes de contenido y los canales, entre
otras muchas cosas.
28. Jboss AS 5.1.0 Instalación
Agentes
El Agente de Jopr es el componente de software que se instala en las máquinas que
van a ser administradas. Las responsabilidades del agente implican la exploración y
el control de sus recursos administrados. El agente tiene algunas características
únicas por sí mismo.
••Configuración persistente
Configuración persistente
••Servidor de Auto-detección yyde Votación
Servidor de Auto-detección de Votación
••Estrangulamiento
Estrangulamiento
••Entrega garantizada
Entrega garantizada
••Transportes
Transportes
••Comunicación segura --Cifrado yy
Comunicación segura Cifrado
autenticación
autenticación
••código nativo Java
código nativo Java
29. Jboss AS 5.1.0 Instalación
JBoss ON es la versión certificada y testeada que ofrece RedHat de Jopr.
35. Jboss AS 5.1.0 Instalación
La última versión Jopr 2.2.1 permite instalarse utilizando una base de datos embebida (h2) sin
necesidad de instalar PosgreSQL y/o Oracle.
Para instalar el lado del servidor, se han de efectuar los siguientes pasos:
1.Descargar el proyecto jopr 2.2.1 de aquí .
2.Descomprimir el fichero: unzip jopr-server-2.2.0.zip
3.Configurar las variables de entorno RHQ_SERVER_HOME (ej: /usr/java/jopr-server-2.2.1) y
RHQ_SERVER_JAVA_EXE_FILE_PATH (ej: /usr/java/jdk1.6.0_13/bin/java) directamente del
fichero ./bin/rhq-server.sh.
4.Arrancar el servidor con la sentencia ./bin/rhq-server.sh start
5.Para iniciar la instalación, acceder vía web a http://<server-hostname>:7080. En caso de no
querer utilizar una base de datos externa (PosgreSQL u Oracle), marcar la opción Embedded
Database.
Posteriormente, se ha de instalar el agente en cada uno de los servidores a monitorizar:
1.Desde el equipo a monitorizar, descargar el fichero jar: wget http://<serverhostname>:7080/agentupdate/download
2.Instalar el agente con java -jar <agent-update-binary.jar> –install
3.Ejecutar el agente con rhq-agent.sh
44. Jboss AS 5.1.0 Instalación
1.Go to the Jopr - - Releases page and download the Jopr distribution.
1.Go to the Jopr Releases page and download the Jopr distribution.
2.Unzip the distribution in aa suitable place (i.e. in a directory not too deeply nested and with no spaces or non-ASCII characters in its name)
2.Unzip the distribution in suitable place (i.e. in a directory not too deeply nested and with no spaces or non-ASCII characters in its name)
3.Install aa database like PostgreSQL (version 8.2.4 +, please choose C locale for initdb), create a database instance called 'rhq' in it and a user
3.Install database like PostgreSQL (version 8.2.4 +, please choose C locale for initdb), create a database instance called 'rhq' in it and a user
'rhqadmin' that owns this 'rhq' database.
'rhqadmin' that owns this 'rhq' database.
create user rhqadmin password 'rhqadmin';
create user rhqadmin password 'rhqadmin';
create database rhq owner rhqadmin;
create database rhq owner rhqadmin;
2.Eventually set RHQ_SERVER_JAVA_HOME or RHQ_SERVER_JAVA_EXE_FILE_PATH env variables appropriately. This isis needed if your
2.Eventually set RHQ_SERVER_JAVA_HOME or RHQ_SERVER_JAVA_EXE_FILE_PATH env variables appropriately. This needed if your
JAVA_HOME does not point to aa java installation that is valid with Jopr (e.g. java 1.4); Jopr requires java5+.
JAVA_HOME does not point to java installation that is valid with Jopr (e.g. java 1.4); Jopr requires java5+.
••cd into the jopr-server-*/ directory and start the Server:
cd into the jopr-server-*/ directory and start the Server:
bin/rhq-server.sh console
bin/rhq-server.sh console
•After aa few seconds, the messages on the console will stop. When this happens, point your browser to http://localhost:7080/ and run the
•After few seconds, the messages on the console will stop. When this happens, point your browser to http://localhost:7080/ and run the
installer.
installer.
•When this isis done and you can log in (default user pass are: rhqadmin/rhqadmin), it it is time to start the Agent. Start a second shell for this.
•When this done and you can log in (default user / / pass are: rhqadmin/rhqadmin), is time to start the Agent. Start a second shell for this.
•Unpackage the Agent into aa directory of your choosing:
•Unpackage the Agent into directory of your choosing:
•IfIf you received the Agent as a .zip package, simply unzip it into your chosen directory
• you received the Agent as a .zip package, simply unzip it into your chosen directory
•IfIf you received the Agent as a agent update binary .jar, copy it to your chosen directory and run "java -jar <agent-update-binary.jar>
• you received the Agent as a agent update binary .jar, copy it to your chosen directory and run "java -jar <agent-update-binary.jar>
--install"
--install"
•NEW In Jopr 2.2: IfIf you do not yet have an Agent distribution, but you have started your Jopr Server as described above, then you can pull
•NEW In Jopr 2.2: you do not yet have an Agent distribution, but you have started your Jopr Server as described above, then you can pull
down an Agent update binary .jar directly from the server and install it it using these instructions:
down an Agent update binary .jar directly from the server and install using these instructions:
4.Point aa browser to "http://<your-server-hostname>:7080/agentupdate/download" and save the Agent binary update jar in
4.Point browser to "http://<your-server-hostname>:7080/agentupdate/download" and save the Agent binary update jar in
aa directory where you want to install the agent (the file you save should have a .jar extension; "<your-server-hostname>"
directory where you want to install the agent (the file you save should have a .jar extension; "<your-server-hostname>"
should be the hostname or IP address of the server that is running and "7080" is the port on which that the server is
should be the hostname or IP address of the server that is running and "7080" is the port on which that the server is
accepting HTTP requests)
accepting HTTP requests)
5.Run "java -jar <agent-update-binary.jar> --install" where "<agent-update-binary.jar>" isis the name of the file you downloaded from
5.Run "java -jar <agent-update-binary.jar> --install" where "<agent-update-binary.jar>" the name of the file you downloaded from
the server
the server
1.cd into the Agent directory (typically named "rhq-agent").
1.cd into the Agent directory (typically named "rhq-agent").
2.Start the Agent by issuing:
2.Start the Agent by issuing:
bin/rhq-agent.sh Answer the questions asked by the Agent.
bin/rhq-agent.sh Answer the questions asked by the Agent.
3.Go back to the Server GUI and to its Dashboard. Watch resources show up in the upper right in the Autodiscovery portlet, and import them.
3.Go back to the Server GUI and to its Dashboard. Watch resources show up in the upper right in the Autodiscovery portlet, and import them.
4.Done
4.Done
45. Jboss AS 5.1.0 Instalación
GET JBOSS 5!
Questions?
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com
19 Octubre 2009
Curso JBoss JB366