Rastreamento <rastreamento>

Visão geral

O grupo de seções <tracing> contém configurações de rastreamento de solicitação com falha que você configurou e contém definições de provedor de rastreamento fornecidas durante a instalação ou por você no servidor Web do IIS (Serviços de Informações da Internet) 7.

O rastreamento baseado em solicitação fornece uma ótima maneira de descobrir o que exatamente está acontecendo com suas solicitações e por que isso está acontecendo, desde que você possa reproduzir o problema que o servidor está enfrentando. Problemas como desempenho ruim em algumas solicitações, falhas relacionadas à autenticação em outras solicitações ou erros de código de status HTTP 500 do ASP (Active Server Pages) ou ASP.NET geralmente podem ser incrivelmente difíceis de solucionar, a menos que você tenha capturado o rastreamento do problema quando ele ocorrer. O rastreamento de solicitação com falha foi projetado para armazenar em buffer os eventos de rastreamento de uma solicitação e apenas liberá-los para o disco quando uma solicitação falhar com base em uma definição de falha fornecida por você.

O IIS 7 só exibe essas mensagens depois de instalar e habilitar o módulo de rastreamento. Ele armazena essas mensagens e outras informações de rastreamento em um arquivo especial chamado arquivo de log de rastreamento de eventos com falha. Você pode abrir esses arquivos em um navegador da Web e revisar os eventos de rastreamento gerados pelo IIS, os eventos de rastreamento personalizados gerados por módulos de terceiros ou ambos. Por padrão, o IIS 7 armazena esses arquivos na pasta %systemroot%\inetpub\logs\FailedReqLogFiles.

A seção <tracing> contém um elemento <traceFailedRequests> e um elemento <traceProviderDefinition>. O primeiro elemento configura o rastreamento de solicitação com falha para seu site ou aplicativo e o segundo elemento define os provedores de rastreamento disponíveis no servidor. Por padrão, o IIS 7 inclui provedores de rastreamento para extensões ASP, ASP.NET, ISAPI (Internet Server API) e o próprio servidor Web. Você também pode incluir provedores de rastreamento personalizados.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <tracing> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <tracing> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <tracing> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <tracing> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <tracing> foi introduzido no IIS 7.0.
IIS 6,0 N/D

Instalação

Depois de concluir a instalação padrão do IIS 7 e posterior, você deve instalar o serviço de função de rastreamento para usar o rastreamento de solicitação com falha. Depois de instalar o serviço de função, você ainda deve habilitar o rastreamento de solicitação com falha no nível do site, do aplicativo ou do diretório.

Windows Server 2012 R2 ou Windows Server 2012

  1. Na barra de tarefas, clique em Gerenciador do Servidor.
  2. No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
  3. No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.
  4. Na página Funções de Servidor, expanda Servidor Web (IIS), Servidor Web, Integridade e Diagnóstico e selecione Rastreamento. Clique em Avançar.
    Screenshot of the Server Roles page. Tracing is highlighted in the expanded menu. .
  5. Na página Selecionar recursos, clique em Avançar.
  6. Na página Confirmar seleções de instalação, clique em Instalar.
  7. Na página Resultados , clique em Fechar.

Windows 8 ou Windows 8.1

  1. Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
  3. Expanda Serviços de Informações da Internet, expanda Serviços da World Wide Web, expanda Integridade e Diagnóstico e selecione Rastreamento.
    Screenshot of the Windows Features dialog box. Tracing is highlighted in the drop down menu.- Clique em OK.
  4. Clique em Fechar.

Windows Server 2008 R2 ou Windows Server 2008

  1. Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
  2. No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
  3. No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
  4. Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, selecione Rastreamento e clique em Avançar.
    Screenshot of the Add Role Services wizard displaying the Role Services page. Tracing is highlighted in the menu.
  5. Na página Confirmar Seleções de Instalação, clique em Instalar.
  6. Na página Resultados , clique em Fechar.

Windows Vista ou Windows 7

  1. Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
  3. Expanda Serviços de Informações da Internet, Serviços da World Wide Web e Integridade e Diagnóstico.
  4. Selecione Rastreamentoe clique em OK.
    Screenshot of the Windows Features dialog box. Tracing is highlighted in the expanded menu.

Instruções

Como habilitar o rastreamento

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, selecione a conexão do servidor, o site, o aplicativo ou o diretório para o qual você deseja configurar o rastreamento de solicitação com falha.

  3. No painel Ações, clique em Rastreamento de Solicitação com Falha...
    Screenshot of the I I S Manager window displaying the Default Web Site Home page.

  4. Na caixa de diálogo Editar Configurações de Rastreamento de Solicitação com Falha do Site, marque a caixa de seleção Habilitar para habilitar o rastreamento, deixe o valor padrão ou digite um novo diretório em que você deseja armazenar arquivos de log de solicitação com falha na caixa Diretório, digite o número de arquivos de rastreamento de solicitação com falha que você deseja armazenar na caixa Número máximo de arquivos de rastreamento e clique em OK.
    Screenshot of the Edit Web Site Failed Request Tracing Settings dialog box.

Como configurar as definições de falha

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, acesse a conexão, o site, o aplicativo ou o diretório para o qual você deseja configurar o rastreamento de solicitação com falha.

  3. No painel Página Inicial, clique duas vezes em Regras de Rastreamento de Solicitação com Falha.
    Screenshot of the I I S Manager displaying the Default Web Site Home page. The icon for Failed Request Tracing Rules is highlighted.

  4. No painel Ações, clique em Adicionar...

  5. Na página Especificar Conteúdo a Rastrear do Assistente para Adicionar Regra de Rastreamento de Solicitação Com Falha, selecione o tipo de conteúdo que deseja rastrear e, em seguida, clique em Avançar.
    Screenshot of the Add Failed Request Tracing Rule wizard displaying the Specify Content to Trace page.

  6. Na página Definir Condições de Rastreamento, selecione as condições que deseja rastrear e clique em Avançar. As condições de rastreamento podem incluir qualquer combinação de códigos de status, um limite de tempo que uma solicitação deve levar ou a gravidade do evento. Se você especificar todas as condições, a primeira condição que for atendida gerará o arquivo de log de rastreamento de solicitações com falha.
    Screenshot of the Add Failed Request Tracing Rule wizard displaying the Define Content to Trace page.

  7. Na página Selecionar Provedores de Rastreamento, selecione um ou mais dos provedores de rastreamento em Provedores.
    Screenshot of the Add Failed Request Tracing Rule wizard displaying the Select Trace Providers page.

  8. Na página Selecionar Provedores de Rastreamento, selecione um ou mais níveis de detalhamento em Detalhamento.
    Screenshot of the Add Failed Request Tracing Rule wizard displaying the Select Trace Providers page. W W W Server and Warnings are selected.

  9. Se você selecionou o provedor de rastreamento ASPNET ou Servidor WWW na etapa 8, selecione uma ou mais áreas funcionais para o provedor rastrear em Áreas da página Selecionar Provedores de Rastreamento.

  10. Clique em Concluir.

Configuração

Você pode configurar o grupo de seções <tracing> no nível do servidor no arquivo ApplicationHost.config ou no nível do site, nível do aplicativo ou nível do diretório em um arquivo Web.config.

Atributos

Nenhum.

Elementos filho

Elemento Descrição
traceFailedRequests Elemento opcional.

Contém configurações para rastrear solicitações com falha no servidor Web.
traceProviderDefinitions Elemento opcional.

Define os provedores de rastreamento que são usados no servidor Web.

Exemplo de configuração

O exemplo de configuração a seguir configura o rastreamento no nível do servidor no arquivo ApplicationHost.config. Ele define o rastreamento para todos os arquivos .aspx, usa o elemento <traceAreas> para definir o provedor ASPNET e rastrear em todas as áreas ASP.NET, que são Infraestrutura, Módulo, Página e AppServices. O exemplo também usa o atributo verbosity para definir a quantidade de informações retornadas ao arquivo de rastreamento como aviso. Por fim, o exemplo usa o elemento <failureDefinitions> para rastrear somente solicitações que geram um código de status 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>

Exemplo de código

Os exemplos a seguir habilitam o rastreamento detalhado de solicitações com falha para erros HTTP 500 em conteúdo ASP.NET em todas as solicitações para 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()