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
- Na barra de tarefas, clique em Gerenciador do Servidor.
- No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
- 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.
- Na página Funções de Servidor, expanda Servidor Web (IIS), Servidor Web, Integridade e Diagnóstico e selecione Rastreamento. Clique em Avançar.
. - Na página Selecionar recursos, clique em Avançar.
- Na página Confirmar seleções de instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows 8 ou Windows 8.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.
- Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
- Expanda Serviços de Informações da Internet, expanda Serviços da World Wide Web, expanda Integridade e Diagnóstico e selecione Rastreamento.
- Clique em OK. - Clique em Fechar.
Windows Server 2008 R2 ou Windows Server 2008
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
- No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
- No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
- 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.
- Na página Confirmar Seleções de Instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows Vista ou Windows 7
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
- Expanda Serviços de Informações da Internet, Serviços da World Wide Web e Integridade e Diagnóstico.
- Selecione Rastreamentoe clique em OK.
Instruções
Como habilitar o rastreamento
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).
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.
No painel Ações, clique em Rastreamento de Solicitação com Falha...
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.
Como configurar as definições de falha
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).
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.
No painel Página Inicial, clique duas vezes em Regras de Rastreamento de Solicitação com Falha.
No painel Ações, clique em Adicionar...
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.
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.
Na página Selecionar Provedores de Rastreamento, selecione um ou mais dos provedores de rastreamento em Provedores.
Na página Selecionar Provedores de Rastreamento, selecione um ou mais níveis de detalhamento em Detalhamento.
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.
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()