Compartir a través de


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

por Jim van de Erve

Introducción

El seguimiento basado en solicitudes está disponible tanto en servidores IIS independientes como en sitios web de Windows Azure (WAWS) y proporciona una manera de determinar qué ocurre exactamente con las solicitudes y por qué sucede, siempre que pueda 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 500 del servidor de ASP o ASP.NET a menudo puede ser difícil solucionarlo, a menos que haya capturado el seguimiento del problema cuando se produzca. En el siguiente 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 Windows Azure , haga clic aquí.

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 quiere 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 muestran en este artículo incluyen:

  • Habilitación del módulo de seguimiento de solicitudes con error
  • Configuración de la semántica del archivo de registro de seguimiento de solicitudes erróneas
  • Definición de la dirección URL para la que se mantienen los seguimientos de solicitudes con errores, incluidas las definiciones de error y las áreas 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 8.5 para poder realizar las tareas de 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 lo siguiente:

  • ASP.NET 3.5 (en Servidor web (IIS)/Servidor web/Características de desarrollo de aplicaciones/ASP.NET 3.5)
  • ASP.NET 4.5 (en Servidor web (IIS)/Servidor web/Características de desarrollo de aplicaciones/ASP.NET 4.5)
  • Seguimiento (en Servidor web (IIS)/Servidor web/Estado y diagnóstico- 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 Administradores.

Nota

Al estar en el grupo Administradores no se le conceden 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.

Crear una copia de seguridad

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

Para realizar una copia de seguridad de la configuración:

  1. Haga clic en la tecla del logotipo de Windows y la tecla X simultáneamente, haga clic en Símbolo del sistema (Administración) y, a continuación, haga clic en .

Captura de pantalla del símbolo del sistema Administración en la barra de tareas de Windows.

  1. En el símbolo del sistema, ejecute el siguiente comando:
%windir%\system32\inetsrv\appcmd add backup cleanInstall

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

Crear contenido de ejemplo

  1. Vaya a %systemdrive%\inetpub\wwwroot.
  2. Mueva el contenido a una ubicación segura (en caso de que quiera 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 contenido siguiente:
<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 solo está deshabilitado como ejemplo y para los fines de las tareas de este artículo.

Para deshabilitar ASP:

  1. Abra el Administrador de IIS y seleccione el servidor.
  2. Haga doble clic en ISAPI y Restricciones de CGI.

Captura de pantalla del panel I I S Manager que muestra las restricciones I A P I y C G I seleccionadas.

  1. En el panel Restricciones de ISAPI y CGI , seleccione Páginas del servidor activo. En el panel Acciones , haga clic en Denegar para deshabilitar ASP . Las páginas del servidor activo se mostrarán como "No permitido".

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

Habilitación del seguimiento de Failed-Request

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 Failed-Request seguimiento 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. Inicie inetmgr.
  3. En el panel Conexiones , expanda el nombre del equipo, expanda Sitiosy, a continuación, haga clic en Sitio web predeterminado.
  4. En el panel Acciones , en Configurar, haga clic en Seguimiento de solicitudes con error....

Captura de pantalla del panel Acciones que muestra la opción Seguimiento de solicitudes erróneas está resaltada en la pestaña Configurar.

  1. En el cuadro de diálogo Editar configuración de seguimiento de solicitudes con error del sitio web , configure lo siguiente:
  • Active la casilla Habilitar .
  • Mantenga los valores predeterminados de la otra configuración.

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.

  1. Haga clic en OK.

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, configurará las definiciones de error de 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 ayudará a determinar qué extensiones concretas necesitará habilitar. Para obtener más información, vea El código de estado HTTP en IIS 7.0, IIS 7.5 e IIS 8.0.

  1. Abra un símbolo del sistema con derechos de usuario de administrador.

  2. Inicie inetmgr.

  3. En el panel Conexiones , expanda el nombre del equipo, expanda Sitiosy, a continuación, haga clic en Sitio web predeterminado.

  4. Haga doble clic en Reglas de seguimiento de solicitudes con error.

    Captura de pantalla del panel Inicio del sitio web predeterminado que muestra la característica Reglas de seguimiento de solicitudes erróneas seleccionada.

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

  6. En el Asistente para agregar regla de seguimiento de solicitudes con error , en la página Especificar contenido en seguimiento , seleccione Todo el contenido (*). Haga clic en Next.

    Captura de pantalla que muestra el Asistente para agregar reglas de seguimiento de solicitudes con error. Se selecciona toda la opción de contenido 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 para realizar el seguimiento.

    Captura de pantalla de Agregar regla de seguimiento de solicitudes erróneas que muestra la página Definir condiciones de seguimiento y 404 punto 2 especificado como código de estado.

  8. Haga clic en Next.

  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 la 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 Verbosity, seleccione Detallado.

    Nota

    Al instalar el servicio de rol de seguimiento, IIS instala los proveedores de seguimiento de extensión WWW, ASP e ISAPI de forma predeterminada. Para obtener más información sobre estos proveedores, vea Proveedores de IIS y Cómo crear un archivo de proveedor para Request-Based seguimiento. Si instala ASP.NET 2.0 o superior, IIS agrega automáticamente el proveedor de seguimiento de ASPNET. Los proveedores adicionales se instalan mediante el paquete del instalador de enrutamiento de solicitudes de aplicación (ARR), que también instala el módulo reescritura de direcciones URL, la administración de granjas de servidores web y la caché externa. Puede agregar más proveedores de seguimiento mediante el <add> elemento dentro del <traceProviderDefinitions> elemento .

    Captura de pantalla del Asistente para agregar reglas de seguimiento de solicitudes erróneas que muestra W W Server seleccionado en la lista Proveedores y Seguridad que se selecciona en el menú Áreas.

  10. Haga clic en Finalizar

Debería ver la siguiente definición para el sitio web predeterminado:

Captura de pantalla de la página Reglas de seguimiento de solicitudes erróneas que muestra W W Server especificado como proveedor asociado y 404 punto 2 como código de estado.

El Administrador de IIS escribe la configuración en el %systemdrive%\config inetpub\wwwroot\web.config archivo mediante una <location> etiqueta . La configuración debe tener el siguiente aspecto:

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

Probar y ver el archivo de registro de solicitudes de error

En esta tarea, generará una solicitud con error y verá el registro de seguimiento resultante. Ya ha configurado IIS para capturar los registros de seguimiento de http://localhost/las solicitudes *.asp' que producen un error con un código de respuesta HTTP de 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. Verá lo siguiente:

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 mensaje.

Paso 2: Ver el 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 W 3 S V C 1 en el directorio Req Log Files con errores.

    Observe algunas cosas aquí: 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 , una por directorio. Esto ayuda a ver los archivos de registro de solicitudes de error resultantes (por ejemplo ,fr000001.xml anteriores).

  2. Haga clic con el botón derecho en el archivo de registro del error 404.2 y haga clic en 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 este es el caso, verá lo siguiente:

    Captura de pantalla del cuadro de diálogo 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 seleccionando el menú Herramientas , seleccionando Opciones de Internet, haciendo clic en la pestaña Seguridad , seleccionando Zona de confianza y, a continuación, seleccionando Sitios. Esto permite que el XSL funcione. Verá lo siguiente 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.

    Se registra un resumen de la solicitud con errores en la parte superior, con la tabla Advertencias & de errores que identifica los eventos que son WARNING, ERROR o CRITICAL ERROR en gravedad. En este ejemplo, el nivel de gravedad WARNING se debe a LA RESTRICCIÓN DE ISAPI. La imagen que intentó cargar era %windir%\system32\inetsrv\asp.dll.

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

Resumen

Ha completado dos tareas: configurar el seguimiento de solicitudes con errores para capturar seguimientos de cualquier solicitud que IIS devuelva con un código de estado 404.2; y comprobar que IIS capturó el seguimiento de la solicitud. También ha comprobado que el archivo de registro freb*.xml no contenía solicitudes que no sean las que tengan un código de retorno 404.2. Cuando consultó 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 que no sean HTML (como gifs o jpgs) y tenga en cuenta que el archivo de registro NO agrega estos seguimientos. También puede cambiar fácilmente este evento a 404 o capturar el error si la solicitud tarda más de 30 segundos estableciendo el campo timeTaken en failureDefinitions.

Restaurar 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 de administrador:

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