Compartir a través de


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

Se aplica a: Internet Information Services 8.5

Introducción

El seguimiento basado en solicitudes está disponible tanto en servidores IIS independientes como en sitios web de Microsoft Azure (WAWS). Si puede reproducir el problema que está experimentando, el seguimiento basado en solicitudes proporciona una manera de determinar qué sucede exactamente con las solicitudes y por qué sucede. Problemas como un rendimiento deficiente en algunas solicitudes, errores relacionados con la autenticación en otras solicitudes o el error 500 del servidor de ASP o ASP.NET a menudo pueden 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 información sobre cómo hacerlo con sitios web de Microsoft Azure, consulte Solución de problemas de una aplicación en App de Azure Service mediante Visual Studio.

El seguimiento de solicitudes con errores 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é las solicitudes devuelven un código de estado HTTP específico, por ejemplo, 401 o 404, o si una solicitud tarda un tiempo en procesarse o no responde, puede usar el seguimiento de solicitudes con error.

Las tareas que se explican 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

Instale IIS 8.5 antes de poder realizar las tareas descritas en este artículo. Vaya a http://localhost/ y compruebe que se muestra la pantalla de presentación de Internet Information Services. Si IIS no está instalado, consulte Instalación de IIS 8.5 en Windows Server 2012 R2 para obtener instrucciones de instalación. Al instalar IIS, asegúrese de que también instale las siguientes características:

  • ASP.NET 3.5 (en Web Server (IIS)/Características/de desarrollo de aplicaciones de servidor/web ASP.NET 3.5)
  • ASP.NET 4.5 (en Web Server (IIS)/Características/de desarrollo de aplicaciones de servidor/web ASP.NET 4.5)
  • Seguimiento (en Servidor web (IIS)/Estado y diagnóstico del servidor/web: seguimiento)

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 de administradores no le concede derechos de usuario de administrador completos de forma predeterminada. Para ejecutar aplicaciones como administrador, haga clic con el botón derecho en el icono de la aplicación y seleccione Ejecutar como administrador.

Realización de una copia de seguridad

Realice una copia de seguridad de los archivos de configuración antes de realizar las siguientes tareas:

  1. Seleccione la tecla del logotipo de Windows y la tecla X simultáneamente, seleccione Símbolo del sistema (administrador) y, a continuación, seleccione .

    Captura de pantalla del administrador del símbolo del sistema en la barra de tareas de Windows.

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

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

    Este comando crea una carpeta cleanInstall que contiene archivos de configuración de copia de seguridad en %windir%\system32\inetsrv\backup.

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, siga estos pasos:

  1. Abra el Administrador de IIS y seleccione el servidor.

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

    Captura de pantalla del panel I I S Manager en la que se muestran las restricciones I A P I y C G I seleccionadas.

  3. En el panel Restricciones de ISAPI y CGI, seleccione Páginas Active Server. En el panel Acciones , seleccione Denegar para deshabilitar ASP. Active Server Pages se mostrará como No permitido.

    Captura de pantalla del panel Restricciones de I A P I y C G I en la que se muestran las páginas del servidor activo seleccionadas. La opción Denegar está seleccionada en el panel Acciones.

Habilitar seguimiento de solicitudes con error

Después de habilitar el seguimiento de solicitudes con error, debe configurar la ruta de acceso de los archivos de registro. En esta sección, habilitará el seguimiento de solicitudes con error para el sitio web predeterminado y especificará dónde almacenar los archivos de registro y, a continuación, 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 erróneas....

    Captura de pantalla del panel Acciones que muestra la opción Seguimiento de solicitudes con error resaltada en la pestaña 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 el comando rellenando el campo Directorio y la casilla Habilitar activada.

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

Paso 2: Configurar las definiciones de error

En este paso, configure las definiciones de error para la dirección URL, incluidas las áreas que se van a realizar el seguimiento. Solucionará problemas de un código de estado 404.2 devuelto por IIS para las solicitudes a las extensiones que aún no se han habilitado. Le ayuda a determinar qué extensiones concretas necesita habilitar. Para obtener más información, consulte Códigos de estado HTTP en IIS.

  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 del panel Inicio del sitio web predeterminado que muestra la característica Reglas de seguimiento de solicitudes con error seleccionada.

  5. En el panel Acciones , seleccione Agregar....

  6. En el Asistente para agregar regla de seguimiento de solicitudes con error, en la página Especificar contenido a seguimiento , seleccione Todo el contenido (*) y, a continuación, seleccione Siguiente.

    Captura de pantalla que muestra el Asistente para agregar reglas de seguimiento de solicitudes con error. Toda la opción de contenido está seleccionada en la página Especificar contenido a seguimiento.

  7. 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 de Agregar regla de seguimiento de solicitudes con error que muestra la página Definir condiciones de seguimiento y 404 punto 2 especificado como código de estado.

  8. Seleccione Siguiente.

  9. En la página Seleccionar proveedores de seguimiento, en Proveedores, active la casilla SERVIDOR WWW y desactive todas las demás casillas. 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.

  10. En Nivel de detalle, seleccione Detallado.

    Nota:

    Al instalar el Servicio de rol de seguimiento, IIS instala los proveedores de seguimiento de extensión Servidor WWW, ASP e ISAPI de forma predeterminada. Si instala ASP.NET 2.0 o superior, IIS agrega automáticamente el proveedor de seguimiento de ASPNET. El paquete del instalador de Enrutamiento de solicitudes de aplicación (ARR) instala otros proveedores, que también instala el módulo URL Rewrite, Web Farm Management y External Cache. Puede agregar más proveedores de seguimiento mediante el elemento <add> dentro del elemento <traceProviderDefinitions>.

    Captura de pantalla del Asistente para agregar reglas de seguimiento de solicitudes con error que muestra el servidor WWW seleccionado en la lista Proveedores y Seguridad que se selecciona en el menú Áreas.

  11. Seleccione Finalizar.

  12. Verá la siguiente definición para el sitio web predeterminado:

    Captura de pantalla de la página Reglas de seguimiento de solicitudes con error que muestra el servidor WWW especificado como proveedor asociado y 404 punto 2 como código de estado.

    El Administrador de IIS escribe la configuración en el archivo %systemdrive%\inetpub\wwwroot\web.config con una etiqueta <location>. La configuración debe volver a cambiar el tamaño siguiente:

    <configuration> 
        <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> 
    </configuration>
    

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

Esta sección le ayuda a generar una solicitud con error y a 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 y http://localhost/test.asp presione ENTRAR. Se muestra el mensaje de error "Error HTTP 404.2 - No encontrado".

    Captura de pantalla de la ventana de Internet Explorer en la que se muestra el error H T T T P Error 404 punto 2 guión no encontrado página de mensajes.

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

  1. Ahora que ha generado una solicitud con error, abra el Explorador de Windows y vaya a %systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1.

    Captura de pantalla de la carpeta W 3 S V C 1 en el directorio Req Log Files con error.

    Nota:

    Cuando IIS escribe el archivo de registro de solicitudes con error, escribe un archivo por solicitud con error. 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).

  2. 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 del cuadro de diálogo de Internet Explorer con la opción Continuar para preguntar cuando el contenido del sitio web está bloqueado seleccionado.

  3. En el cuadro de diálogo Internet Explorer , agregue about:Internet a la lista de sitios de confianza siguiendo estos pasos:

    1. Seleccione el menú Herramientas y, a continuación, seleccione Opciones de Internet.
    2. Seleccione la pestaña Seguridad .
    3. Seleccione Zona de confianza y, a continuación, sitios.
    4. Esto permite que la XSL funcione.
  4. Verá una página Resumen de solicitudes después de agregar about:Internet a la lista de sitios de confianza:

    Captura de pantalla de la página Resumen de solicitudes con la tabla Errores y advertencias que muestra columnas para Gravedad, Evento y Nombre del módulo.

    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, ERRORo CRITICAL ERROR en gravedad. En este ejemplo, el WARNING nivel de gravedad se debe a ISAPI RESTRICTION. La imagen que intentó cargar era %windir%\system32\inetsrv\asp.dll.

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

Resumen

Ha completado dos tareas: configurar el seguimiento de solicitudes con error para capturar seguimientos para 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 solicitudes distintas de las que tienen un código de retorno 404.2. Al consultar el archivo de registro de errores, ha determinado 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 cambiar este evento 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