Compartir a través de


Solución de problemas de solicitudes con errores mediante el seguimiento en IIS 7

Se aplica a: Internet Information Services 7.0

Nota:

Este artículo se aplica a IIS 7.0. Para obtener versiones más recientes, consulte Solución de problemas de solicitudes con errores mediante el seguimiento en IIS 8.5.

El seguimiento basado en solicitudes está disponible tanto en servidores IIS independientes como en aplicaciones web de Azure y proporciona una manera de determinar qué sucede exactamente con las solicitudes y por qué, si puede reproducir el problema que está experimentando. Problemas como un rendimiento deficiente en algunas solicitudes o errores relacionados con la autenticación en otras solicitudes o el error del servidor 500 de ASP o ASP.NET suelen ser difíciles de solucionar, a menos que haya capturado el seguimiento del problema cuando se produce. En este artículo se describe el seguimiento de solicitudes con error en el servidor IIS. Para obtener más información sobre cómo hacer esto en aplicaciones web de Azure, consulte Solución de problemas de una aplicación en Azure App Service con Visual Studio.

El seguimiento de solicitudes con error está diseñado para almacenar en búfer los eventos de seguimiento de una solicitud y vaciarlos solo en el disco si se produce un error en la solicitud, donde se proporciona la definición de "error". Si desea saber por qué recibe mensajes de error 404.2 o que la solicitud empieza a colgar, use Seguimiento de solicitudes con error.

Las tareas que se muestran en este artículo incluyen:

  • Habilitación del módulo Seguimiento de solicitudes con error.
  • Configuración de la semántica del archivo de registro de seguimiento de solicitudes con error.
  • Definir la dirección URL para la que se mantienen los seguimientos de solicitudes con errores, incluidas las definiciones de error y las áreas que se van a realizar el seguimiento.
  • Generación de la condición de error y visualización del seguimiento resultante.

Requisitos previos

Instalación de IIS

Debe instalar IIS 7 o superior para poder realizar las tareas de este artículo. Vaya a para http://localhost/ ver si IIS está instalado. Si IIS no está instalado, consulte Instalación de IIS en Windows Server 2008 para obtener instrucciones de instalación. Al instalar IIS, asegúrese de que también instale las siguientes características:

  • ASP.NET (en World Wide Web Services - Application Development Features - ASP.NET)
  • Seguimiento (en Seguimiento de estado y diagnóstico de - servicios World Wide Web) -

Iniciar sesión como administrador

Asegúrese de que la cuenta que usa para iniciar sesión es la cuenta de administrador o está en el grupo de administradores.

Nota:

Estar en el grupo Administradores no le concede derechos de usuario de administrador completos de forma predeterminada. Debe ejecutar aplicaciones como administrador, lo que puede hacer haciendo clic con el botón derecho en el icono de la aplicación y seleccionando Ejecutar como administrador.

Realización de una copia de seguridad

Debe realizar una copia de seguridad de la configuración antes de realizar las tareas en las secciones siguientes.

Para realizar una copia de seguridad de la configuración, siga estos pasos:

  1. Seleccione Iniciar>todos los accesorios de>programas.

  2. Haga clic con el botón derecho en símbolo del sistema y, a continuación, seleccione Ejecutar como administrador.

    Captura de pantalla que muestra el menú contextual del símbolo del sistema, con Ejecutar como administrador seleccionado.

  3. En un símbolo del sistema, ejecute el siguiente comando:

    %windir%\system32\inetsrv\appcmd add backup cleanInstall
    

Creación de contenido de ejemplo

  1. Vaya a %systemdrive%\inetpub\wwwroot.

  2. Mueva el contenido a una ubicación segura (en caso de que desee restaurar el contenido existente) o elimínelo.

  3. Cree un archivo en blanco y asígnelo el nombre test.asp.

  4. En el símbolo del sistema, vaya al archivo test.asp en \inetpub\wwwroot.

  5. En el archivo test.asp , pegue el siguiente contenido:

    <h2>Failed Request Tracing Lab</h2><br>
    <br>Today's date is <% response.write(Date()) %>
    

Deshabilitar ASP

ASP debe estar deshabilitado para esta tarea. ASP está deshabilitado únicamente como ejemplo y para los fines de las tareas de este artículo.

Para deshabilitar ASP

  1. Abra el Administrador de Internet Information Services (IIS) .

  2. Haga doble clic en Restricciones de ISAPI y CGI.

    Captura de pantalla que muestra el I I S Manager with I S A P I and C G I Restrictions (Restricciones de I A P I y C G I) seleccionado.

  3. Seleccione Páginas del servidor activo. En el panel Acciones , seleccione Denegar para deshabilitar ASP.

    Captura de pantalla que muestra el panel Restricciones y acciones de I S A P I y C G I abierto.

Habilitar seguimiento de solicitudes con error

Después de habilitar el seguimiento de solicitudes con error, debe configurar dónde residirán los archivos de registro. En esta tarea, habilitará el seguimiento de solicitudes con error para el sitio web predeterminado y especificará dónde colocar los archivos de registro. Después, configurará el error para el que se generarán registros de errores.

Paso 1: Habilitar el seguimiento de solicitudes con error para el sitio y configurar el directorio de archivos de registro

  1. Abra un símbolo del sistema con derechos de usuario de administrador y vaya a %systemdrive%\windows\system32\inetsrv.

  2. Ejecute inetmgr para abrir el Administrador de IIS.

  3. En el panel Conexiones , expanda el nombre del equipo, expanda Sitios y, a continuación, seleccione Sitio web predeterminado.

  4. En el panel Acciones , en Configurar, seleccione Seguimiento de solicitudes con error.

    Captura de pantalla que muestra el seguimiento de solicitudes con error en Configurar.

  5. En el cuadro de diálogo Editar configuración de seguimiento de solicitudes erróneas de sitio web, configure lo siguiente:

    • Active la casilla Habilitar .
    • Acepte los valores predeterminados para las demás configuraciones.

    Captura de pantalla que muestra el cuadro de diálogo Editar configuración de seguimiento de solicitudes con error del sitio web con la opción Habilitar seleccionada.

  6. Seleccione Aceptar.

El registro de seguimiento de solicitudes con errores ahora está habilitado para el sitio web predeterminado. Compruebe el archivo %windir%\system32\inetsrv\config\applicationHost.config para confirmar que la configuración tiene el siguiente aspecto:

<system.applicationHost>
   <sites> 
      <!-- site & app defaults --> 
      <site name="Default Web Site" id="1"> 
         <!-- other site configuration --> 
         <traceFailedRequestsLogging  enabled="true" /> 
      </site> 
   </sites> 
</system.applicationHost>

Paso 2: Configurar las definiciones de error

En este paso, configurará las definiciones de error para la dirección URL, incluidas las áreas que se van a realizar un seguimiento. Solucionará los problemas de una versión 404.2 devuelta por IIS para las solicitudes a las extensiones que aún no se han habilitado. Esto le ayuda a determinar qué extensiones concretas necesitará habilitar.

  1. Abra un símbolo del sistema con derechos de usuario de administrador y vaya a %systemdrive%\windows\system32\inetsrv.

  2. Ejecute inetmgr para abrir el Administrador de IIS.

  3. En el panel Conexiones , expanda el nombre del equipo, expanda Sitios y, a continuación, seleccione Sitio web predeterminado.

  4. Haga doble clic en Reglas de seguimiento de solicitudes erróneas.

    Captura de pantalla que muestra el panel Inicio del sitio web predeterminado y Reglas de seguimiento de solicitudes con error está seleccionada.

  5. Seleccione Finalizar.

  6. En el panel Acciones , seleccione Agregar.

  7. En el asistente para Agregar regla de seguimiento de solicitudes erróneas, en la página Especificar contenido para seguimiento, seleccione Todo el contenido (*). Seleccione Siguiente.

    Captura de pantalla que muestra el Asistente para agregar regla de seguimiento de solicitudes con errores, con todo el contenido seleccionado.

  8. En la página Definir condiciones de seguimiento, active la casilla Códigos de estado y escriba 404.2 como código de estado que se va a realizar el seguimiento.

    Captura de pantalla que muestra la página Definir condiciones de seguimiento. El código de estado se selecciona con 404 punto 2 en el campo Código de estado.

  9. Seleccione Siguiente.

  10. En la página Seleccionar proveedores de seguimiento, en Proveedores, active la casilla SERVIDOR WWW . En Áreas, active la casilla Seguridad y desactive todas las demás casillas.

    El problema que está generando hace que se produzca un evento de seguimiento de errores de seguridad. En general, los problemas de autenticación y autorización (incluidos los problemas de lista de restricciones de ISAPI) se pueden diagnosticar mediante la configuración del área de seguridad del servidor WWW para el seguimiento. Sin embargo, dado que la hoja de estilos FREB.xsl ayuda a resaltar errores y advertencias, todavía puede usar la configuración predeterminada para registrar todos los eventos en todas las áreas y proveedores. En Nivel de detalle, seleccione Detallado.

    Captura de pantalla que muestra la página Seleccionar proveedores de seguimiento. W W Server está seleccionado en Proveedores y Seguridad está seleccionado en Verbose.

  11. Seleccione Finalizar. Debería ver la siguiente definición del Sitio web predeterminado:

    Captura de pantalla que muestra el panel Reglas de seguimiento de solicitudes con error. W W Server aparece en Proveedores asociados.

El Administrador de IIS escribe la configuración en el archivo %windir%\system32\inetsrv\config\applicationHost.config con una etiqueta <location>. La configuración debe tener el siguiente aspecto:

<location path="Default Web Site"> 
    <system.webServer> 
        <tracing> 
            <traceFailedRequests> 
                <add path="*"> 
                    <traceAreas> 
                        <add provider="WWW Server" areas="Security" verbosity="Verbose" /> 
                    </traceAreas> 
                    <failureDefinitions statusCodes="404.2" /> 
                </add> 
            </traceFailedRequests> 
        </tracing> 
    </system.webServer> 
</location>

Prueba y visualización del archivo de registro de solicitudes de error

En esta tarea, generará una solicitud con error y verá el registro de seguimiento resultante. Ya configuró IIS para capturar registros de seguimiento para las solicitudes http://localhost/*.asp que producen un error con un código de respuesta HTTP 404.2. Ahora compruebe que funciona.

Paso 1: Generar un error y el archivo de registro de solicitudes de error

  1. Abra una nueva ventana de Internet Explorer.

  2. Escriba la siguiente dirección: http://localhost/test.asp.

  3. Recibirá un error "Error HTTP 404.2- No encontrado".

    Captura de pantalla que muestra una página web titulada Error del servidor en el sitio web predeterminado de la aplicación. En Resumen de errores, indica H T T P Error 404 punto 2 No encontrado.

Paso 2: Visualización del archivo de registro de solicitudes de error

  1. Ahora que ha generado una solicitud con error, abra un símbolo del sistema con derechos de usuario de administrador y vaya a %systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1.

  2. Ejecute start para abrir una ventana de Internet Explorer desde el directorio.

    Captura de pantalla que muestra Internet Explorer navegando a la ruta de acceso W 3 S V C 1. Se enumeran dos archivos, freb y f r 0 0 0 0 0 1.

  3. Fíjese en algunas cosas aquí: cuando IIS escribe el archivo de registro de solicitudes erróneas, escribe un archivo para cada solicitud errónea. También se escribe una hoja de estilos freb.xsl para cada directorio. Esto ayuda a ver los archivos de registro de solicitudes de error resultantes (por ejemplo , fr000001.xml en este ejemplo).

  4. Haga clic con el botón derecho en el archivo de registro del error 404.2 y seleccione Abrir con>Internet Explorer. Si es la primera vez que abre un archivo de seguimiento de solicitudes con error, debe agregar about:Internet a la lista de sitios de confianza, ya que la configuración de seguridad mejorada de Internet Explorer está habilitada de forma predeterminada. Si es así, verá lo siguiente:

    Captura de pantalla que muestra un cuadro de diálogo para la configuración de seguridad mejorada de Internet Explorer. Acerca de dos puntos de Internet está bloqueado.

  5. En el cuadro de diálogo Internet Explorer , seleccione Agregar... para agregar about:Internet a la lista de sitios de confianza. Esto permite que la XSL funcione. Verá lo siguiente después de agregar about:Internet a la lista de sitios de confianza:

    Captura de pantalla que muestra Internet Explorer. La pestaña Resumen de la solicitud está seleccionada y se muestran dos advertencias.

    Un resumen de la solicitud con error se registra en la parte superior, con la tabla Errores y advertencias que identifica los eventos que son WARNING, ERROR o CRITICAL ERROR en Gravedad. En este ejemplo, el nivel de gravedad WARNING se debe a ISAPI RESTRICTION. La imagen que intentó cargar era %windir%\system32\inetsrv\asp.dll.

  6. Abra el archivo XML sin formato directamente con un editor de texto y examine el contenido de cada evento.

Resumen

Ha completado dos tareas: ha configurado el seguimiento de solicitudes con error para capturar seguimientos de cualquier solicitud que IIS devuelva con un código de estado 404.2 y comprobar que IIS capturó el seguimiento para la solicitud. También ha comprobado que el archivo de registro de freb.xml no contenía ninguna otra solicitud de las solicitudes realizadas porque las solicitudes no tenían código de devolución 404.2. Al consultar el archivo de registro de errores, determinó que la causa del error era que la extensión estaba deshabilitada para esa solicitud. Puede probar otras páginas no HTML (como .gif o archivos .jpg) y tener en cuenta que el archivo de registro no agrega estos seguimientos. También puede cambiarlo fácilmente a 404 o capturar el error si la solicitud tarda más de 30 segundos si establece el campo timeTaken en failureDefinitions.

Restauración de la copia de seguridad

Ahora que ha completado las tareas de este artículo, puede restaurar la copia de seguridad de la configuración. Ejecute el siguiente comando con derechos de usuario administrador:

%windir%\system32\inetsrv\appcmd restore backup cleanInstall