Compartir a través de


Adición de solicitudes con error de seguimiento <add>

Información general

Cada elemento <add> de la colección <traceFailedRequests> puede incluir un elemento <traceAreas> que define los proveedores de seguimiento y las áreas específicas del proveedor que generarán eventos de seguimiento para la regla de seguimiento actual. También puede contener un elemento <failureDefinition>, que puede usar para configurar las condiciones de error de una solicitud, incluida la cantidad de tiempo que tarda el servidor en responder, el código de estado HTTP y la cantidad de información incluida en el seguimiento.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <add> no se modificó en IIS 10.0.
IIS 8.5 El elemento <add> no se modificó en IIS 8.5.
IIS 8.0 El elemento <add> no se modificó en IIS 8.0.
IIS 7.5 El elemento <add> no se modificó en IIS 7.5.
IIS 7.0 El elemento <add> de la colección <traceFailedRequests> se introdujo en IIS 7.0.
IIS 6,0 N/D

Configuración

Después de finalizar la instalación predeterminada de IIS 7 y versiones posteriores, debe instalar el servicio de rol de seguimiento para usar el seguimiento de solicitudes con errores. Después de instalar el servicio de rol, todavía debe habilitar el seguimiento de solicitudes con error en el nivel de sitio, el nivel de aplicación o el nivel de directorio.

Windows Server 2012 o Windows Server 2012 R2

  1. En la barra de tareas, haga clic en Administrador del servidor.
  2. En Administrador del servidor, haga clic en el menú Administrar y, después, haga clic en Agregar roles y características.
  3. En el asistente para Agregar roles y características, haga clic en Siguiente. Seleccione el tipo de instalación y haga clic en Siguiente. Seleccione el servidor de destino y haga clic en Siguiente.
  4. En la página Roles de servidor, expanda Servidor web (IIS), expanda Servidor web, expanda Mantenimiento y diagnósticos y, a continuación, seleccione Seguimiento. Haga clic en Next.
    Screenshot of Server Roles page, with the Health and Diagnostics tree expanded and Tracing selected and outlined..
  5. En la página Seleccionar características, haz clic en Siguiente.
  6. En la página Confirmar selecciones de instalación, haga clic en Instalar.
  7. En la página Resultados , haga clic en Cerrar.

Windows 8 o Windows 8.1

  1. En la pantalla Inicio, mueva el puntero hasta la esquina inferior izquierda, haga clic con el botón derecho en el botón Inicio y, a continuación, haga clic en Panel de control.
  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
  3. Expanda Internet Information Services, expanda World Wide Web Services, expanda Mantenimiento y diagnóstico y, a continuación, seleccione Seguimiento.
    Screenshot of Internet World Wide Web tree in Control Panel, with Health and Diagnostics expanded and Tracing selected.: haga clic en Aceptar.
  4. Haga clic en Cerrar.

Windows Server 2008 o Windows Server 2008 R2

  1. En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, luego, haga clic en Administrador del servidor.
  2. En el panel de jerarquía del Administrador del servidor, expanda Roles y, luego, haga clic en Servidor web (IIS).
  3. En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, luego, 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 haga clic en Siguiente.
    Screenshot of Select Role Services page of the Add Role Services Wizard, with Health and Diagnostics expanded and Tracing selected.
  5. En la página Confirmar selecciones de instalación, haz clic en Instalar.
  6. En la página Resultados , haga clic en Cerrar.

Windows Vista o Windows 7

  1. En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
  3. Expanda Internet Information Services, después Servicios World Wide Web y, a continuación Estado y diagnóstico.
  4. Seleccione Seguimiento y después haga clic en Aceptar.
    Screenshot of World Wide Web Services tree, with Health and Diagnostics expanded and Tracing selected and outlined.

Procedimientos

Habilitación del seguimiento

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

    • Si usa Windows Server 2012 o Windows Server 2012 R2:

      • En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
    • Si usa Windows 8 o Windows 8.1:

      • Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
      • En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Server 2008 o Windows Server 2008 R2:

      • En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Vista o Windows 7:

      • En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble 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 Seguimiento de solicitudes con error.

  3. En el panel Acciones, haga clic en Seguimiento de solicitudes con error...
    Screenshot of Internet Information Services Manager dialog, with Failed Request Tracing selected in Actions pane.

  4. En el cuadro de diálogo Editar configuración de seguimiento de solicitudes con error de sitio web, active la casilla Habilitar para habilitar el seguimiento, deje el valor predeterminado o escriba un nuevo directorio en el que 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 y, a continuación, haga clic en Aceptar.
    Screenshot of Edit Web Site Failed Request Tracing Settings dialog box, with Enable check box selected to enable tracing.

Configuración de definiciones de errores

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

    • Si usa Windows Server 2012 o Windows Server 2012 R2:

      • En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
    • Si usa Windows 8 o Windows 8.1:

      • Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
      • En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Server 2008 o Windows Server 2008 R2:

      • En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Vista o Windows 7:

      • En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, vaya a la conexión, el sitio, la aplicación o el directorio para el que desea configurar Seguimiento de solicitudes con error.

  3. En el panel Inicio, haga doble clic en Reglas de seguimiento de solicitudes con error.
    Screenshot of Internet Information Services Manager dialog, with Failed Request Tracing Rules selected in Home pane.

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

  5. En la página Especificar contenido en seguimiento del asistente para agregar reglas de seguimiento de solicitudes erróneas, seleccione el tipo de contenido del que desea realizar el seguimiento y, a continuación, haga clic en Siguiente.
    Screenshot of Specify Content to Trace page of the Add Failed Request Tracing Rule Wizard, with content type selected.

  6. En la página Definir condiciones de seguimiento, seleccione las condiciones de seguimiento y, a continuación, haga clic en Siguiente. Las condiciones de seguimiento pueden incluir cualquier combinación de códigos de estado, un límite de tiempo que una solicitud debe tomar o la gravedad del evento. Si especifica todas las condiciones, la primera condición que se cumple genera el archivo de registro de seguimiento de solicitudes con error.
    Screenshot of Define Trace Conditions page of Add Failed Request Tracing Rule dialog, with conditions selected.

  7. En la página Seleccionar proveedores de seguimiento, seleccione uno o varios de los proveedores de seguimiento en Proveedores.
    Screenshot of Select Trace Providers page of Add Failed Request Tracing Rule dialog, with Providers selected.

  8. En la página Seleccionar proveedores de seguimiento, seleccione uno o varios de los niveles de detalle en Detalle.
    Screenshot of Select Trace Providers page of Add Failed Request Tracing Rule dialog, with Verbosity levels selected.

  9. Si seleccionó el proveedor de seguimiento ASPNET o WWW Server en el paso 8, seleccione una o más áreas funcionales para que el proveedor rastree en Áreas de la página Seleccionar proveedores de rastreo.

  10. Haga clic en Finalizar

Configuración

Atributos

Atributo Descripción
customActionExe Atributo de cadena opcional.

Especifica un archivo ejecutable que se ejecutará cuando se alcanza una condición de error (por ejemplo, para ejecutar un archivo VBScript, especifique "Cscript.exe"). Todas las variables de la línea de comandos se expandirán. Por ejemplo, "%windir%" se expandirá a la ruta de acceso del directorio de Windows.
customActionParams Atributo de cadena opcional.

Contiene parámetros para pasar al archivo ejecutable especificado en el atributo customActionExe. Las variables de línea de comandos, como "%windir%" se expandirán. También puede usar variables de parámetro como "%1" y "%2" en la cadena que especifique (por ejemplo, "MyScript.vbs %1 %2").
customActionTriggerLimit Atributo uint opcional.

Especifica el número máximo de veces que el programa especificado por el atributo customActionExe se ejecutará durante la vigencia del proceso de trabajo para la definición de solicitud con error. Este valor se restablece cada vez que el proceso de trabajo se recicla. Los valores permitidos van de 0 a 10 000. Esta característica se puede usar, por ejemplo, para crear un volcado de memoria después del siguiente error, pero no después de errores posteriores.

Nota: si se alcanza el valor CustomActionTriggerLimit especificado durante el tiempo de ejecución del proceso de trabajo, se registrarán las solicitudes con error posteriores, pero no se ejecutará el programa especificado en CustomActionExe. Las entradas del registro de solicitudes con error indicarán que se ha alcanzado el valor CustomActionTriggerLimit. El valor predeterminado es 1.
path Atributo de cadena necesario.

Especifica la ruta de acceso para la que desea registrar eventos de seguimiento. La ruta de acceso es relativa a la dirección URL (directorio o directorio virtual). No se pueden usar rutas de acceso secundarias. Además, la ruta de acceso debe ser local en el directorio donde se establece la definición. Los valores comodín se pueden usar, por ejemplo, "*.aspx". Para realizar el seguimiento del documento predeterminado, use "/" como valor de ruta de acceso.

Elementos secundarios

Elemento Descripción
traceAreas Elemento necesario.

Configura qué se va a realizar un seguimiento de una ruta de acceso determinada.
failureDefinitions Elemento necesario.

Define las condiciones en las que se guardarán los seguimientos de una solicitud.

Ejemplo de configuración

En el siguiente ejemplo de configuración se configura el seguimiento en el nivel de servidor en el archivo ApplicationHost.config. Establece el seguimiento de todos los archivos .aspx, usa el elemento <traceAreas> para establecer el proveedor de ASPNET y el realiza el seguimiento en todas las áreas de ASP.NET, que son Infraestructura, Módulo, Página y AppServices. El ejemplo también usa el atributo verbosity para establecer la cantidad de información devuelta al archivo de seguimiento en advertencia. Por último, el ejemplo usa el elemento <failureDefinitions> para realizar un seguimiento de solo las solicitudes que generan un código de estado HTTP 404.

<tracing>
   <traceFailedRequests>
      <add path="*.aspx">
         <traceAreas>
            <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Warning" />
         </traceAreas>
         <failureDefinitions statusCodes="404" />
      </add>
   </traceFailedRequests>
</tracing>

Código de ejemplo

Los siguientes ejemplos habilitan el seguimiento detallado de solicitudes erróneas para errores HTTP 500 en contenido ASP.NET en todas las solicitudes a páginas *.aspx.

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/tracing/traceFailedRequests /+"[path='*.aspx']" 

appcmd.exe set config "Contoso" -section:system.webServer/tracing/traceFailedRequests /+"[path='*.aspx'].traceAreas.[provider='ASPNET',areas='Infrastructure,Module,Page,AppServices',verbosity='Verbose']" 

appcmd.exe set config "Contoso" -section:system.webServer/tracing/traceFailedRequests /[path='*.aspx'].failureDefinitions.statusCodes:"500"

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetWebConfiguration("Contoso");
         ConfigurationSection traceFailedRequestsSection = config.GetSection("system.webServer/tracing/traceFailedRequests");
         ConfigurationElementCollection traceFailedRequestsCollection = traceFailedRequestsSection.GetCollection();

         ConfigurationElement addElement = traceFailedRequestsCollection.CreateElement("add");
         addElement["path"] = @"*.aspx";

         ConfigurationElementCollection traceAreasCollection = addElement.GetCollection("traceAreas");
         ConfigurationElement addElement1 = traceAreasCollection.CreateElement("add");
         addElement1["provider"] = @"ASPNET";
         addElement1["areas"] = @"Infrastructure,Module,Page,AppServices";
         addElement1["verbosity"] = @"Verbose";
         traceAreasCollection.Add(addElement1);

         ConfigurationElement failureDefinitionsElement = addElement.GetChildElement("failureDefinitions");
         failureDefinitionsElement["statusCodes"] = @"500";
         traceFailedRequestsCollection.Add(addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Contoso")
      Dim traceFailedRequestsSection As ConfigurationSection = config.GetSection("system.webServer/tracing/traceFailedRequests")
      Dim traceFailedRequestsCollection As ConfigurationElementCollection = traceFailedRequestsSection.GetCollection

      Dim addElement As ConfigurationElement = traceFailedRequestsCollection.CreateElement("add")
      addElement("path") = "*.aspx"
      Dim traceAreasCollection As ConfigurationElementCollection = addElement.GetCollection("traceAreas")
      Dim addElement1 As ConfigurationElement = traceAreasCollection.CreateElement("add")
      addElement1("provider") = "ASPNET"
      addElement1("areas") = "Infrastructure,Module,Page,AppServices"
      addElement1("verbosity") = "Verbose"
      traceAreasCollection.Add(addElement1)

      Dim failureDefinitionsElement As ConfigurationElement = addElement.GetChildElement("failureDefinitions")
      failureDefinitionsElement("statusCodes") = "500"
      traceFailedRequestsCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso";
var traceFailedRequestsSection = adminManager.GetAdminSection("system.webServer/tracing/traceFailedRequests", "MACHINE/WEBROOT/APPHOST/Contoso");
var traceFailedRequestsCollection = traceFailedRequestsSection.Collection;

var addElement = traceFailedRequestsCollection.CreateNewElement("add");
addElement.Properties.Item("path").Value = "*.aspx";
var traceAreasCollection = addElement.ChildElements.Item("traceAreas").Collection;

var addElement1 = traceAreasCollection.CreateNewElement("add");
addElement1.Properties.Item("provider").Value = "ASPNET";
addElement1.Properties.Item("areas").Value = "Infrastructure,Module,Page,AppServices";
addElement1.Properties.Item("verbosity").Value = "Verbose";
traceAreasCollection.AddElement(addElement1);

var failureDefinitionsElement = addElement.ChildElements.Item("failureDefinitions");
failureDefinitionsElement.Properties.Item("statusCodes").Value = "500";
traceFailedRequestsCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso"
Set traceFailedRequestsSection = adminManager.GetAdminSection("system.webServer/tracing/traceFailedRequests", "MACHINE/WEBROOT/APPHOST/Contoso")
Set traceFailedRequestsCollection = traceFailedRequestsSection.Collection

Set addElement = traceFailedRequestsCollection.CreateNewElement("add")
addElement.Properties.Item("path").Value = "*.aspx"
Set traceAreasCollection = addElement.ChildElements.Item("traceAreas").Collection

Set addElement1 = traceAreasCollection.CreateNewElement("add")
addElement1.Properties.Item("provider").Value = "ASPNET"
addElement1.Properties.Item("areas").Value = "Infrastructure,Module,Page,AppServices"
addElement1.Properties.Item("verbosity").Value = "Verbose"
traceAreasCollection.AddElement addElement1

Set failureDefinitionsElement = addElement.ChildElements.Item("failureDefinitions")
failureDefinitionsElement.Properties.Item("statusCodes").Value = "500"
traceFailedRequestsCollection.AddElement addElement

adminManager.CommitChanges()