Solucionar problemas de solicitações com falha usando o rastreamento no IIS 7
Aplica-se a: Serviços de Informações da Internet 7.0
Observação
Este artigo se aplica ao IIS 7.0. Para versões mais recentes, consulte Solucionar problemas de solicitações com falha usando o rastreamento no IIS 8.5.
O rastreamento baseado em solicitações está disponível tanto em servidores IIS autônomos quanto em aplicativos Web do Azure e fornece uma maneira de determinar o que exatamente está acontecendo com suas solicitações e por que, se você puder reproduzir o problema que está enfrentando. Problemas como desempenho ruim em algumas solicitações ou falhas relacionadas à autenticação em outras solicitações ou o erro do servidor 500 do ASP ou ASP.NET muitas vezes podem ser difíceis de solucionar problemas — a menos que você tenha capturado o rastreamento do problema quando ele ocorre. Este artigo discute o rastreamento de solicitação com falha no servidor do IIS. Para obter informações sobre como fazer isso com aplicativos Web do Azure, consulte Solucionar problemas de um aplicativo no Serviço de Aplicativo do Azure usando o Visual Studio.
O Rastreamento de Solicitação com Falha foi projetado para fazer buffer dos eventos de rastreamento para uma solicitação e apenas liberá-los para o disco se a solicitação falhar, em que você fornecerá a definição de "falha". Se você quiser saber por que está recebendo 404.2 mensagens de erro ou iniciar a solicitação suspensa, use Rastreamento de Solicitação Com Falha.
As tarefas ilustradas neste artigo incluem:
- Habilitando o módulo rastreamento de solicitação com falha.
- Configurando a semântica de log de rastreamento de solicitação com falha.
- Definindo a URL para a qual manter rastreamentos de solicitação com falha, incluindo definições de falha e áreas a serem rastreadas.
- Gerando a condição de falha e exibindo o rastreamento resultante.
Pré-requisitos
Instalar o IIS
Você deve instalar o IIS 7 ou superior antes de poder executar as tarefas neste artigo. Navegue até http://localhost/
para ver se o IIS está instalado. Se o IIS não estiver instalado, consulte Instalando o IIS no Windows Server 2008 para obter instruções de instalação. Ao instalar o IIS, verifique se você também instala os seguintes recursos:
- ASP.NET (em World Wide Web Services - Application Development Features - ASP.NET)
- Rastreamento (em Rastreamento deDiagnóstico - e Integridade do World Wide Web Services - )
Entrar como administrador
Verifique se a conta que você usa para fazer logon é a conta de administrador ou está no grupo Administradores.
Observação
Estar no grupo Administradores não concede direitos de usuário de administrador completos por padrão. Você deve executar aplicativos como administrador, o que você pode fazer clicando com o botão direito do mouse no ícone do aplicativo e selecionando Executar como administrador.
Fazer um backup
Você deve fazer um backup da configuração antes de fazer as tarefas nas seções a seguir.
Para fazer um backup da configuração, siga estas etapas:
Selecione Iniciar>todos os acessórios de> programas.
Clique com o botão direito do mouse em Prompt de Comando e selecione Executar como administrador.
Em um prompt de comando, execute o seguinte comando:
%windir%\system32\inetsrv\appcmd add backup cleanInstall
Criar conteúdo de exemplo
Navegue até
%systemdrive%\inetpub\wwwroot
.Mova o conteúdo para um local seguro (caso deseje restaurar o conteúdo existente) ou exclua-o.
Crie um arquivo em branco e nomeie-o test.asp.
No prompt de comando, navegue até o arquivo test.asp em \inetpub\wwwroot.
No arquivo test.asp , cole o seguinte conteúdo:
<h2>Failed Request Tracing Lab</h2><br> <br>Today's date is <% response.write(Date()) %>
Desabilitar ASP
O ASP deve estar desabilitado para essa tarefa. O ASP está desabilitado apenas como um exemplo e para as finalidades das tarefas neste artigo.
Para desabilitar o ASP
Abra o Gerenciador do IIS (Serviços de Informações da Internet).
Clique duas vezes em Restrições de ISAPI e CGI.
Selecione Páginas do Servidor Ativo. No painel Ações , selecione Negar para desabilitar o ASP.
Habilitar rastreamento de solicitação com falha
Depois de habilitar o Rastreamento de Solicitação com Falha, você precisará configurar onde os arquivos de log residirão. Nesta tarefa, você habilitará o Rastreamento de Solicitação com Falha para o Site Padrão e especificará onde colocar os arquivos de log. Em seguida, você configurará a falha para a qual gerar logs de falha.
Etapa 1: habilitar o rastreamento de solicitação com falha para o site e configurar o Diretório de Arquivos de Log
Abra um prompt de comando com os direitos do usuário do administrador e navegue até %systemdrive%\windows\system32\inetsrv.
Execute
inetmgr
para abrir o IIS Manager.No painel Connections, expanda o nome do computador, expanda Sites e selecione Site Padrão.
No painel Ações , em Configurar, selecione Rastreamento de Solicitação com Falha.
Na caixa de diálogo Editar Configurações de Rastreamento de Solicitação com Falha no Site da Web , configure o seguinte:
- Selecione a caixa de seleção Habilitar .
- Mantenha os padrões para as outras configurações.
Selecione OK.
O registro em log de rastreamento de solicitação com falha agora está habilitado para o Site Da Web Padrão. Verifique o arquivo %windir%\system32\inetsrv\config\applicationHost.config para confirmar se a configuração é a seguinte:
<system.applicationHost>
<sites>
<!-- site & app defaults -->
<site name="Default Web Site" id="1">
<!-- other site configuration -->
<traceFailedRequestsLogging enabled="true" />
</site>
</sites>
</system.applicationHost>
Etapa 2: configurar suas definições de falha
Nesta etapa, você configurará as definições de falha para sua URL, incluindo quais áreas rastrear. Você solucionará problemas de um 404.2 que é retornado pelo IIS para quaisquer solicitações para extensões que ainda não foram habilitadas. Isso ajuda você a determinar quais extensões específicas você precisará habilitar.
Abra um prompt de comando com os direitos do usuário do administrador e navegue até %systemdrive%\windows\system32\inetsrv.
Execute
inetmgr
para abrir o IIS Manager.No painel Connections, expanda o nome do computador, expanda Sites e selecione Site Padrão.
Clique duas vezes em Regras de rastreamento de solicitação com falha.
Selecione Concluir.
No painel Ações , selecione Adicionar.
No assistente Adicionar regra de rastreamento de solicitação com falha , na página Especificar Conteúdo para Rastrear , selecione Todo o conteúdo (*). Selecione Avançar.
Na página Definir Condições de Rastreamento, selecione a caixa de seleção Status code(s) e insira 404.2 como o código status a ser rastreado.
Selecione Avançar.
Na página Selecionar Provedores de Rastreamento , em Provedores, selecione a caixa de seleção WWW Server . Em Áreas, selecione a caixa de seleção Segurança e desmarque todas as outras caixas de seleção.
O problema que você está gerando faz com que um evento de rastreamento de erro de segurança seja gerado. Em geral, problemas de autenticação e autorização (incluindo problemas de lista de restrições isAPI) podem ser diagnosticados usando a configuração da área www server - segurança para rastreamento. No entanto, como a folha de estilos FREB.xsl ajuda a realçar erros e avisos, você ainda pode usar a configuração padrão para registrar todos os eventos em todas as áreas e provedores. Em Verbosity, selecione Verbose.
Selecione Concluir. Você deve ver a seguinte definição para o Site Padrão:
O Gerenciador do IIS grava a configuração no %windir%\system32\inetsrv\config\applicationHost.config
arquivo usando uma <location>
marca. A configuração deve ser a seguinte:
<location path="Default Web Site">
<system.webServer>
<tracing>
<traceFailedRequests>
<add path="*">
<traceAreas>
<add provider="WWW Server" areas="Security" verbosity="Verbose" />
</traceAreas>
<failureDefinitions statusCodes="404.2" />
</add>
</traceFailedRequests>
</tracing>
</system.webServer>
</location>
Testar e exibir o arquivo de log de solicitação de falha
Nesta tarefa, você gerará uma solicitação com falha e exibirá o log de rastreamento resultante. Você já configurou o IIS para capturar logs de rastreamento para http://localhost/*.asp
solicitações que falham com um código de resposta HTTP de 404.2. Agora verifique se ele funciona.
Etapa 1: gerar um erro e o arquivo de log de solicitação de falha
Abra uma nova janela de Explorer da Internet.
Insira o seguinte endereço:
http://localhost/test.asp
.Você obtém um erro "Erro HTTP 404.2 – Não Encontrado".
Etapa 2: exibir o arquivo de log de solicitação de falha
Agora que você gerou uma solicitação com falha, abra um prompt de comando com os direitos do usuário do administrador e navegue até %systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1.
Execute o início para iniciar uma janela de Explorer da Internet do diretório.
Observe algumas coisas aqui: quando o IIS grava o arquivo de log de solicitação com falha, ele grava um arquivo por solicitação com falha. Uma folha de estilos freb.xsl também é escrita, uma por diretório. Isso ajuda ao exibir os arquivos de log de solicitação de falha resultantes (como fr000001.xml neste exemplo).
Clique com o botão direito do mouse no arquivo de log para o erro 404.2 e selecione Abrir com>a Internet Explorer. Se essa for a primeira vez que você está abrindo um arquivo de rastreamento de solicitação com falha, você deve adicionar about:internet à lista de sites confiáveis, já que a Configuração de Segurança Aprimorada do Explorer da Internet está habilitada por padrão. Nesse caso, você verá o seguinte:
Na caixa de diálogo Internet Explorer, selecione Adicionar... para adicionar sobre:Internet à lista de sites confiáveis. Isso permite que o XSL funcione. Você verá o seguinte depois de adicionar sobre:Internet à lista de sites confiáveis:
Um resumo da solicitação com falha é registrado na parte superior, com a tabela Erros & Avisos identificando quaisquer eventos que sejam ERRO DE AVISO, ERRO OU ERRO CRÍTICO na Gravidade. Neste exemplo, o nível de gravidade DE AVISO é devido à RESTRIÇÃO ISAPI. A imagem que você tentou carregar foi %windir%\system32\inetsrv\asp.dll.
Abra o arquivo XML bruto diretamente usando um editor de texto e examine o conteúdo de cada evento.
Resumo
Você concluiu duas tarefas: configurou o Rastreamento de Solicitação com Falha para capturar rastreamentos de qualquer solicitação que o IIS retorna com um código 404.2 status e verificou que o IIS capturou o rastreamento para sua solicitação. Você também verificou que o arquivo de logfreb.xml não continha nenhuma outra solicitação para as solicitações feitas porque as solicitações não tinham um código de retorno 404.2. Ao consultar o arquivo de log de falha, você determinou que a causa da falha foi que a extensão foi desabilitada para essa solicitação. Você pode experimentar outras páginas não HTML (como .gif ou arquivos .jpg) e observar que o arquivo de log NÃO adiciona esses rastreamentos. Você também pode alterar isso facilmente para 404 ou capturar a falha se a solicitação levar mais de 30 segundos definindo o campo timeTaken em suas falhasDefinitions.
Restaurar seu backup
Agora que você concluiu as tarefas neste artigo, você pode restaurar o backup da configuração. Execute o seguinte comando com direitos de usuário do administrador:
%windir%\system32\inetsrv\appcmd restore backup cleanInstall