Coletar logs IIS com o Agente do Azure Monitor
O IIS (Serviço de Informações da Internet) registra dados no disco local dos computadores Windows. Este artigo explica como coletar logs do IIS de computadores monitorados com o Agente do Azure Monitor criando uma DCR (regra de coleta de dados).
Pré-requisitos
Para concluir este procedimento, você precisa de:
Workspace do Log Analytics em que você tem pelo menos direitos de colaborador.
Um ou dois pontos de extremidade de coleta de dados, dependendo se a máquina virtual e o workspace 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 na sua implantação.
Permissões para criar objetos de Regra de Coleta de Dados no workspace.
Uma VM, um Conjunto de dimensionamento de máquinas virtuais ou um servidor local habilitado para Arc que execute IIS.
- Um arquivo de log do IIS no formato W3C deve ser armazenado na unidade local do computador no qual o Agente do Azure Monitor está em execução.
- Cada entrada no arquivo de log deve ser delineada com um fim de linha.
- O arquivo de log não deve permitir o registro em log circular, a rotação de log em que o arquivo é substituído por novas entradas ou a renomeação na qual 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 coleta de dados define:
- Em quais arquivos de log de origem o Agente do Azure Monitor verificará se há novos eventos.
- Como o Azure Monitor transforma eventos durante a ingestão.
- O workspace do Log Analytics de destino e a tabela para a qual o Azure Monitor envia os dados.
Você pode definir uma regra de coleta de dados para enviar dados de vários computadores para vários workspaces do Log Analytics, incluindo workspaces em uma região ou locatário diferente. Criar a regra de coleta de dados na mesma região do workspace do Log Analytics.
Observação
Para enviar dados entre locatários, primeiro você deve habilitar o Azure Lighthouse.
Para criar a regra de coleta de dados no portal do Azure:
No menu Monitor no portal do Azure, selecione Regras de Coleta de Dados.
Selecione Criar para criar uma nova regra de coleta de dados e associações.
Insira um Nome de regra e especifique Assinatura, Grupo de recursos, Região, Tipo de plataforma e Ponto de extremidade de coleta de dados:
- Região especifica onde a DCR será criada. As máquinas virtuais e as associações podem estar em qualquer assinatura ou grupo de recursos no locatário.
- Tipo de plataforma especifica o tipo de recursos aos quais esta regra pode se aplicar. A opção Personalizado permite os tipos Windows e Linux.
- 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 que o workspace do Log Analytics. Para obter mais informações, consulte Como configurar pontos de extremidade de coleta de dados com base na sua implantação.
Na guia Recursos:
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 Agente do Azure Monitor em recursos que ainda não o instalaram.
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 os aplicativos existentes, a menos que você especifique a identidade atribuída pelo usuário na solicitação, o computador assumirá como padrão o uso da identidade atribuída pelo sistema.
Selecione Habilitar pontos de extremidade de coleta de dados.
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 na sua implantação.
Na guia Coletar e entregar, selecione Adicionar fonte de dados para adicionar uma fonte de dados e definir um destino.
Selecione Logs do IIS.
Especifique um padrão de arquivo para identificar o diretório onde estão localizados os arquivos de log.
Na guia Destino, adicione um destino para a fonte de dados.
Selecione Examinar + criar para examinar os detalhes da regra de coleta de dados e a associação com o conjunto de máquinas virtuais.
Selecione Criar para criar a regra de coleta de dados.
Observação
Pode levar até 5 minutos para que os dados sejam enviados aos destinos depois que você cria a regra de coleta de dados.
Consultas de log de amostra
Conte as entradas de log dos IIS por URL para o host www.contoso.com.
W3CIISLog | where csHost=="www.contoso.com" | summarize count() by csUriStem
Revise o total de bytes recebidos por cada computador dos IIS.
W3CIISLog | summarize sum(csBytes) by Computer
Regra de alerta de amostra
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)
Solucionar problemas
Siga as etapas a seguir para solucionar problemas de coleta de logs do IIS.
Verificar se algum log do IIS foi recebido
Comece verificando se algum registro foi coletado para seus logs do IIS executando a consulta a seguir no Log Analytics. Se a consulta não retornar registros, verifique as outras seções quanto a possíveis causas. Essa consulta procura por inteiros nos últimos dois dias, mas é possível modificar para outro intervalo de tempo.
W3CIISLog
| where TimeGenerated > ago(48h)
| order by TimeGenerated desc
Verificar se o agente está enviando pulsações com êxito
Verifique se o agente do Azure Monitor está se comunicando corretamente executando a consulta a seguir no Log Analytics a fim de verificar se há registros na tabela Pulsação.
Heartbeat
| where TimeGenerated > ago(24h)
| where Computer has "<computer name>"
| project TimeGenerated, Category, Version
| order by TimeGenerated desc
Verificar se os logs do IIS estão sendo criados
Examine os carimbos de data/hora dos arquivos de log e abra o mais recente para ver se os carimbos de data/hora mais recentes estão presentes nos arquivos de log. O local padrão para os arquivos de log do IIS é C:\inetpub\logs\LogFiles\W3SVC1.
Verificar se você especificou o local de log correto na regra de coleta de dados
A regra de coleta de dados terá uma seção semelhante à seguinte. O elemento logDirectories
especifica o caminho para o arquivo de log a ser coletado do computador do agente. Verifique se o computador do agente 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 no computador do agente.
Verificar se os logs do IIS estão formatados em W3C
Abra o Gerenciador do IIS e verifique se os logs estão sendo gravados no formato W3C.
Abra o arquivo de log do IIS no computador do agente para verificar se os logs estão no formato W3C.
Observação
No momento, não há suporte para o campo personalizado X-Forwarded-For. Se esse for um campo crítico, você poderá coletar os logs do IIS como um log de texto personalizado.
Próximas etapas
Saiba mais sobre: