Compartilhar via


Como habilitar o rastreamento de solicitação com falha para hospedagem UNC

por Saad Ladki

Configurando rastreamento de solicitação com falha e registro em log para um cenário de hospedagem

Colocar o conteúdo e o código do aplicativo em um compartilhamento UNC para cenários de hospedagem é cada vez mais importante nos servidores de aplicativos Web. Em cenários de hospedagem, é importante poder manter os logs ao lado do conteúdo e do código do aplicativo Web. Os logs incluem os arquivos de log de Rastreamento de Solicitação com Falha, bem como os logs de ocorrência que o IIS registra no site da Web. Este documento orienta você pela criação dos diretórios apropriados, definindo as permissões certas neles e configurando o IIS sobre como usar os diretórios para os vários arquivos de log.

As convenções de nomenclatura básicas para os diretórios de arquivo de log, contas de usuário e configurações de permissões são consistentes com o documento "Passo a passo de hospedagem compartilhada" também disponível neste site. Este passo a passo também faz distinções sobre como executar as várias ações por meio de:

  • Interface do usuário: usando o Gerenciador do IIS ou o Explorer para executar a ação
  • CMD: usando a linha de comando (PowerShell, AppCmd etc.) para executar a ação
  • XML: edite manualmente a configuração para executar a ação.

Configurando o rastreamento de solicitações com falha para um cenário de hospedagem

O Rastreamento de Solicitação com Falha é um recurso de diagnóstico avançado que ajuda desenvolvedores e administradores a determinar onde ocorrem problemas em seus aplicativos e por que eles estão acontecendo. Falha no rastreamento de solicitação após a instalação é bastante difícil de usar por desenvolvedores que não são administradores no computador. Esta seção ajuda a configurar o Rastreamento de Solicitação com Falha para ser acessível pelos desenvolvedores:

  • Desbloquear as seções necessárias para permitir que os desenvolvedores definam suas próprias regras de rastreamento de solicitação com falha para seus aplicativos
  • Configurando o rastreamento de solicitação com falha para fazer logon em um compartilhamento UNC para o proprietário do aplicativo

Delegando <traceFailedRequests> para não administradores

Lembre-se de que há duas seções diferentes de configuração para rastreamento de solicitação com falha:

  • <traceFailedRequestsLogging> : esta seção é sempre restrita aos administradores do IIS. Esta seção permite que os administradores habilitem ou desabilitem o recurso rastreamento de solicitação com falha para um site, configure o número máximo de arquivos de log, o tamanho dos arquivos de log e o diretório em que os arquivos de log devem estar ativos. Por esses motivos, (ou seja, controlar a capacidade de preencher o disco com arquivos de log) os administradores devem manter o controle sobre esta seção.
  • <traceFailedRequests>: esta seção é onde você cria suas definições de falha – quais URLs capturar rastreamentos para e em quais condições salvar esses rastreamentos no disco como XML. Esta é a seção que permitiremos que seja desbloqueada.

Após a instalação do Módulo de Rastreamento de Solicitação com Falha (consulte a solução de problemas de solicitações com falha usando o rastreamento no IIS.net para obter informações sobre a instalação e o uso básico do Rastreamento de Solicitação com Falha), a <traceFailedRequests> seção já está definida para permissões de Leitura/Gravação. Isso permite que os proprietários de aplicativos definam suas próprias regras de rastreamento de solicitação com falha, sem que o administrador defina essas regras para eles.

Interface do usuário: verificando a delegação <de traceFailedRequests> do Gerenciador do IIS

Para verificar se <traceFailedRequests> foi configurado para delegação da interface do usuário do Gerenciador do IIS, faça o seguinte:

  1. Clique em Iniciar e digite inetmgr. Insira as credenciais de administrador se você ainda não for administrador.
  2. Clique no nome do computador e, em seguida , na Delegação de Recursos.
  3. Verifique se as regras de rastreamento de solicitação com falha estão definidas como Leitura/Gravação.

Captura de tela da caixa de diálogo Delegação de Recursos. As regras de rastreamento de solicitação com falha são realçadas.

Isso permite que os desenvolvedores que não têm acesso a ApplicationHost.config criem suas próprias definições de falha em seus arquivos de web.config de aplicativo. Somente quando o administrador ativar o rastreamento de solicitação de falha, as regras entrarão em vigor.

XML: Verificando a delegação <traceFailedRequests> no ApplicationHost.config

Para verificar se <traceFailedRequests> foi configurado para delegação por meio de ApplicationHost.config, faça o seguinte:

  1. Inicie um prompt de comando com privilégios elevados pelo administrador.
  2. Altere os diretórios para %windir%\system32\inetsrv\confige execute notepad applicationHost.config.
  3. Em applicationHost.config, pesquise o nome da seção de cadeia <de caracteres="traceFailedRequests" – esta seção será delegada se for overrideModeDefault="Allow".
<configSections>
...other config sectionGroups...
  <sectionGroup name="system.webServer">
  ...other sections...
    <sectionGroup name="tracing">
      <section name="traceFailedRequests" overrideModeDefault="Allow" />
      ...
    </sectionGroup>
   ...
  </sectionGroup>
</configSections>

Configurando o compartilhamento UNC e as IDs do pool de aplicativos

Para que o IIS possa gravar seus Arquivos de Log de Solicitação com Falha em um compartilhamento UNC, a identidade do processo de trabalho deve receber Controle Total no compartilhamento de rede e no caminho do sistema de arquivos no servidor UNC. Isso ocorre porque ele deve ser capaz de listar o conteúdo do diretório, criar novos arquivos e diretórios de log e excluir arquivos de log antigos.

Se você usar uma das contas internas (como IUSR ou Serviço de Rede) como a ID do pool de aplicativos, essas contas aparecerão como ANÔNIMAs no servidor UNC. É altamenterecomendável que você:

  1. USO DO DOMÍNIO : crie uma conta de usuário de domínio para o pool de aplicativos e, em seguida, use essa ID do pool de aplicativos para ACL no diretório de compartilhamento e sistema de arquivos em que os Arquivos de Log de Solicitação de Falha residem. O servidor Web e o servidor UNC devem ser membros do domínio.
  2. USO NÃO DOMÍNIO : se os servidores UNC e Web não estiverem ingressados no domínio, a mesma conta com a mesma senha de conta deverá ser criada em cada computador. Este é o exemplo usado neste passo a passo.

Interface do usuário: criando a nova conta local no servidor UNC e no servidor Web front-end

Essas instruções devem ser repetidas no servidor UNC, bem como no servidor Web. Criar um usuário chamado "PoolId1", cuja senha será "!p4ssw0rd"

  1. Em um prompt de comando com privilégios elevados ao administrador, execute start lusrmgr.msc.

  2. Clique com o botão direito do mouse na pasta Usuários e selecione Novo Usuário....

  3. Preencha as entradas da caixa de diálogo Novo Usuário da seguinte maneira:

    • Nome de usuário: PoolId1

    • Senha (& Confirmar Senha) : !p4ssw0rd

    • desmarque "O usuário deve alterar a senha no próximo logon"

    • verificar "o usuário não pode alterar a senha"

    • Clique em Criar e feche.

      Captura de tela da caixa de diálogo Novo Usuário é exibida.

Certifique-se de criar o usuário PoolId1 no servidor & Web IIS de front-end do servidor UNC de back-end. Você também precisa adicionar o PoolId1 ao grupo IIS_IUSRS no Servidor Web Front-End. Para fazer isso:

  1. Clique na pasta Grupos no snapin do MMC lusrmgr .
  2. Clique com o botão direito do mouse em IIS_IUSRS e selecione Adicionar ao Grupo.
  3. Clique em Adicionar...e, em seguida, coloque <servername>\PoolId1 como a identidade a ser adicionada.

CMD: Criando a nova conta local no servidor UNC e no servidor Web front-end

Para adicionar a nova identidade PoolId1 da linha de comando, faça o seguinte:

  1. Execute um prompt de comando com privilégios elevados do administrador.

  2. Na janela do prompt de comando, execute os seguintes comandos:

    net user PoolId1 !p4ssw0rd /ADD /passwordchg:no
    
    net localgroup IIS_IUSRS PoolId1 /ADD
    

Observação

O comando "net localgroup" só é necessário no Servidor Web Front-End.

Interface do usuário: criar um novo pool de aplicativos para o site da Web e alterar sua identidade

Parte das diretrizes de hospedagem compartilhada que a equipe do IIS está criando é um novo pool de aplicativos; definir sua identidade para o PoolId1 que acabamos de criar.

  1. No servidor front-end do IIS, execute Start-Inetmgr>.
  2. Clique no nó Pools de Aplicativos na interface do usuário e selecione em Ações –>Adicionar Pool de Aplicativos...
  3. faça o nome Pool_Site1, deixe todas as outras configurações em paz e clique em OK.
  4. Clique com o botão direito do mouse no Pool_Site1 e selecione Configurações Avançadas...
  5. Em Modelo de Processo, selecione a linha Identidade e, em seguida, no botão ... .
  6. Clique no botão Definir e configure a Identidade Personalizada para corresponder à nossa identidade de usuário que acabamos de criar – PoolId1. Clique em OK e OK novamente para alterar a identidade do pool de aplicativos. Você verá:

Captura de tela da caixa de diálogo Configurações Avançadas. A identidade está realçada.

Também devemos soltar um site nesse pool de aplicativos. Use o Site Padrão para fins deste passo a passo. Você também pode criar um novo site para este (SITE1) por meio de INETMGR.exe. Faça o seguinte:

  1. Clique na pasta Sites e, em seguida, no Site Padrão.
  2. No painel Ações à direita, selecione Configurações Básicas...
  3. À direita do Pool de Aplicativos: clique em Selecionar...
  4. Escolha o novo pool de aplicativos Pool_Site1 que acabamos de criar e clique em OK e, em seguida, OK novamente.

CMD: Criar um novo pool de aplicativos para o site e alterar sua identidade

Para executar as etapas acima da linha de comando:

  1. Inicie um prompt de comando com privilégios elevados pelo administrador.

  2. Para adicionar o novo pool de aplicativos, execute o seguinte comando:

    %windir%\system32\inetsrv\appcmd add AppPool -name:Pool_Site1 -processModel.username:ERICDE-DELL-W\PoolId1 -processModel.password:!p4ssw0rd -processModel.identityType:SpecificUser
    

Para definir o aplicativo raiz do Site Padrão a ser executado no Pool_Site1, execute o seguinte comando:

%windir%\system32\inetsrv\appcmd set app -app.name:"Default Web Site/" -applicationPool:Pool_Site1

Criando e bloqueando as ACLs para o compartilhamento UNC

Agora, crie e bloqueie o compartilhamento & UNC de seus diretórios do sistema de arquivos.

CMD: Criando & bloqueio das ACLs para o compartilhamento UNC

No servidor UNC, faça o seguinte:

  1. Crie um caminho do sistema de arquivos (chame-o de conteúdo) em que despejaremos o conteúdo.

  2. Abaixo disso, crie um novo diretório chamado Site1 e, nesse outro diretório chamado Logs, e o diretório final chamado failedReqLogFiles. O que você deve ver é:

    • g:\content

      • Site1

        • Logs

          • failedReqLogFIles
  3. Em g:\content\Site1\Logs\failedReqLogFiles, defina as permissões no caminho do sistema de arquivos para dar ao PoolId1 controle total sobre o diretório Logs. Isso é necessário, pois a identidade do processo de trabalho deve ser capaz de listar conteúdo, gravar novos arquivos, criar novos diretórios e excluir arquivos antigos. Para fazer isso em um prompt de comando com privilégios elevados do administrador, execute o seguinte comando:

    • Windows Server® 2003 Fileserver:

      icacls g:\content\Site1\Logs\failedReqLogFiles /g PoolId1:F
      
    • Windows Server 2003 Fileserver:

      cacls g:\content\Site1\Logs\failedReqLogFiles /g PoolId1:F /e
      
  4. Compartilhe o diretório. Na linha de comando, faça o seguinte:

    net share content$=g:\content /GRANT:Users,CHANGE
    

Configurando o rastreamento de solicitação com falha para fazer logon no caminho UNC

Agora que o compartilhamento é compartilhado e as permissões corretas estabelecidas, configure o Rastreamento de Solicitação com Falha para fazer logon no Caminho UNC.

Interface do usuário: configurando o rastreamento de solicitação com falha para fazer logon no UNC

Para configurar o Rastreamento de Solicitação com Falha para fazer logon em nosso caminho UNC, siga estas instruções no Servidor Web:

  1. Abra INETMGR executando Start-Inetmgr>.

  2. Clique no Site Padrão e, em Configurar , clique em Rastreamento de Solicitação com Falha...

  3. Marque a caixa de seleção Habilitada .

  4. Em Diretório, digite o caminho para o compartilhamento UNC –>

    \\<UncServerName>\UNCContent\Site1\Logs\FailedReqLogFiles
    

Captura de tela das Configurações de Rastreamento de Solicitação com Falha do Site de Edição.

Testando

Configure uma regra para capturar todos os 200s para todas as URLs de Todo o Conteúdo para executar um teste.

  1. Na interface do usuário do INETMGR novamente, expanda a pasta Sites e clique em Site Padrão.
  2. Clique duas vezes em Regras de Rastreamento de Solicitação com Falha.
  3. Em Ações à direita, clique em Adicionar...
    Captura de tela da caixa de diálogo Adicionar Regra de Rastreamento de Solicitação Com Falha exibindo a página Especificar Conteúdo para Rastreamento.
  4. Clique em Avançar e defina o código de status como 200:
    Captura de tela da caixa de diálogo Adicionar Regra de Rastreamento de Solicitação Com Falha exibindo a página Definir Condições de Rastreamento.
  5. Clique em Avançar e deixe o padrão para coletar tudo e clique em Concluir.

XML: configurando a regra de rastreamento de solicitação com falha no web.config

O XML real é semelhante ao seguinte no arquivo web.config do Site Padrão:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <tracing>
      <traceFailedRequests>
        <add path="*">
          <traceAreas>
            <add provider="ASP" verbosity="Verbose" />
            <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
            <add provider="ISAPI Extension" verbosity="Verbose" />
            <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications" verbosity="Verbose" />
           </traceAreas>
          <failureDefinitions statusCodes="200" />
        </add>
      </traceFailedRequests>
    </tracing>
  </system.webServer>
</configuration>

Verificando o back-end UNC

Navegue até o site que configuramos para registrar as regras de rastreamento de solicitação com falha no caminho UNC (digamos http://uncsite/default.aspx). Verifique o diretório do servidor de back-end UNC no qual você está registrando em log. Observe que um novo diretório chamado W3SVC1 foi criado no diretório de arquivo de log de solicitação com falha configurado. Navegue até esse diretório e veja o arquivo de log e o arquivo FREB.xsl.