Coletar logs do IIS com o Azure Monitor Agent

O Serviço de Informações da Internet (IIS) registra dados no disco local de máquinas Windows. Este artigo explica como coletar logs do IIS de máquinas monitoradas com o Azure Monitor Agent criando uma regra de coleta de dados (DCR).

Pré-requisitos

Para concluir este procedimento, você precisa:

  • Espaço de trabalho do Log Analytics onde você tem pelo menos direitos de colaborador.

  • Um ou dois pontos de extremidade de coleta de dados, dependendo se sua máquina virtual e o espaço de trabalho do Log Analytics estão na mesma região.

    Para obter mais informações, consulte Como configurar pontos de extremidade de coleta de dados com base em sua implantação.

  • Permissões para criar objetos de Regra de Coleta de Dados no espaço de trabalho.

  • Uma VM, um Conjunto de Dimensionamento de Máquina Virtual ou um servidor local habilitado para Arc que executa o IIS.

    • Um arquivo de log do IIS no formato W3C deve ser armazenado na unidade local da máquina na qual o Azure Monitor Agent está sendo executado.
    • Cada entrada no arquivo de log deve ser delineada com um fim de linha.
    • O arquivo de log não deve permitir log circular, rotação de log onde o arquivo é substituído por novas entradas ou renomeação onde um arquivo é movido e um novo arquivo com o mesmo nome é aberto.

Criar regra de coleta de dados para coletar logs do IIS

A regra de recolha de dados define:

  • Quais arquivos de log de origem o Azure Monitor Agent verifica se há novos eventos.
  • Como o Azure Monitor transforma eventos durante a ingestão.
  • O espaço de trabalho e a tabela de destino do Log Analytics para a qual o Azure Monitor envia os dados.

Você pode definir uma regra de coleta de dados para enviar dados de várias máquinas para vários espaços de trabalho do Log Analytics, incluindo espaços de trabalho em uma região ou locatário diferente. Crie a regra de coleta de dados na mesma região do espaço de trabalho do Google Analytics.

Nota

Para enviar dados entre locatários, você deve primeiro habilitar o Azure Lighthouse.

Para criar a regra de coleta de dados no portal do Azure:

  1. No menu Monitor, selecione Regras de Coleta de Dados.

  2. Selecione Criar para criar uma nova regra de coleta de dados e associações.

    Captura de ecrã que mostra o botão Criar no ecrã Regras de Recolha de Dados.

  3. Insira um nome de Regra e especifique um ponto de extremidade de Assinatura, Grupo de Recursos, Região, Tipo de Plataforma e Ponto de extremidade de coleta de dados:

    • Região especifica onde o DCR será criado. As máquinas virtuais e suas associações podem estar em qualquer assinatura ou grupo de recursos no locatário.
    • Tipo de plataforma especifica o tipo de recursos aos quais essa regra pode se aplicar. A opção Personalizada permite os tipos Windows e Linux.
    • O Ponto de Extremidade de Coleta de Dados especifica o ponto de extremidade de coleta de dados usado para coletar dados. Esse ponto de extremidade de coleta de dados deve estar na mesma região do espaço de trabalho do Log Analytics. Para obter mais informações, consulte Como configurar pontos de extremidade de coleta de dados com base em sua implantação.

    Captura de ecrã que mostra o separador Noções básicas do ecrã Regra de Recolha de Dados.

  4. Na guia Recursos:

    1. Selecione + Adicionar recursos e associe recursos à regra de coleta de dados. Os recursos podem ser máquinas virtuais, Conjuntos de Dimensionamento de Máquinas Virtuais e Azure Arc para servidores. O portal do Azure instala o Azure Monitor Agent em recursos que ainda não o têm instalado.

      Importante

      O portal permite a identidade gerenciada atribuída pelo sistema nos recursos de destino, juntamente com as identidades atribuídas pelo usuário existentes, se houver. Para aplicativos existentes, a menos que você especifique a identidade atribuída pelo usuário na solicitação, a máquina assume como padrão usar a identidade atribuída pelo sistema.

    2. Selecione Ativar pontos de extremidade de coleta de dados.

    3. Selecione um ponto de extremidade de coleta de dados para cada uma das máquinas virtuais associadas à regra de coleta de dados.

      Esse ponto de extremidade de coleta de dados envia arquivos de configuração para a máquina virtual e deve estar na mesma região que a máquina virtual. Para obter mais informações, consulte Como configurar pontos de extremidade de coleta de dados com base em sua implantação.

    Captura de ecrã que mostra o separador Recursos do ecrã Regra de Recolha de Dados.

  5. Na guia Coletar e entregar, selecione Adicionar fonte de dados para adicionar uma fonte de dados e definir um destino.

  6. Selecione Logs do IIS.

    Captura de tela que mostra o formulário do portal do Azure para selecionar contadores de desempenho básicos em uma regra de coleta de dados.

  7. Especifique um padrão de arquivo para identificar o diretório onde os arquivos de log estão localizados.

  8. Na guia Destino, adicione um destino para a fonte de dados.

    Captura de tela que mostra o formulário do portal do Azure para adicionar uma fonte de dados em uma regra de coleta de dados.

  9. Selecione Rever + criar para rever os detalhes da regra de recolha de dados e da associação com o conjunto de máquinas virtuais.

  10. Selecione Criar para criar a regra de coleta de dados.

Nota

Pode levar até 5 minutos para que os dados sejam enviados para os destinos depois de criar a regra de coleta de dados.

Consultas de log de exemplo

  • Conte as entradas de log do IIS por URL para o host www.contoso.com.

    W3CIISLog 
    | where csHost=="www.contoso.com" 
    | summarize count() by csUriStem
    
  • Analise o total de bytes recebidos por cada máquina IIS.

    W3CIISLog 
    | summarize sum(csBytes) by Computer
    

Exemplo de regra de alerta

  • Crie uma regra de alerta em qualquer registro com um status de retorno de 500.

    W3CIISLog 
    | where scStatus==500
    | summarize AggregatedValue = count() by Computer, bin(TimeGenerated, 15m)
    

Resolver problemas

Use as etapas a seguir para solucionar problemas de coleta de logs do IIS.

Verifique se algum log do IIS foi recebido

Comece verificando se algum registro foi coletado para seus logs do IIS executando a seguinte consulta no Log Analytics. Se a consulta não retornar registros, verifique as outras seções para possíveis causas. Esta consulta procura inteiros nos últimos dois dias, mas você pode modificar para outro intervalo de tempo.

W3CIISLog
| where TimeGenerated > ago(48h)
| order by TimeGenerated desc

Verifique se o agente está enviando pulsações com êxito

Verifique se o agente do Azure Monitor está se comunicando corretamente executando a seguinte consulta no Log Analytics para verificar se há registros na tabela Heartbeat.

Heartbeat
| where TimeGenerated > ago(24h)
| where Computer has "<computer name>"
| project TimeGenerated, Category, Version
| order by TimeGenerated desc

Verifique se os logs do IIS estão sendo criados

Observe os carimbos de data/hora dos arquivos de log e abra os mais recentes para ver se os carimbos de data/hora mais recentes estão presentes nos arquivos de log. O local padrão para arquivos de log do IIS é C:\inetpub\logs\LogFiles\W3SVC1.

Captura de ecrã de um registo do IIS, mostrando o carimbo de data/hora.

Verifique se você especificou o local de log correto na regra de coleta de dados

A regra de recolha de dados terá uma secção semelhante à seguinte. O logDirectories elemento especifica o caminho para o arquivo de log a ser coletado do computador do agente. Verifique o computador do agente para verificar se isso está correto.

    "dataSources": [
    {
            "configuration": {
                "logDirectories": ["C:\\scratch\\demo\\W3SVC1"]
            },
            "id": "myIisLogsDataSource",
            "kind": "iisLog",
            "streams": [{
                    "stream": "ONPREM_IIS_BLOB_V2"
                }
            ],
            "sendToChannels": ["gigl-dce-6a8e34db54bb4b6db22d99d86314eaee"]
        }
    ]

Esse diretório deve corresponder ao local dos logs do IIS na máquina do agente.

Captura de tela dos arquivos de log do IIS na máquina do agente.

Verifique se os logs do IIS estão formatados no W3C

Abra o Gerenciador do IIS e verifique se os logs estão sendo gravados no formato W3C.

Captura de tela da caixa de diálogo de configuração de log do IIS na máquina do agente.

Abra o arquivo de log do IIS na máquina do agente para verificar se os logs estão no formato W3C.

Captura de ecrã de um registo do IIS, mostrando o cabeçalho, que especifica que o ficheiro está no formato W3C.

Nota

O campo personalizado X-Forwarded-For não é suportado neste momento. Se este for um campo crítico, você poderá coletar os logs do IIS como um log de texto personalizado.

Próximos passos

Saiba mais sobre: