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
service:jmx:rmi://liferay.zylk.net:9012/jndi/rmi://liferay.zylk.net:55038/jmxrmi