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.

viernes, 21 de julio de 2006

Cobertura Wifi en casa

   La otra mañana, mientras esperaba a que vinieran los montadores de la cocina, me llevé el router wifi de Fon al piso nuevo, lo enchufé en la que presumiblemente va a ser la habitación de los ordenadores (y bien digo ordenadores en plural, aunque mi mujer no esté muy convencida) y me dispuse a comprobar la cobertura. Abrí el NetStumbler, acerqué la tarjeta de red wifi del portatil a una de las antentas del router hasta que la señal llegó a casi a cero, y a partir de ahí me fui paseando por toda la casa comprobando la señal que tenía. Aquí está el resultado:



   Como se puede ver, la señal no bajó casi en ningún momento del -50, por lo que, según la experiencia que tengo conectándome a redes wifi ajenas, no voy a tener ningún problema en toda la casa. De todas formas tendré que ver cuando haga alguna transferencia de archivos pesados, porque ahí si que se puede notar. Creo que va a ser una gozada estar tumbado en el sofa y con la pda poder ver qué tal está bajando el Emule en mi PC, ver el correo, chatear o lo que sea.

   Además, otra de las cosas que estuve haciendo es mirar cómo estaban las rosetas que han dejado en cada habitación únicamente con la tapa y una cuerda para poder hacer la instalación de lo que quiera de una manera fácil. Aunque tendré wifi, a lo mejor pongo algún cable de red en alguna zona del piso por si acaso.

viernes, 14 de julio de 2006

Punto de acceso FON

   Jose, un amigo y antiguo compañero de trabajo, está ahora trabajando para FON y hace unas semanas me envió un email diciendo que durante dos días los router wifi de Fon (Linksys WRT54GL) sólo costaban 1 euro + IVA (gastos de envío incluídos). No me lo pensé ni un segundo y encargué el mío, pensando que total, costaba sólo 1,16 euros y si no me interesaba no perdía mucho. Lo recibí ya hace algún tiempo pero hasta hace poco no lo he podido probar porque en el piso de alquiler no tengo internet y todavía no nos hemos mudado al nuevo.

   Lo conecté sin nigún problema al router de mi cuñada, me conecté con el portatil al nuevo punto de acceso Wifi y automáticamente al abrir el navegador y poner cualquier página web, el router me redirigía a la web de Fon. Ahí introducía mi usuario y mi contraseña y listo: A navegar con mi nuevo punto de acceso wifi. No me voy a poner a contar la filosofía de Fon puesto que está explicado aquí; sólo quiero destacar que me parece que la idea es bastante buena, aunque es cierto que todavía les queda mucho, pero que poco a poco si hay un poco de suerte y la gente empieza a compartir sus redes wifi, es posible que tengamos acceso en cualquier lugar.

   Cuando nos mudemos al nuevo piso veré qué hago finalmente (aunque para eso primero tenemos que contratar primero internet) y, si finalmente no me convence, actualizaré el firmware del router wifi y lo dejaré como viene de fábrica. Así podré tener al menos una LAN Wifi en mi casa para compartir archivos, mp3,...


miércoles, 12 de julio de 2006

Mi nuevo piso (II)

   Llegan los primeros problemas con el piso nuevo. La luz no se puede contratar con Iberdrola sino que tiene que ser con HC Energía. De esta empresa lo único que hemos oído es HC son las iniciales de Hidro Cantábrico, que es de Asturias y que está intentando expandirse por España. Algunos chalets de la zona de nuestro piso que construyeron hace ya unos cuantos años están funcionando con esta empresa. Según hemos visto en algunos foros y hablando con algunas personas parece que no hay problemas con ellos y son gente seria. Ya veremos qué tal...

   Hace un par de viernes tuvimos la reunión para la constitución de la comunidad de propietarios. Cuando llegamos y aparcamos en el garaje estaban por allí los comerciales de Ono intentando convencer a los vecinos de que nos diéramos de alta con ellos porque son los mejores. Además insistieron en que actualmente sólo es posible contratar el teléfono con ellos porque no hay cableado de Telefónica (cosa un tanto extraña porque el bloque de al lado tiene más de 25 años y tiene Telefónica seguro). El comercial, muy ilusionado él, nos contó la oferta que tienen actualmente de teléfono y llamadas a toda España por 20 euros y me pregunta (convencido de que mi respuesta va a ser positiva): "¿Qué te parece la oferta, a que es buena?". A lo que yo respondí con un rotundo: "Bueno, es normal, tan poco es para tanto". El tío se quedó todo extrañado y le dije que "ahora mismo hay ofertas de adsl y llamadas en el mercado por esos 20 euros que él decía". Insistía en que eso no era posible y mi mujer, un poco cansada del comercial le dijo: "Él sabe de lo que habla porque trabaja en el sector". Finalmente me tomó los datos y seguro que dentro de algunas semanas me vuelve a llamar dándole la lata para que me dé de alta con ellos.

   De momento lo que hice esa misma tarde fue llamar al 1004 para comprobar si había posibilidad de dar el alta con Teléfonica y me dijeron que sí, que no había problemas. Como ya me conozco los CAUs, al día siguiente volví a llamar y otro teleoperador me dijo que la única posibilidad de saber si podíamos tener la línea con telefónica era tramitando el alta y esperando a que los técnicos realicen la instalación. Si pueden todo resuelto, y si no, ya nos avisarían diciéndonoslo. De momento no hemos dado el alta porque vamos a esperar a terminar la mudanza, volver de las vacaciones,...

martes, 11 de julio de 2006

Los horarios en el trabajo

   Aún a riesgo de defraudar a Alex que en su último post me pide más post técnicos, no puedo dejar de escribir de algo que acabo de leer hace unos minutos.

   Nosotros estamos en la misma situación, aunque sin niños (de momento). Estos días hemos estado liados con la firma del piso y todo lo que ello conlleva y hemos pasado por lo mismo. Yo tuve que salir antes para llegar a tiempo a la notaría y ese mismo día por la noche estaba llamando a mi jefe para decirle que el día siguiente iba a llegar más tarde para terminar de solucionar lo que nos quedaba pendiente del piso. No he tenido ningún problema. Llegué a eso de las 12:00 y lo primero que hice fue charlar con mi jefe sobre la firma de las escrituras, el garaje,...

   ...Justo todo lo contrario que a mi mujer, que le ocurre exactamente lo mismo que a la del Consultor Anónimo. Pobre de mi mujer como se le ocurra llegar 5 minutos tarde o intentar salir un poco antes, porque ya tiene que estar dando explicaciones a media empresa. Y luego encima el %&$@~# de su jefe le hace recuperar las horas!!.

viernes, 7 de julio de 2006

Apache + Tomcat + Redirección + Ocultamiento de puertos

   En el trabajo tenemos una arquitectura un tanto particular para comunicar los sistemas entre sí. En lugar de que se llamen unos a otros de manera incontrolada, todos tienen que utilizar un middleware comun llamado dispatcher que, en función de un parámetro que es el código de la operación que se quiere realizar, llama al sistema apropiado pasándole los parámetros necesarios. Ocurre que este dispatcher es una "simple" aplicación web corriendo en un tomcat y se está migrando a una nueva plataforma. Antes de esta migración definitiva lo que está montado es que el dispatcher reenvía todas las operaciones a la nueva plataforma, ésta se comunica con el sistema final, reenvía la respuesta al dispatcher y éste finalmente responde.

   En el entorno de validación, que es el que nosotros administramos, para ir acostumbrando a la gente a utilizar la nueva arquitectura hemos decidido capar diversas operaciones (si no les funcionan van a tener que migrar forzosamente) de una forma elegante y transparente para desarrollo. Vamos a montar un apache "delante" del tomcat, levantado en su mismo puerto que redirija todas las peticiones al tomcat, que estará levantado en otro puerto. Además, en el apache caparemos diversas operaciones para mostrar un mensaje de error y cuando se realice la redirección de las operaciones correctas, mantendremos el puerto del tomcat oculto.

Configuración en Apache
Hemos utilizado la versión 1.3.26 de Apache y el sistema operativo en el que corre es Solaris 8.
En el archivo httpd.conf hemos añadido las siguientes líneas.

Conector de Tomcat:
LoadModule jk_module libexec/mod_jk.so
AddModule mod_jk.c


Definición de las operaciones que queremos capar:
RewriteEngine on
RewriteLog "logs/rewrite_log"
RewriteLogLevel 2
Options +FollowSymLinks
RewriteCond %{THE_REQUEST} .*OPERACION_01.* [OR]
RewriteCond %{THE_REQUEST} .*OPERACION_02.* [OR]
...
RewriteCond %{THE_REQUEST} .*OPERACION_N.* [OR]
RewriteRule dispatcher /error_dispatcher.xml [PT]


Redirección al tomcat:
JkWorkersFile /ruta/del/apache/conf/workers.properties
JkLogFile /ruta/del/apache/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /* worker1

Creamos el worker.properties:
# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=IP_DE_LA_MAQUINA
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.recycle_timeout=300


   Y listo. Reiniciamos el tomcat y el apache y haciendo una prueba vemos que las operaciones "prohibidas" se redirigen al mensaje de error definido y el resto se resuelven por el tomcat.

miércoles, 5 de julio de 2006

Mi nuevo piso

   El pasado martes 27 de Junio firmamos por fín las escrituras del piso. Después de 6 meses de retraso ya tenemos las llaves!!. Tanto tiempo esperando y al final, en 10 minutos miras las escrituras, el notario comprueba que eres quien dices ser con el dni, hechas una firma y listo. Te dan las llaves y corriendo a ver tu nuevo piso.
   Ahora viene lo peor: limpiar, empaquetar todas las cosas y hacer la mudanza; y lo mejor: irnos del piso de mierda de alquiler en el que estamos viviendo. En fin, todo poco a poco.