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