Seguimiento <tracing>
Información general
El grupo de secciones <tracing>
contiene opciones de seguimiento de solicitudes con error que ha configurado, así como definiciones de proveedor de seguimiento proporcionadas durante la instalación o por usted en el servidor web de Internet Information Services (IIS) 7.
El seguimiento basado en solicitudes proporciona una excelente manera de averiguar qué sucede exactamente con las solicitudes y por qué, siempre que pueda reproducir el problema experimenta el servidor. Problemas como un rendimiento deficiente en algunas solicitudes, errores relacionados con la autenticación de otras solicitudes, errores de código de estado HTTP 500 provenientes de Active Server Pages (ASP) o ASP.NET pueden ser muy difíciles de solucionar a menudo, a menos que haya capturado el seguimiento del problema cuando ocurre. El seguimiento de solicitudes con error está diseñado para almacenar en búfer los eventos de seguimiento de una solicitud y vaciarlos en el disco cuando una solicitud da error según la definición de error que proporcione.
IIS 7 solo muestra estos mensajes tras instalar y habilitar el módulo de seguimiento. Almacena estos mensajes y otra información de seguimiento en un archivo especial con el nombre archivo de registro de seguimiento de eventos con errores. Puede abrir estos archivos en un explorador web y revisar los eventos de seguimiento generados por IIS, eventos de seguimiento personalizados generados por módulos de terceros o ambos. De forma predeterminada, IIS 7 almacena estos archivos en la carpeta %systemroot%\inetpub\logs\FailedReqLogFiles.
La sección <tracing>
contiene un elemento <traceFailedRequests>
y un elemento <traceProviderDefinition>
. El primer elemento configura el seguimiento de solicitudes con error en el sitio web o aplicación, mientras que el segundo define los proveedores de seguimiento disponibles en el servidor. De forma predeterminada, IIS 7 incluye proveedores de seguimiento para las extensiones ASP, ASP.NET, API de Internet Server (ISAPI) y el propio servidor web. También puede incluir proveedores de seguimiento personalizados.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El elemento <tracing> no se modificó en IIS 10.0. |
IIS 8.5 | El elemento <tracing> no se modificó en IIS 8.5. |
IIS 8.0 | El elemento <tracing> no se modificó en IIS 8.0. |
IIS 7.5 | El elemento <tracing> no se modificó en IIS 7.5. |
IIS 7.0 | El elemento <tracing> 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
- En la barra de tareas, haga clic en Administrador del servidor.
- En Administrador del servidor, haga clic en el menú Administrar y, después, haga clic en Agregar roles y características.
- 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.
- 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.
.
- En la página Seleccionar características, haz clic en Siguiente.
- En la página Confirmar selecciones de instalación, haga clic en Instalar.
- En la página Resultados , haga clic en Cerrar.
Windows 8 o Windows 8.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.
- En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
- Expanda Internet Information Services, expanda World Wide Web Services, expanda Mantenimiento y diagnóstico y, a continuación, seleccione Seguimiento.
: haga clic en Aceptar.
- Haga clic en Cerrar.
Windows Server 2008 o Windows Server 2008 R2
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, luego, haga clic en Administrador del servidor.
- En el panel de jerarquía del Administrador del servidor, expanda Roles y, luego, haga clic en Servidor web (IIS).
- En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, luego, haga clic en Agregar servicios de rol.
- En la página Seleccionar servicios de rol del Asistente para agregar servicios de rol, seleccione Seguimiento y haga clic en Siguiente.
- En la página Confirmar selecciones de instalación, haz clic en Instalar.
- En la página Resultados , haga clic en Cerrar.
Windows Vista o Windows 7
- En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
- En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
- Expanda Internet Information Services, después Servicios World Wide Web y, a continuación Estado y diagnóstico.
- Seleccione Seguimiento y después haga clic en Aceptar.
Procedimientos
Cómo habilitar el seguimiento
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).
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.
En el panel Acciones, haga clic en Seguimiento de solicitudes con error...
En el cuadro de diálogo Editar configuración de seguimiento de solicitudes con error de sitio web, marque 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.
Cómo configurar definiciones de errores
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).
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.
En el panel Inicio, haga doble clic en Reglas de seguimiento de solicitudes con error.
En el panel Acciones, haga clic en Agregar....
En la página Especificar contenido en seguimiento del asistente para agregar reglas de seguimiento de solicitudes con error, seleccione el tipo de contenido del que desea realizar el seguimiento y, a continuación, haga clic en Siguiente.
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.
En la página Seleccionar proveedores de seguimiento, seleccione uno o varios de los proveedores de seguimiento en Proveedores.
En la página Seleccionar proveedores de seguimiento, seleccione uno o varios de los niveles de detalle en Detalle.
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.
Haga clic en Finalizar
Configuración
Puede configurar el grupo de secciones <tracing>
a nivel de servidor en el archivo ApplicationHost.config o a nivel de sitio, nivel de aplicación o nivel de directorio en un archivo Web.config.
Atributos
Ninguno.
Elementos secundarios
Elemento | Descripción |
---|---|
traceFailedRequests |
Elemento opcional. Contiene la configuración para el seguimiento de las solicitudes con error en el servidor web. |
traceProviderDefinitions |
Elemento opcional. Define los proveedores de seguimiento que se usan en el servidor web. |
Ejemplo de configuración
El siguiente ejemplo de configuración 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 Infrastructure, Module, Page y AppServices. El ejemplo también usa el atributo verbosity para establecer la cantidad de información devuelta al archivo de seguimiento en warning. 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 con error 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()