Compartilhar via


Adicionando solicitações de rastreamento com falha <adicionar>

Visão geral

Cada elemento <add> na coleção <traceFailedRequests> pode incluir um elemento <traceAreas> que define os provedores de rastreamento e as áreas específicas do provedor que gerarão eventos de rastreamento para a regra de rastreamento atual. Ele também pode conter um elemento <failureDefinition> que você pode usar para configurar as condições de falha para uma solicitação, incluindo o tempo necessário para o servidor responder, o código de status HTTP e a quantidade de informações incluídas no rastreamento.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <add> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <add> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <add> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <add> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <add> da coleção <traceFailedRequests> 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 Server Roles page, with the Health and Diagnostics tree expanded and Tracing selected and outlined. .
  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 Internet World Wide Web tree in Control Panel, with Health and Diagnostics expanded and Tracing selected.- 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 Select Role Services page of the Add Role Services Wizard, with Health and Diagnostics expanded and Tracing selected.
  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 World Wide Web Services tree, with Health and Diagnostics expanded and Tracing selected and outlined.

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 Internet Information Services Manager dialog, with Failed Request Tracing selected in Actions pane.

  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 Edit Web Site Failed Request Tracing Settings dialog box, with Enable check box selected to enable tracing.

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 Internet Information Services Manager dialog, with Failed Request Tracing Rules selected in Home pane.

  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 Specify Content to Trace page of the Add Failed Request Tracing Rule Wizard, with content type selected.

  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 Define Trace Conditions page of Add Failed Request Tracing Rule dialog, with conditions selected.

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

  8. Na página Selecionar Provedores de Rastreamento, selecione um ou mais níveis de detalhamento em Detalhamento.
    Screenshot of Select Trace Providers page of Add Failed Request Tracing Rule dialog, with Verbosity levels 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

Atributos

Atributo Descrição
customActionExe Atributo de cadeia de caracteres opcional.

Especifica um arquivo executável a ser executado quando uma condição de falha é atingida (por exemplo, para executar um arquivo VBScript, especifique "Cscript.exe"). Todas as variáveis de linha de comando serão expandidas. Por exemplo, "%windir%" será expandido para o caminho do diretório do Windows.
customActionParams Atributo de cadeia de caracteres opcional.

Contém parâmetros a serem passados para o arquivo executável especificado no atributo customActionExe. Variáveis de linha de comando como "%windir%" serão expandidas. Você também pode usar variáveis de parâmetro como "%1" e "%2" na cadeia de caracteres especificada (por exemplo, "MyScript.vbs %1 %2").
customActionTriggerLimit Atributo uint opcional.

Especifica o número máximo de vezes que o programa especificado pelo atributo customActionExe será executado durante o tempo de vida do processo de trabalho para a definição de solicitação com falha. Esse valor é redefinido sempre que o processo de trabalho é reciclado. Os valores permitidos são de 0 a 10000. Esse recurso pode ser usado, por exemplo, para criar um despejo de memória após a próxima falha, mas não após falhas subsequentes.

Observação: se o valor CustomActionTriggerLimit especificado for atingido durante o tempo de execução do processo de trabalho, as solicitações com falha subsequentes serão registradas, mas o programa especificado em CustomActionExe não será executado. As entradas no log de solicitações com falha indicarão que o valor CustomActionTriggerLimit foi atingido. O padrão é 1.
path Atributo de cadeia de caracteres obrigatório.

Especifica o caminho para o qual você deseja registrar eventos de rastreamento. O caminho é relativo à URL (diretório virtual/diretório). Subcaminhos não podem ser usados. Além disso, o caminho deve ser local para o diretório da definição. Valores curinga podem ser usados, por exemplo, "*.aspx". Para rastrear o documento padrão, use "/" como o valor do caminho.

Elementos filho

Elemento Descrição
traceAreas Elemento necessário.

Configura o que rastrear para um determinado caminho.
failureDefinitions Elemento necessário.

Define as condições nas quais salvar rastreamentos para uma solicitação.

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