martes, 25 de julio de 2006

IP de clientes conectados a Tomcat

   Siguiendo con el artículo de Apache + Tomcat vamos a avanzar un poco más en la migración a la nueva arquitectura. La mayoría de los sistemas ya están migrados, pero aún quedan algunos, y viendo los logs de los tomcats, hay peticiones que no sabemos quién las está realizando.
   En el log del tomcat (al contrario que en Apache) no se queda almacenada la IP del cliente que realiza la petición, por lo que no podemos saber cuál es el sistema que la origina. En producción, obviamente, no podemos montar la solución de validación de Apache + Tomcat puesto que hay cuatro tomcats con un balanceador por delante y sería más complicado. Así, ayer estuve buscando cómo volcar en el log del tomcat la dirección ip de los clientes que realizan las operaciones. En este caso la solución es muy sencilla. Basta con añadir al archivo server.xml lo siguiente:

<Valve className="org.apache.catalina.valves.AccessLogValve"
  directory="logs"  prefix="localhost_access_log."
  suffix=".txt "pattern="common" resolveHosts="false"/>


 Ahora, reiniciamos el tomcat, nos vamos al directorio logs, veremos creado el archivo nuevo de logs, y listo...

172.24.88.172 - "POST ..."
172.24.86.11 - "GET /dispatcher..."

   Intentaremos hacer este cambio en producción la semana que viene. Además nos va a servir para perseguir el origen de unas peticiones que no sabemos muy bien de donde vienen.

No hay comentarios:

Publicar un comentario