Compartilhar via


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:

  1. Selecione Iniciar>todos os acessórios de> programas.

  2. Clique com o botão direito do mouse em Prompt de Comando e selecione Executar como administrador.

    Captura de tela que mostra o menu de contexto do Prompt de Comando, com Executar como administrador selecionado.

  3. Em um prompt de comando, execute o seguinte comando:

    %windir%\system32\inetsrv\appcmd add backup cleanInstall
    

Criar conteúdo de exemplo

  1. Navegue até %systemdrive%\inetpub\wwwroot.

  2. Mova o conteúdo para um local seguro (caso deseje restaurar o conteúdo existente) ou exclua-o.

  3. Crie um arquivo em branco e nomeie-o test.asp.

  4. No prompt de comando, navegue até o arquivo test.asp em \inetpub\wwwroot.

  5. 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

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

  2. Clique duas vezes em Restrições de ISAPI e CGI.

    Captura de tela que mostra as restrições I I S Manager with I S A P I e C G I selecionadas.

  3. Selecione Páginas do Servidor Ativo. No painel Ações , selecione Negar para desabilitar o ASP.

    Captura de tela que mostra o painel I S A P I e C G I Restrictions and Actions aberto.

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

  1. Abra um prompt de comando com os direitos do usuário do administrador e navegue até %systemdrive%\windows\system32\inetsrv.

  2. Execute inetmgr para abrir o IIS Manager.

  3. No painel Connections, expanda o nome do computador, expanda Sites e selecione Site Padrão.

  4. No painel Ações , em Configurar, selecione Rastreamento de Solicitação com Falha.

    Captura de tela que mostra o rastreamento de solicitação com falha em Configurar.

  5. 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.

    Captura de tela que mostra a caixa de diálogo Editar Configurações de Rastreamento de Solicitação com Falha no Site da Web, com Habilitar selecionado.

  6. 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.

  1. Abra um prompt de comando com os direitos do usuário do administrador e navegue até %systemdrive%\windows\system32\inetsrv.

  2. Execute inetmgr para abrir o IIS Manager.

  3. No painel Connections, expanda o nome do computador, expanda Sites e selecione Site Padrão.

  4. Clique duas vezes em Regras de rastreamento de solicitação com falha.

    Captura de tela que mostra o painel Inicial do Site da Web Padrão e As Regras de Rastreamento de Solicitação Com Falha estão selecionadas.

  5. Selecione Concluir.

  6. No painel Ações , selecione Adicionar.

  7. 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.

    Captura de tela que mostra o assistente Adicionar Regra de Rastreamento de Solicitação Com Falha, com Todo o conteúdo selecionado.

  8. 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.

    Captura de tela que mostra a página Definir Condições de Rastreamento. O código de status é selecionado com 404 ponto 2 no campo Código status.

  9. Selecione Avançar.

  10. 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.

    Captura de tela que mostra a página Selecionar Provedores de Rastreamento. O W W W Server é selecionado em Provedores e a segurança é selecionada em Verbose.

  11. Selecione Concluir. Você deve ver a seguinte definição para o Site Padrão:

    Captura de tela que mostra o painel Regras de Rastreamento de Solicitação Com Falha. O W W W Server está listado em Provedores Associados.

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

  1. Abra uma nova janela de Explorer da Internet.

  2. Insira o seguinte endereço: http://localhost/test.asp.

  3. Você obtém um erro "Erro HTTP 404.2 – Não Encontrado".

    Captura de tela que mostra uma página da Web intitulada Erro do Servidor no Site Padrão do Aplicativo. Em Resumo de Erros, ele diz que o erro H T P 404 ponto 2 não foi encontrado.

Etapa 2: exibir o arquivo de log de solicitação de falha

  1. 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.

  2. Execute o início para iniciar uma janela de Explorer da Internet do diretório.

    Captura de tela que mostra a Internet Explorer navegando até o caminho W 3 S V C 1. Dois arquivos estão listados, freb e f r 0 0 0 0 1.

  3. 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).

  4. 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:

    Captura de tela que mostra uma caixa de diálogo para a Configuração de Segurança Aprimorada Explorer Internet. Sobre a internet do colon está bloqueada.

  5. 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:

    Captura de tela que mostra o Explorer da Internet. A guia Resumo da Solicitação está selecionada e dois avisos estão listados.

    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.

  6. 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