Syntax Highlighter

lunes, 25 de octubre de 2010

Cómo supervisar los logs de IIS en Windows Azure (II)

Ayer expliqué en un post cómo supervisar los logs de IIS de nuestros web roles de Azure a través de la transferencia de archivos a nuestro blob storage.

La idea de partida es buena y la solución válida, aunque después de seguir trasteando hoy con el SDK he visto una nueva utilidad en la Windows Azure Management Console que permite ampliar el acceso en tiempo real a las utilidades de diagnóstico de nuestros roles de una forma mucho más amigable.

Comenzando donde lo dejamos ayer, justo después de hacer el deploy de la aplicación. Es importante aclarar la importancia de la línea DiagnosticMonitor.Start("DiagnosticsConnectionString", config) que agregamos ayer, ya que si no se inicia el monitor de diagnóstico no podremos acceder a los diagnósticos desde la MMC -si encuentro alguna otra forma ya actualizaré el post-.

Ahora accedemos a la consola de mantenimiento de Windows Azure desde nuestro escritorio y podemos ver que al seleccionar el nodo "Diagnostics" de nuestro webrole aparece lo que hemos configurado en código, es decir la configuración en ejecución. En el menú de acciones hay, entre otras utilidades, una de transferir manualmente los logs bajo demanda, muy útil por si queremos forzar en cualquier momento su copia al blob storage ¡Este era el botón al que me refería que estaba en la CTP en el portal de gestión de Azure!


Al pulsar el botón de "Transfer Now (Selected Instances)" se nos abre una ventana para seleccionar qué es lo que queremos transferir y de qué instancias. Seleccionamos lo que nos interese y pulsamos el botón "Start Transfer". Con el botón Get Active Transfers podemos ver el estado de transferencia de los datos de diagnóstico a nuestro blob.


Una vez que la transferencia ha finalizado, volvemos a la consola y seleccionamos en el árbol de la izquierda el nodo "Analysis", que hace aparecer una pantalla de filtros de búsqueda sobre los datos transferidos a nuestro blob. Introducimos los datos solicitados y a través de la ación "Apply Filters" de la derecha podemos ver en el panel de resultados las coincidencias.



Al pulsar sobre el enlace "Show" podemos ver finalmente los mismos ficheros de log de IIS de los que hablábamos ayer.


Tal y como se ve en el panel de diagnósticos, a través de esta herramienta se pueden configurar más opciones de diagnóstico, como poder supervisar el visor de sucesos de la máquina, todo ello modificando incluso la configuración en ejecución. 

¿Qué más posiblidades de diagnóstico tenemos?

Una vez vistas las posibilidades de diagnóstico que nos ofrecen las herramientas actuales (MMC, API de diagnóstico, etc.), se me antoja un poco lento todo este proceso. ¿Lento con respecto a qué?

Ayer tuve una conversación con nuestro amigo Marco que surgió después de la pregunta: ¿cómo detectaría en Azure que alguien está intentando atacar mediante técnicas de hacking un webrole? Para ello muchas veces es necesario acceder a los logs de IIS rápidamente e incluso tener configuradas pre-alertas de ciertos tipos de patrones en los logs. ¿El soporte de Microsoft en Azure contempla este servicio de monitorización? (Tarea: buscar información al respecto)

Marco me mostró la herramienta que está utilizando para monitorizar la plataforma de la que está a cargo en la nube -un mix de on-premises y GoGrid-. La herramienta es Splunk que citando la definición de su web, "Splunk es el software líder en el mundo para monitorizar, analizar y crear informes de datos de IT en vivo así como de terabytes de datos históricos, tanto en modelo on-premises o en la nube".

Lo que me enseñó por Skype era una herramienta muy avanzada, tanto en su interfaz de usuario como en la velocidad de respuesta de las consultas. Las posibilidades de los informes en tiempo real me dejó totalmente fascinado.

Lástima que no estaba accesible para Azure...¿o sí lo está? Parace que eso será tema de otro post... 



No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...