La consola JMX detras del firewall del servicio Amazon EC2

Uno de los problemas encontrados en la nube de Amazon, al poner en marcha un portal basado en Java como Liferay Portal fue la monitorización via JMX. Los servicios de Amazon están detras de un firewall y es necesario gestionar los puertos que abres para tu instancia de Amazon, por ejemplo, el 22 o el 80. De este modo, en las opciones de java de arranque del contenedor Tomcat necesitaríamos abrir los puertos que gestionan la consola JMX. Uno de ellos puede fijarse con la variable jmxremoteport, pero la monitorización remota necesita tambien de otro puerto RMI, que no es posible definir por configuración en versiones < 6.0.24 del contenedor Tomcat y que no responde un puerto fijo. Para ello utilizamos esta clase java y las siguientes opciones:

http://confluence.sakaiproject.org/display/QA/Remote+JVM+profiling+via+SSH+tunnels

La configuración en el arranque es la siguiente:

JMX_PORT=9012
RMI_PORT=55038
JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx2048m -XX:MaxPermSize=1024m -Dfile.encoding=UTF8 -Duser.timezone=GMT -Djava.security.auth.login.config=$CATALINA_HOME/conf/jaas.config -Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false"

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=$JMX_PORT -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=/opt/liferay-portal-5.2-ee-sp3-test/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/opt/liferay-portal-5.2-ee-sp3-test/jmxremote.access -Djava.rmi.server.hostname=liferay.zylk.net -Dedu.ucmerced.jmx.tunnelingrmiagent.port=$RMI_PORT -javaagent:/opt/liferay-portal-5.2-ee-sp3-test/jmxtunnel.jar"


Desde jconsole en remoto:

service:jmx:rmi://liferay.zylk.net:9012/jndi/rmi://liferay.zylk.net:55038/jmxrmi

Si dispones de una versión de Tomcat por encima de 6.0.24:

http://gabenell.blogspot.com/2010/04/connecting-to-jmx-on-tomcat-6-through.html


Se espera que estas opciones de monitorización via consola JMX sean mayores en la reciente versión beta de Tomcat 7.0

http://tomcat.apache.org/tomcat-7.0-doc/monitoring.html

00

More Blog Entries

0 Comments