ARCmop Java Programacion Solaris Linux

Java-linux-programacion

Tomcat: Configurar JMX para monitorear recursos y desempeño del servidor

Posted by Cmop en abril 11, 2016

Buenos días, en la presente oportunidad explicaré como configurar Apache Tomcat para poder conocer el desempeño del servidor en “tiempo real”, para poder utilizar herramientas como:

  • JCONSOLE

jconsole

  • JAVA VISUAL VM

jvisualvm

  • JAVA MISSION CONTROL

jmc

  1. En primer lugar debemos conocer a versión de Apache Tomcat con la que contamos, para ellos vamos a la ruta del manager y nos desplazamos hasta el final donde veremos algo como esto:
    • versiontomcat
  2. Y nos dirigimos a la siguiente dirección: http://archive.apache.org/dist/tomcat/ y navegamos hasta encontrar la versión exacta de nuestro servidor y dentro de ella vamos al directorio “/bin/extras”, en mi caso queda así:
  3. Una vez allí descargamos el archivo que catalina-jmx-remote.jar
    • jmx
  4. Luego este archivo hay que copiarlo dentro de la carpeta “lib” del servidor “tomcat”
  5. Lo siguiente es configurar en el archivo “catalina.sh” o “catalina.bat” según sea UNIX o Windows respectivamente y agregar o anexar a la variable JAVA_OPTS, en IP_SERVIDOR colocamos la ip del mismo servidor.
    • JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=IP_SERVIDOR" 
  6. Como habrán notado NO he configurado el parámetro que indica el puerto esto es porque vamos a configurar el puerto de entrada y de salida de manera estática (por defecto el puerto de salida es dinámico)
    • -Dcom.sun.management.jmxremote.port=9999
      
  7. Ahora vamos al archivos “server.xml” ubicado en la carpeta “conf” y agregamos la siguiente línea, que básicamente crea un oyente que manejará las peticiones a jmx
    • <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="9999" rmiServerPortPlatform="9091" />
      
  8. Lo siguiente será reiniciar el servidor Apache Tomcat y deberá aparecer algo como esto en el log:
    • abr 11, 2016 9:08:30 AM org.apache.catalina.mbeans.JmxRemoteLifecycleListener createServer
      INFORMACIÓN: The JMX Remote Listener has configured the registry on port 9999 and the server on port 9091 for the Platform server
      
  9. Si todo hasta este punto ha salido sin problemas, lo único que quedaría sería verificar si el puerto 9999 está abierto en el firewall, pero eso es otro tema.
  10. Ahora para acceder a JMX, simplemente colocar la IP:PUERTO, en cualquiera de las herramientas antes mencionadas.
  11. CAPTURAS CON JMX
    • jconsole03
    • jconsole02
    • jconsole01
  12. CAPTURAS CON JMC
    • jmc01 jmc02
  13. CAPTURAS CON JAVA VISUALVM
    • jvisualvm01

Bueno eso sería todo ya tenemos configurado nuestro servidor para poder monitorear los recursos y su desempeño, no he colocado como agregar seguridad porque por lo general el servidor está detrás de un firewall el cual mantendrá el control de acceso sobre el puerto 9999, pero si desean saber como configurarlo en la referencia al final del post pueden encontrar como hacerlo.

Espero sea de utilidad.

Referencias:

 

 

Una respuesta to “Tomcat: Configurar JMX para monitorear recursos y desempeño del servidor”

  1. Tu chiquita linda said

    Interesante aporte CMOP17! Besos 😘!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: