Bloggers recientes

 

[ Blog ]
[ Wiki ]
[ Slideshare ]
[ Twitter ]
[ YouTube ]
Silvia Rodriguez Mensajes: 9
Estrellas: 0
Fecha: 21/10/14
Cesar Capillas Mensajes: 163
Estrellas: 7
Fecha: 19/10/14

Archivo

Tags

noBlogo - El blog de zylk.net

Entradas con etiqueta <em>amazon ec2</em>.

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 configuracion 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

Enviando correos desde el servicio de Amazon

Otra de las problemáticas encontradas en Amazon fue el envío de correo desde sus servidores para las notificaciones en Liferay. Para no sobrepasar las políticas de abuso de envío de correo lo más sencillo, consiste en una configuración de exim4 o postfix, como pasarela smarthost de un smtp provider como google:

Os dejo la receta en cuatro pasos, la receta para utilizar exim como pasarela smarthost de gmail es la siguiente y los links originales:

En /etc/exim4/update-exim4.conf.conf

dc_eximconfig_configtype='smarthost'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='smtp.gmail.com::587'
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'


En /etc/exim4/passwd.client

gmail-smtp.l.google.com:liferay-service@gmail.com:secret
*.google.com:liferay-service@gmail.com:secret
smtp.gmail.com:liferay-service@gmail.com:secret

En /etc/exim4/email-addresses

ubuntu@LocalHost: liferay-service@gmail.com

En /etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost

remote_smtp_smarthost:
  debug_print = "T: remote_smtp_smarthost for $local_part@$domain"
  driver = smtp
  port = 587
  hosts_try_auth = <; ${if exists{CONFDIR/passwd.client} \
        {\
        ${lookup{$host}nwildlsearch{CONFDIR/passwd.client}{$host_address}}\
        }\
        {} \
      }
.ifdef REMOTE_SMTP_SMARTHOST_HOSTS_AVOID_TLS
  hosts_avoid_tls = REMOTE_SMTP_SMARTHOST_HOSTS_AVOID_TLS
.endif
.ifdef REMOTE_SMTP_HEADERS_REWRITE
  headers_rewrite = REMOTE_SMTP_HEADERS_REWRITE
.endif
.ifdef REMOTE_SMTP_RETURN_PATH
  return_path = REMOTE_SMTP_RETURN_PATH
.endif
.ifdef REMOTE_SMTP_HELO_FROM_DNS
  helo_data=REMOTE_SMTP_HELO_DATA
.endif


Enlaces:

 

Mostrando 2 resultados.