Nuevos módulos de IIS7 para informes de Logs, administración de bases de datos y otros

Una de las prioridades a la hora de crear IIS 7 era conseguir un modelo de extensiones ricos para .NET que permita a los desarrolladores crear plugins que extiendan el servidor web.

Esto módulos están  integrados en el pipeline del servidor (permitiendo escenarios como el del módulo de administración del Bit Rate), en la configuración del sistema  (consiguiendo crear nuevas opciones de configuración ene el web.config), en el sistema de monitorización (permitiendo añadir eventos personalizados para trazas), en la herramienta de administración (permitiendo crear módulos de administración).

Añadimos esta extensibilidad para que cualquiera pueda extender y mejorar el servidor web con .NET. También nosotros queríamos esas opciones para poder publicar paquetes con nuevas características en el núcleo del servidor web.

IIS 7 Admin Pack Preview 1 publicada.

La semana pasada el equipo de IIS publicó la primera preview técnica de algunos de los nuevos módulos que creemos que serán muy útiles para los desarrolladores web. Esta preview añade nuevas características a la herramienta de administración de IIS 7:

  • Administrador de base de datos: Un administrador de base de datos SQL Server integrado, incluye la posibilidad de crear, borrar y editar tablas e índices, crear/editar procedimientos almacenados y ejecutar consultas personalizadas. Como está integrado en la herramienta de administración de IIS funciona con HTTP/SSL - con lo que podemos usarlo para administrar remotamente nuestras aplicaciones (incluso con cuentas de hosting de bajo coste), sin tener que exponer nuestra base de datos directamente a Internet.
  • Informes de logs: Visualizador de logs integrado con soporte para estadísticas y gráficas. Amplio rango de selección y creación de gráficas personalizadas, y con la posibilidad de imprimir o guardar los informes. Como el administrador de base de datos, podemos usar este módulo a través de HTTP/SSL - con lo que funciona en host remotos y compartidos.
  • Editor de configuraciones: Éste es un módulo que ofrece un control completo sobre la edición de todas las opciones del web.config. Podemos configurarlo para que siga los cambios que se hayan hecho con la interfaz de usuario y tener una configuración generada a través de scripts que podemos guardar y tweakear para ejecutarlo más tarde de manera automática.
  • Interfaz de usuario para filtrar peticiones: Este módulo nos permite un mayor control sobre las nuevas características de filtro de peticiones de IIS 7. Carlos nos explica en más detalle cómo usarlo en este post.
  • .NET Authorization: Este módulo es un editor de reglas de autorización que nos permite administrar más fácilmente la parte de <authorization> de ASP.NET
  • Interfaz para FastCGI: Este módulo nos permite editar más fácilmente todas las nuevas opciones de <fastCGI> (para cuando usemos módulos FastCGI en IIS como PHP).

Aquí tenéis algunas capturas de pantalla y un par de ejemplos sobre los informes de logs y el administrador de base de datos:

Módulo de administración de informes de logs.

¿Habéis desplegado una aplicación web en un servidor y os habéis preguntado cuantos recursos consume?¿cuanto tiempo tarde el servidor en responder?¿cuantos errores están ocurriendo en el servidor (y en qué urls)? Todas estas opciones se pueden logear en IIS en un archivo de logs.  A día de hoy se suelen usar herramientas en línea de comandos como el IIS Log Parser para consultar y analizar estos archivos.

Con este módulo podemos consultar y crear informes gráficos en la herramienta de administración de IIS:

El módulo "IIS Reports" viene con un montón de informes precargados que podemos usar para que se ejecuten en nuestros sitios web y en nuestras aplicaciones:

Aquí tenéis un informe con una gráfica simple que muestra los códigos de estado HTTP que devuelve la aplicación "TestSite" (fijaos que estamos usando la opción "gráfico de barras"):

Podemos filtrar los informes con un rango de fechas. También podemos pulsar los botones de imprimir o guardar en la página del informe para generar una versión impresa o guardada en local del informe:

La herramienta de administración de IIS 7 es una aplicación rica (creada con WinForms) - pero hace todo el trabajo de forma remota y funciona con servicios web HTTP que se conectan al servidor remoto. De manera que funcionará a través de firewalls, y un hoster no tiene que abrir ningún puerto en su red para que funcione.

Si el hoster instala este paquete en sus servidores web, los clientes podrán administrar sus sitios remotamente (que viene incluida en Vista y se puede descargar para clientes XP) y se les preguntará si quieren habilitar el módulo de administración de informes (el proceso de instalación en el cliente es igual). Los clientes podrán usarlo para generar informes.

Nota: los hosters pueden deshabilitar esta característica si quieren, o restringir o personalizar la lista de informes que se pueden pedir. Lo más normal es que los hosters permitan el uso de esta característica para todos los IIS y ASP.NET.

Módulo de administración de Bases de Datos

¿Habéis desplegado vuestras aplicaciones y la base de datos en un host remoto y queréis hacer un pequeño cambio en la base de datos (pero vuestro hosting no soportan el acceso con la herramienta de administración de SQL?. Con este nuevo módulo integrado en la administración de IIS podéis acceder remotamente a la base de datos y hacer cambios a través de HTTP/SSL.

Sólo tenéis que conectar vuestra herramienta de administración de IIS al sitio remoto y hacer clic en el icono "DataBase Manager":

Por defecto, este modulo mirará a la sección <connectionStrings> de vuestra aplicación web en el web.config, y os permitirá acceder a las bases de datos hosteadas en vuestra aplicación.

Por ejemplo, aquí tenéis mi aplicación TestSite que tiene una cadena de conexión "NorthwindConnectionString" en el web.config. Cuando hagamos clic podemos ver y editar los procedimientos almacenados y el esquema de la base de datos (índices incluidos):

Podemos hacer clic derecho en cualquier tabla para editar los datos, o crear una consulta personalizada para obtener datos:

Lo interesante es que un hosting puede habilitar esto (aunque haya cientos o miles de clientes en un sólo servidor). Como todos los demás módulos, todas las comunicaciones entre el cliente y el host se hacen a través de servicios web HTTP/SSL (atraviesan los firewalls y no hay que abrir ningún puerto - ni siquiera el de la base de datos).

Lo más normal es habilitar este módulo - lo que hará que la administración de datos sea mucho más sencilla.

Resúmen

Con el tiempo veremos más módulos de los que hemos publicado en este IIS 7 Admin Pack con muchas más características (Carlos, que lleva el equipo de desarrollo de esta herramienta, está preguntando por qué opciones creéis interesantes  en su blog - así que mandadle un comentario si tenéis alguna sugerencia)

Podéis descargaros esta primera versión aquí, y podéis aprender más en la documentación online. Estos módulos funciona tanto en IIS7 Vista SP1 como en Windows Server 2008.

Espero que sirva.

Scott.

Traducido por: Juan María Laó Ramos.

Artículo original.

Un pensamiento en “Nuevos módulos de IIS7 para informes de Logs, administración de bases de datos y otros

  1. Pingback: Gabriel Carreras : Módulo de administración de informes de logs.

Deja un comentario