Compartir a través de


Uso del seguimiento de solicitudes con errores para solucionar errores de ASP clásicos

por Robert McMurray

Una de las excelentes características de solución de problemas integradas en IIS 7.0 y versiones posteriores es Seguimiento de solicitudes con error, que le permite configurar reglas de seguimiento en el servidor que crearán archivos de registro detallados de solución de problemas para las condiciones de error personalizadas que defina. Por ejemplo, puede capturar los detalles de los errores de autenticación mediante la creación de reglas de seguimiento que crean archivos de registro para errores HTTP 401.

El seguimiento de solicitudes con error en IIS se puede configurar para realizar un seguimiento pasivo de los errores. Esto significa que puede agregar reglas de seguimiento a IIS que crearán archivos de registro cuando se produzcan errores, incluso si no está supervisando activamente el servidor. Por ejemplo, los pasos de este tutorial le mostrarán cómo crear una regla de seguimiento que creará registros de seguimiento cada vez que se produzca un error HTTP 500. Este método de seguimiento pasivo se conoce como seguimiento "sin reproducción", lo que significa que puede examinar periódicamente los registros del servidor para comprobar si se han producido errores y, a continuación, tomar medidas solo cuando IIS haya creado registros.

Trabajar con Access Control de usuario

Debe asegurarse de seguir los pasos descritos en este documento mediante una cuenta que tenga permisos administrativos completos. Esto se logra mejor mediante uno de los dos métodos:

  • Inicie sesión en el equipo con la cuenta de administrador local.
  • Si ha iniciado sesión con una cuenta con permisos administrativos, pero no es la cuenta de administrador local, abra todas las aplicaciones y todas las sesiones del símbolo del sistema mediante la opción "Ejecutar como administrador".

Estas condiciones anteriores son necesarias porque el componente de seguridad Control de cuentas de usuario (UAC) en Windows Vista y Windows Server 2008 impedirá el acceso administrativo a las opciones de configuración de IIS. Para obtener más información sobre UAC, consulte la siguiente documentación:

Instalación del seguimiento de solicitudes con error

El seguimiento de solicitudes con error no está instalado de forma predeterminada en IIS. Para instalar el seguimiento de solicitudes con error, siga estos pasos para la versión de Windows:

Windows Vista o Windows 7Client

  1. Haga clic en Inicio y, a continuación, en Panel de control.
  2. En Panel de control, haga clic en Programas y características y, a continuación, haga clic en Activar o desactivar características de Windows.
  3. Expanda Internet Information Services, World Wide Web Services y, a continuación, Health and Diagnostics.
  4. Seleccione Seguimiento y, a continuación, haga clic en Aceptar.

Windows Server 2008 o Windows Server 2008 R2

  1. Haga clic sucesivamente en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de servidores.
  2. En el panel Administrador del servidor jerarquía, expanda Rolesy, a continuación, haga clic en Servidor web (IIS).
  3. En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, a continuación, haga clic en Agregar servicios de rol.
  4. En la página Seleccionar servicios de rol del Asistente para agregar servicios de rol, seleccione Seguimiento y, a continuación, haga clic en Siguiente.
  5. En la página Confirmar selecciones de instalación, haz clic en Instalar.
  6. En la página Resultados, haga clic en Cerrar.

Para obtener más información sobre cómo instalar el seguimiento de solicitudes con error para IIS, vea el siguiente tema en el sitio web de Microsoft IIS.net :

Cómo habilitar el seguimiento de solicitudes con errores

  1. Haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).

  2. En el panel Conexiones , seleccione la conexión del servidor, el sitio, la aplicación o el directorio para el que desea configurar el seguimiento de solicitudes con error.

  3. En el panel Acciones , haga clic en Seguimiento de solicitudes con error...

  4. Configure las siguientes opciones En el cuadro de diálogo Editar configuración de seguimiento de solicitudes erróneas del sitio web :

    • Active la casilla Habilitar para habilitar el seguimiento.
    • Deje el valor predeterminado o escriba un nuevo directorio donde desee almacenar los archivos de registro de solicitudes con error en el cuadro Directorio .
    • Escriba el número de archivos de seguimiento de solicitudes con error que desea almacenar en el cuadro Número máximo de archivos de seguimiento .
  5. Haga clic en OK.

Nota

Puede personalizar la configuración para ASP clásico, ASP.NET o para otras condiciones específicas, pero una regla genérica para errores HTTP 500 es útil para detectar una variedad de condiciones de error en el servidor web.

También puede habilitar el seguimiento de solicitudes con error desde un símbolo del sistema mediante la utilidad AppCmd.exe con la siguiente sintaxis:

appcmd.exe set config -section:system.applicationHost/sites /[name='Default Web Site'].traceFailedRequestsLogging.enabled:"True" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /[name='Default Web Site'].traceFailedRequestsLogging.directory:"%SystemDrive%\inetpub\logs\FailedReqLogFiles" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /[name='Default Web Site'].traceFailedRequestsLogging.maxLogFiles:"50" /commit:apphost

Solución de problemas de errores de ASP clásicos

En esta sección, generaremos algunos errores mediante ASP clásico para examinar cómo el seguimiento de solicitudes con errores ayudará a identificar posibles problemas. Aunque estos ejemplos tendrán como destino circunstancias específicas en las que conozca la causa del error, puede usar las técnicas que se presentarán para solucionar situaciones en las que se desconoce la causa del error.

Solución de problemas de errores HTTP 500

IIS devuelve errores HTTP 500 cuando las páginas ASP no se ejecutan y, sin la característica seguimiento de solicitudes con error de IIS, estos errores HTTP 500 pueden ser muy difíciles de solucionar. Esto se debe a que los errores de ASP suelen producirse cuando no está solucionando activamente el sistema, por lo que a veces la única opción es buscar los registros de actividad de IIS y esperar que el módulo ASP devuelva información adicional en las entradas de registro de las solicitudes con error. En el ejemplo siguiente que usa seguimiento de solicitudes con error, tiene un registro detallado del error que puede usar para solucionar la situación.

Cómo agregar una regla de seguimiento para errores HTTP 500

Los pasos siguientes configurarán una regla de seguimiento de solicitudes con error para errores HTTP 500, que usará más adelante para solucionar los mensajes de error de ASP clásicos.

  1. Haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones , vaya a la conexión, sitio, aplicación o directorio para el que desea configurar el seguimiento de solicitudes con error.
  3. En el panel Inicio , haga doble clic en Reglas de seguimiento de solicitudes con error.
  4. En el panel Acciones , haga clic en Agregar...
  5. En la página Especificar contenido para seguimiento del Asistente para agregar reglas de seguimiento de solicitudes con error, normalmente seleccionaría el tipo de contenido que desea realizar el seguimiento. En este caso, acepte el valor predeterminado para todo el contenido y, a continuación, haga clic en Siguiente.
  6. En la página Definir condiciones de seguimiento , escriba 500 en el cuadro de texto Códigos de estado para realizar un seguimiento de los errores HTTP 500 y, a continuación, haga clic en Siguiente.
  7. En la página Seleccionar proveedores de seguimiento , acepte los valores predeterminados y, a continuación, haga clic en Finalizar.

Creación de una página que invoca una clase COM no válida

En esta condición de error, examinará una página ASP que intenta crear una instancia de una clase COM no válida y esta situación se produce con mayor frecuencia al escribir una clase COM válida. Para probar este problema, guarde el siguiente código ASP como Bad_class.asp en la carpeta wwwroot de un sitio web donde ha habilitado el seguimiento de solicitudes con error para errores HTTP 500:

<html>
<body>
<h1>Bad Class</h1>
<%
   Set objObject = CreateObject("Bad.Class.Name")
%>
</body>
</html>

Cuando se usa un explorador web para examinar este archivo, IIS debe devolver un mensaje de error HTTP 500 y IIS creará un registro de seguimiento de solicitudes con error que se crea en el %SystemDrive%\Inetpub\FailedRequestLogFiles\W3SVCnnn carpeta de forma predeterminada, donde W3SVCnnn contiene el único identificado para el sitio web que aparece en el Administrador de IIS. Los registros de seguimiento de solicitudes con error son archivos XML y IIS crea un archivo XSL que transforma el XML en un formato de presentación que se puede abrir en Internet Explorer.

Lectura del registro de seguimiento en Internet Explorer

Cuando usa Internet Explorer para abrir un archivo de registro de seguimiento de solicitudes con errores, se muestra una variedad de información en un resumen de solicitudes. Este resumen contiene la información general del entorno para la condición de error, como la dirección URL en ejecución, el grupo de aplicaciones, el tipo de autenticación y el nombre de usuario, y otra información. Observará que el motivo del error es el código de estado y que el estado era un error HTTP 500.

En la sección Errores y advertencias de resumen, verá un vínculo de seguimiento de vista , como se muestra en la ilustración siguiente:

Captura de pantalla de una ventana del explorador en la que se muestra el resumen de la solicitud de un error de registro de seguimiento con errores.

Al hacer clic en el vínculo de seguimiento de vista , Internet Explorer pasará a la sección del seguimiento donde se produjo el error del script ASP. Si expande los eventos de seguimiento individuales, puede ver los detalles específicos del evento, como la ruta de acceso del archivo físico, el número de línea, el código de error y la descripción de ASP, y el extracto de código ASP que provocó el error, que en este caso fue el intento de crear una instancia de una clase COM no válida.

En la ilustración siguiente se muestra un ejemplo:

Captura de pantalla de una ventana del explorador que muestra la sección del seguimiento donde se produjo el error.

Solución de problemas de páginas lentas

Puede configurar el seguimiento de solicitudes con error para generar archivos de registro para páginas que superen un intervalo de tiempo que especifique, no solo para errores HTTP. En un ejemplo práctico, si los usuarios web se quejan de que partes del sitio web parecen lentas a veces, pero no saben qué páginas parecen verse afectadas, puede crear una regla de seguimiento durante un intervalo de tiempo para crear un archivo de registro cuando las páginas superen ese intervalo. Esto le permite restringir el ámbito de solución de problemas a las páginas afectadas esperando a que IIS cree archivos de registro que enumeren la página. Sin seguimiento de solicitudes con error, puede consultar los registros de actividad de IIS para las páginas que tardan mucho tiempo en ejecutarse, pero que solo limita el ámbito a la lista de páginas donde se produce un problema, no al propio problema. En el ejemplo siguiente, buscará el origen del error en la página lenta.

Adición de una regla de seguimiento para contenido lento

Los pasos siguientes configurarán una regla de seguimiento de solicitudes con errores para las solicitudes que superan un período de tiempo específico, que usará más adelante para solucionar problemas de páginas ASP lentas.

  1. Haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).

  2. En el panel Conexiones , vaya a la conexión, sitio, aplicación o directorio para el que desea configurar el seguimiento de solicitudes con error.

  3. En el panel Inicio , haga doble clic en Reglas de seguimiento de solicitudes con error.

  4. Resalte la regla que creó en el ejemplo anterior y, a continuación, haga clic en Quitar en el panel Acciones .

  5. En el panel Acciones , haga clic en Agregar...

  6. En la página Especificar contenido para seguimiento del Asistente para agregar reglas de seguimiento de solicitudes con error, normalmente seleccionaría el tipo de contenido que desea realizar el seguimiento. En este caso, acepte el valor predeterminado para todo el contenido y, a continuación, haga clic en Siguiente.

  7. En la página Definir condiciones de seguimiento :

    • Desactive la casilla Códigos de estado.
    • Active la casilla Tiempo necesario (en segundos).
    • Escriba 5 para el número de segundos.
    • Haga clic en Next.
  8. En la página Seleccionar proveedores de seguimiento , acepte los valores predeterminados y, a continuación, haga clic en Finalizar.

Creación de una página que se repite sin fin

En esta condición de error, examinará una página que se repite infinitamente. Este problema suele deberse a que una sesión de usuario no puede salir correctamente de un bucle, como cuando el código recorre en bucle los registros de lista de una tabla de base de datos. Para probar este problema, guarde el siguiente código ASP como Slow_page.asp en la carpeta wwwroot de un sitio web donde ha habilitado el seguimiento de solicitudes con error:

<html>
<body>
<h1>Slow Page</h1>
<%
   Do
      If Response.IsClientConnected = False Then
         Exit Do
      End If
   Loop
%>
</body>
</html>

Cuando use un explorador web para ir a este archivo, no debería ver ningún error en el explorador web, pero es posible que el explorador nunca devuelva una página y, finalmente, agotará el tiempo de espera.

Nota

Esta página se escribe para salir del bucle después de cerrar el explorador web. Si desea salir del bucle antes de que se alcance el tiempo de espera del script, debe cerrar manualmente el explorador después de diez segundos.

Después de cinco segundos, IIS creará un registro de seguimiento de solicitudes con error en la carpeta %SystemDrive%\Inetpub\FailedRequestLogFiles\W3SVCnnn de forma predeterminada, donde W3SVCnnn contiene el identificador único, como se muestra en el Administrador de IIS, para el sitio web.

Lectura del registro de seguimiento en Internet Explorer

Como se muestra en el ejemplo anterior, cuando se usa Internet Explorer para abrir un archivo de registro de seguimiento de solicitudes con errores, se muestra información importante en un resumen de solicitudes. Este resumen contiene la información general del entorno para la condición de error, como la dirección URL en ejecución, el grupo de aplicaciones, el tipo de autenticación y el nombre de usuario, y otra información. Observe que el motivo del error era la cantidad de tiempo necesario y que el tiempo era ligeramente superior a cinco segundos, que era el tiempo que escribió en la regla de seguimiento de solicitudes con error.

Nota

También observará que el código de estado HTTP de la respuesta era HTTP 200, que es una respuesta correcta. Se trata de uno de los factores que a menudo dificultan el diagnóstico de páginas lentas: las respuestas se realizan correctamente, lo que hace que sean más difíciles de localizar.

En la sección Errores y advertencias de resumen, verá un vínculo de seguimiento de vista , como se muestra en la ilustración siguiente:

Captura de pantalla de una ventana del explorador que muestra el resumen de la solicitud de una advertencia de registro de seguimiento con errores.

Al hacer clic en el vínculo ver seguimiento, Internet Explorer irá a la sección del seguimiento donde se produjo el error del script ASP. Si expande los eventos de seguimiento individuales, puede ver los detalles específicos del evento, como la ruta de acceso del archivo físico, el número de línea, el código de error y la descripción de ASP, y el extracto de código ASP que se estaba ejecutando al crear el archivo de registro. Con esta información, puede examinar la página ASP y buscar la línea de código que se estaba ejecutando dentro de un bucle sin fin.

En la ilustración siguiente se muestra un ejemplo:

Captura de pantalla de una ventana del explorador que muestra la sección del seguimiento donde se produjo la advertencia.

Más información

Para obtener más información sobre el seguimiento de solicitudes con error en IIS, consulte las páginas siguientes en el sitio web de Microsoft IIS.net :