Projetar nomes de campo de arquivo de log do IIS de personalização usando log avançado

Este artigo mostra como adicionar um campo personalizado ao arquivo de log do IIS (Serviços de Informações da Internet) usando o Log Avançado.

Versão original do produto: Serviços de Informações da Internet
Número de KB original: 4466879

Introdução

Normalmente, o módulo de log existente no IIS é usado para registrar itens como o endereço IP do cliente original no X-FORWARDED-FOR campo nos logs do IIS. No entanto, se você usar uma ferramenta de relatório de terceiros para analisar os logs do IIS, a ferramenta poderá não entender o X-FORWARDED-FOR campo. Em vez disso, ele pode usar um campo diferente, como o campo Endereço IP do Cliente (c-ip).

Por exemplo, suponha que você tenha um ambiente balanceado por carga que consiste em pelo menos dois servidores Web, juntamente com um balanceador de carga F5 na frente dos servidores Web. Normalmente, o endereço IP do cliente original é registrado no X-FORWARDED-FOR campo nos logs do IIS pelo módulo de log existente. Para usar a ferramenta de relatório de terceiros, você tenta criar um campo c-ip (endereço IP do cliente) personalizado. No entanto, você recebe a seguinte mensagem de conflito:

O campo "c-ip" entra em conflito com o nome de um campo padrão existente.
Escolha um nome de campo diferente.

Ocorre um erro ao adicionar um campo personalizado, como o campo Endereço IP do Cliente (c-ip).

Este artigo descreve como adicionar um campo personalizado, como o campo Endereço IP do Cliente (c-ip) para que ele não entre em conflito com campos predefinidos nos logs do IIS.

Solução

Há duas soluções para esse problema.

  • Solução 1
    Crie um filtro ISAPI personalizado ou um módulo HTTP por meio do qual você pode substituir o valor do campo c-ip pelo valor no X-FORWARDED-FOR cabeçalho de solicitação que está sendo passado do balanceador de carga F5 em cada solicitação do cliente.

  • Solução 2

    Use Log Avançado. Este é um módulo fora de banda para o IIS. Para fazer isso, siga estas etapas:

    1. Baixe o Log Avançado e instale-o no servidor que está executando o IIS.

    2. Localize o nó raiz ou o nível do servidor e clique duas vezes no módulo Log Avançado:

      Clique duas vezes no módulo Log Avançado no nó raiz ou no nível do servidor.

    3. Selecione a opção Habilitar Log Avançado no painel Ações:

      A opção Habilitar Log Avançado no painel Ações.

    4. Selecione a opção Editar Campos de Log e selecione o botão Adicionar Campo na janela pop-up.

    5. Especifique os seguintes valores de campo (por exemplo):

      • ID do campo: <digite qualquer nome amigável>
      • Categoria: <Deixar em branco>
      • Tipo de origem: Cabeçalho de solicitação
      • Nome da origem: X-FORWARDED-FOR
      • Nome do cabeçalho de log: c-ip

      Os valores do campo de log que você precisa definir.

    6. No módulo Log Avançado, clique duas vezes na definição de Log padrão e selecione o botão Selecionar Campos .

      Clique duas vezes na definição de log padrão.

    7. Selecione o campo personalizado que você criou na etapa 5 e selecione OK.

      Selecione o campo personalizado que você criou na etapa 5.

    8. Tente acessar o site de qualquer sistema cliente e, em seguida, marcar o log criado pelo módulo De Log Avançado. (Por padrão, o arquivo de log está na C:\inetpub\logs\AdvancedLogs pasta, mas pode ser configurado para uma pasta diferente.)

      Observação

      O endereço IP do cliente original é registrado em c-ip em vez de X-FORWARDED-FOR em um ambiente balanceado por carga.