Si alguien se encuentra con la necesidad de monitorizar el consumo de memoria que está haciendo su contenedor JSP/Servlet Apache Tomcat, quizás esta entrada le interese.
Hace ya algunos años que vengo usando Lambda Probe. Concretamente comencé a usarlo tras la primera release de Opina y posteriormente se convirtió en una de mis herramientas favoritas. Es difícil ver un entorno de desarrollo montado por mi en el que no esté presente esta herramienta. La uso tanto durante la fase de desarrollo como tras la puesta en producción. Es aconsejable monitorizar (aun estando en producción) nuestra aplicación, aunque sólo sea durante las primeras semana. Es una herramienta muy útil para preparar informes de calidad relacionados con rendimiento. ¿Cómo establecer sino los requisitos mínimos de memoria? Supongo que hay ocasiones en las que los administradores de sistemas reciben aplicaciones que deben ser desplegadas y desconocen cuáles son esos requisitos mínimos.
Pues bien, definiendo un buen entorno de entorno de desarrollo, pruebas de rendimiento y Lambda Probe, podemos realizar una buena aproximación de eso requisitos mínimos de memoria.
¿Qué debemos hacer para añadir a nuestro entorno de desarrollo monitorización de memoria?
- Descargamos la herramienta del sitio web oficial.
- Desplegamos el WAR en nuestro Apache Tomcat
- Creamos el archivo $TOMCAT_HOME/bin/setenv.sh y le añadimos la siguiente configuración:
CATALINA_OPTS=”-server -Xms256m -Xmx300m -XX:MaxPermSize=128m -Dcom.sun.management.jmxremote” - Accedemos a la aplicación:
http://hostname[:port]/probe - Y si tenemos correctamente configurado un usuario con el rol manager en $TOMCAT_HOME/conf/tomcat-user.xml, simplemente accedemos con ese usuario. En la página oficial hay información más detallada sobre el proceso de instalación.
A continuación os muestro una captura de pantalla correspondiente al consumo de memoria del entorno de preproducción que usamos para Opina.
Yo uso jconsole directamente.. aunque esta interfaz en bastante más amigable.
Oye.., ¿sabrías de alguna aplicación o forma para hacer que envie un aviso mail si el servidor por cualquier cosa falla?
Hola:
Necesitaría que especificases qué tipo de fallo. A nivel de aplicación? De servidor de aplicaciones?
Un saludo
hola:
EStoy probando la herramienta y no me muestra lo de la memoria me sale el siguiente error:
This page requires Java5 with enabled JMX Agent. To enable the JXM Agent please add “-Dcom.sun.management.jmxremote” to java command line or $JAVA_OPTS environment variable. If you are an IBM JDK user please add these properties: -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=29001 -Dcom.sun.management.jmxremote.ssl=false
EStoy trabajando sobre windows vista, al parecer no tengo habilitado el JMX cree una variable de entorno llamada JAVA_OPTS con la cadena que mencionan ahi, tengo que ponerla en otro lado? tienes alguna idea de loq eu oasa
Hola Camarillo:
No tienes que crear la variable de entorno, simplemente crear el archivo setenv.sh o setenv.bat y seguir las instrucciones que dice la entrada.
Un saludo
Hola, me pasa como a Camarillo, y tengo creado el fichero setenv.sh en la ruta indicada, pero me sigue dando el mensaje de error. Gracias
Lo he conseguido. Añadiendo la línea -Dcom.sun.management.jmxremote en Java Options en la pestaña Java de la aplicación Apache Tomcat Monitor y reiniciando el servicio de Tomcat, ya funciona perfectamente, sin necesidad de ficheros setenv. Gracias.
Hola Goojoob,
Es otra opción con la salvedad que si no cuentas con Apache Tomcat Monitor (windows sólo) no sabrás configurar muchas cosas.
Únicamente necesitabas crear un fichero setenv.bat y añadir una línea.
Un saludo
Aparte de tener el fichero setenv.sh, como uso windows, puse también el fichero setenv.bat en $TOMCAT_HOME/bin/ y no me funcionó. No se por qué.
Pingback: NOTAS « Business World TI
Esto es enun tomcat que corre en UNIX? Si tengo un TOMCAT montado en un Windows se puede monitorear?