Posts Tagged ‘Software

15
May
13

Monitorear el Servidor con Java Management eXtensions (JMX)

En ocasiones se hace necesario monitorear las actividades de nuestro servidor para conocer su estado, en mi caso la necesidad surgió cuando este al desplegar la aplicación comenzaba a bajar el rendimiento hasta colapsar. Actividad que en realidad es muy sencilla,  ya que java provee una API que nos permite realizarla; la Java Management eXtensions, La tecnología JMX proporciona una forma simple y estándar para gestionar recursos de aplicaciones, dispositivos y/o servicios. Debido a que la tecnología JMX es dinámica, se puede usar para controlar y gestionar los recursos a medida que se crean, se instalan o son  implementados. También puede utilizar la tecnología JMX para supervisar y gestionar la Máquina Virtual Java (Java VM).

Nota: En mi caso utilizo Tomcat sobre Windows 7.

Primero descargamos catalina-jmx-remote.jar, de igual manera (para mi la que mejor me pareció) descargamos visualvm que es el software que nos permitirá observar la actividad y estado del servidor.

 

Copiamos el catalina-jmx-remote.jar en la carpeta de las bibliotecas de nuestro server.

catalina-jmx-remote

catalina-jmx-remote

En el archivo de configuración del servidor llamado server.xml, ubicado en $CATALINA_BASE/conf/ (para mi caso C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\)  agregamos una linea donde describimos los puertos que utilizaremos para realizar la conexión:

 

<Listener className=»org.apache.catalina.mbeans.JmxRemoteLifecycleListener» rmiRegistryPortPlatform=»10001″ rmiServerPortPlatform=»10002″/>

listener

listener

Nota: por lo generar esta linea ya aparece incluida en el archivo server.xml como un comentario.

 

 

Modificamos los parámetros con los que inicia el servidor  para llamar a las opciones de JMX (las cuales pueden ser modificadas a necesidad pero)   para mi caso agregué las siguientes lineas a los parámetros con los que se inicia:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=6060
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.password.file=C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\jmxremote.password
-Dcom.sun.management.jmxremote.access.file=C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\jmxremote.access

Nota: si -Dcom.sun.management.jmxremote.authenticate=false no es necesario describir los archivos de password y access

 

Hemos descrito dentro de los parámetros de inicio dos archivos: jmxremote.passwordjmxremote.access, archivos de texto plano que contienen las contraseñas y los tipos de acceso a JMX respectivamente:

 

 jmxremote.password   jmxremote.access
controlRole control
monitorRole monitor
  controlRole readwrite
monitorRole readonly

 

El siguiente paso a seguir es iniciar nuestro servidor. y conectarnos por JMX, en este punto iniciamos el visualvm y agregamos una nueva conexión JMX y listo ya estamos viendo el comportamiento del server.

Conectarse por JMX

Conectarse por JMX

los parámetros para la conexión serían:

Connection: service:jmx:rmi://localhost:10002/jndi/rmi://localhost:10001/jmxrmi
Username: monitorRole
Password: monitor

Server status

Server status

 

 

Nota: el archivo de password debe ser configurado para que sea de solo lectura y solo puede ser visto por el usuario que lo creo que a su vez debe ser el mismo usuario con el que inicia el servidor.

Referencias

28
Abr
11

Software (historia-Introducción)

Seguir leyendo ‘Software (historia-Introducción)’




I+Ds

Dudas consultas
Facebook
Twiter
Google +

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevas publicaciones por correo.

Únete a otros 354 suscriptores

Redes Sociales y Archivos

Entradas

May 2024
L M X J V S D
 12345
6789101112
13141516171819
20212223242526
2728293031