Monitorizar Tomcat con JMX
He estado haciendo mis primeras pruebas con JMX(JMX en la wikipedia), que sirve para entre otras cosas para monitorizar aplicaciones java.
La herramienta para monitorizar que nos viene por defecto en la JDK es JConsole, a partir de Java 5, que se encuentra dentro del directorio bin de nuestro JAVA_HOME.
Para habilitar la instrumentación de JMX en Tomcat debemos buscar, dentro de catalina.bat, la variable JAVA_OPTS y añadirle los siguientes valores, separados por un espacio:
- -Dcom.sun.management.jmxremote
- -Dcom.sun.management.jmxremote.port=”9004″
- -Dcom.sun.management.jmxremote.authenticate=”false”
- -Dcom.sun.management.jmxremote.ssl=”false”
Una vez modificado, arrancamos el Tomcat y el JConsole, que nos debe dar la opción a conectarnos, en la pestaña Local, al Tomcat para monitorizarlo. Una vez conectados ya podemos ver parámetros como el consumo de memoria, número de threads…
October 11th, 2007 at 1:46 pm
Sabes si, en caso de crear un agente JMX de mis proyectos, podría “alojarlo” en ese mismo directorio de agentes?
La verdad es que de JMX he leido algo y he entendido poco
October 12th, 2007 at 2:57 am
Hola Enrique,
Ya siento no poder ayudarte, por ahora sólo he estado mirando el nivel de instrumentación.
A mi JMX también se me está haciendo un poco complicado.
November 5th, 2007 at 2:16 pm
Hola Dani:
Le habéis echado un vistazo a:
http://www.lambdaprobe.org
Un saludo
November 5th, 2007 at 5:14 pm
Hola Manuel,
Pues no lo conocía, saca buena pinta, a ver si saco un rato para probarlo.
Muchas gracias.
March 14th, 2008 at 10:27 pm
Amigos tengo mi servidor linux con el tomcat conteniendo 12 Aplicaciones Web corriendo, el tema es que necesito conocer el consumo de memoria para cada una de mis aplicaciones, conocen alguna forma de hacerlo?
March 17th, 2008 at 2:54 am
Hola José,
Pues la verdad que, al menos con jconsole, no hay forma de hacerlo. Aunque quizás con herramientas específicas de monitorización de tomcat como lambdaprobe se pueda llegar a hacer.
Por simple curiosidad, ya que me choca tener 12 aplicaciones en un mismo servidor (si no son aplicaciones de uso interno, claro): ¿Aproximadamente, cuántos usuarios tienes entre todas las aplicaciones?, ¿qué características tiene el servidor?
March 23rd, 2009 at 6:57 am
Hola.
Aparte de la consola tienes la opción de crearte un script con los comandos que necesites, ponerlo en la cron y monitorizarlo automáticamente sin consola.
Sabéis cómo realizar un adaptador que monitorice balanceando varios servidores?
Sé que la cuestión no es baladí.
August 4th, 2009 at 5:02 pm
Hola
Una excelente herramienta para monitorear servicios, aplicaciones y el estado del servidor en uno solo es el Hyperic HQ(free), es necesario correr un agente en el servidor que consume pocos recursos y configurar el jmx para tomcat, websphere o cada aplicación java, les recomiendo.
Saludos