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:
No menu Monitor, 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 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.
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 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.
Selecione Ativar 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 em 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 os arquivos de log estão localizados.
Na guia Destino, adicione um destino para a fonte de dados.
Selecione Rever + criar para rever os detalhes da regra de recolha de dados e da associação com o conjunto de máquinas virtuais.
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.
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.
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.
Abra o arquivo de log do IIS na máquina do agente para verificar se os logs estão 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: