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 13:46
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
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 14:16
Hola Dani:
Le habéis echado un vistazo a:
http://www.lambdaprobe.org
Un saludo
November 5th, 2007 at 17:14
Hola Manuel,
Pues no lo conocía, saca buena pinta, a ver si saco un rato para probarlo.
Muchas gracias.
March 14th, 2008 at 22:27
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
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?