Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo fornece orientações para resolução de problemas para a recolha de dados Common Event Format (CEF) e Syslog utilizando o Azure Monitor Agent (AMA) no Microsoft Sentinel. Use este guia para diagnosticar e resolver problemas de ingestão com as suas máquinas de transferência de logs. Os comandos e configurações devem ser executados nas máquinas de encaminhamento de log onde estão instalados AMA e RSyslog/Syslog-ng.
Antes de começar a resolver problemas, familiarize-se com os seguintes artigos:
- Ingerir mensagens syslog e CEF para o Microsoft Sentinel com o Azure Monitor Agent
- CEF via conector de dados AMA - Configurar um appliance ou dispositivo específico
- Descrição geral do Agente do Azure Monitor
Visão geral da arquitetura
O diagrama seguinte ilustra o fluxo de dados das fontes de log para os espaços de trabalho Microsoft Sentinel/log analytics via RSyslog e o Azure Monitor Agent.
Componentes-chave:
- RSyslog/Syslog-ng: Recebe registos na porta 514 e encaminha-os para AMA
- Azure Monitor Agent: Processa registos de acordo com as Regras de Recolha de Dados (DCR)
- Regra de Recolha de Dados: Define quais registos recolher e para onde os enviar
Passos iniciais de verificação
Verifique se os registos estão a ser recebidos
Os registos podem demorar até 20 minutos a aparecer no Microsoft Sentinel após a configuração.
Execute o tcpdump para verificar se os registos estão a chegar ao encaminhador:
sudo tcpdump -i any port 514 -A -vvVerifique se a fonte do seu registo está configurada para enviar mensagens para o endereço IP correto do encaminhador.
Verifique se existem componentes de infraestrutura que possam afetar a conectividade:
- Firewalls
- Balanceadores de carga
- Grupos de segurança de rede
Verificar o estado da extensão Azure Monitor Agent
- No portal do Azure, navegue até à sua máquina virtual de log forwarder.
- Selecione Extensões + aplicações.
- Selecione a extensão AzureMonitorLinuxAgent .
- Verifique se o Estado indica que o provisionamento foi bem-sucedido.
Verificar versão do agente
- Na extensão AzureMonitorLinuxAgent , verifique o campo Version .
- Certifique-se de que a versão é uma das 2-3 versões mais recentes. Consulte os detalhes da versão AMA para as versões mais recentes.
Observação
As novas versões podem demorar até 5 semanas a serem lançadas após o lançamento inicial.
Resolução de problemas ao nível do agente
Certifique-se de que o agente e os serviços RSyslog estão a funcionar.
sudo systemctl status azuremonitoragent
sudo systemctl status rsyslog
sudo systemctl status syslog-ng.service # If using Syslog-ng
Verificar a configuração do RSyslog
A configuração RSyslog consiste em /etc/rsyslog.conf e ficheiros em /etc/rsyslog.d/.
Verificar a configuração das portas:
grep -E 'imudp|imtcp' /etc/rsyslog.confResultados esperados:
module(load="imudp") input(type="imudp" port="514") module(load="imtcp") input(type="imtcp" port="514")Verifique se a configuração de encaminhamento AMA existe:
cat /etc/rsyslog.d/10-azuremonitoragent-omfwd.confO ficheiro deve começar com:
# Azure Monitor Agent configuration: forward logs to azuremonitoragent
Verificar o estado da porta
Verifique se as portas necessárias estão a ouvir:
sudo ss -lnp | grep -E "28330|514"
Resultados esperados:
udp UNCONN 0 0 0.0.0.0:514 0.0.0.0:* users:(("rsyslogd",pid=12289,fd=5))
tcp LISTEN 0 10 127.0.0.1:28330 0.0.0.0:* users:(("mdsd",pid=1424,fd=1363))
tcp LISTEN 0 25 0.0.0.0:514 0.0.0.0:* users:(("rsyslogd",pid=12289,fd=7))
Isto confirma:
- O RSyslog está a ouvir na porta 514 (TCP e UDP)
- O MDSD (componente AMA) está a ouvir na porta 28330 (TCP)
Verifique a configuração da regra de coleção de dados
Verifica se o DCR está devidamente configurado no agente.
Para os registos CEF:
sudo grep -i -r "SECURITY_CEF_BLOB" /etc/opt/microsoft/azuremonitoragent/config-cache/configchunks
Para registos Cisco ASA:
sudo grep -i -r "SECURITY_CISCO_ASA_BLOB" /etc/opt/microsoft/azuremonitoragent/config-cache/configchunks
A saída deve mostrar uma string JSON contendo a configuração DCR.
Rever regras de firewall
Garantir que as regras de firewall permitem a comunicação entre:
- Origem do registo e RSyslog (porta 514)
- RSyslog e AMA (porta 28330)
- Endpoints AMA e Azure
Configuração da Regra de Recolha de Dados
Ativar todas as funcionalidades para resolução de problemas
Para a resolução inicial de problemas:
- No portal Azure, navegue até à sua Regra de Recolha de Dados.
- Ativar todas as funcionalidades de syslog.
- Seleciona todos os níveis de log.
- Se disponível, ative a recolha de mensagens sem qualquer funcionalidade ou gravidade.
Para mais informações, consulte Instalações selecionadas e severidades.
Validação do Formato Comum de Eventos (CEF)
Requisitos do formato CEF
O CEF utiliza o Syslog como mecanismo de transporte com esta estrutura:
<Priority>Timestamp Hostname CEF:Version|Device Vendor|Device Product|Device Version|Device Event Class ID|Name|Severity|[Extension]
Exemplo:
Jan 18 11:07:53 host CEF:0|Vendor|Product|1.0|100|EventName|5|src=10.0.0.1 dst=10.0.0.2
Problemas comuns de formatação CEF
Formato incorreto do cabeçalho
- Garantir que a versão CEF está presente:
CEF:0| - Todos os campos de cabeçalho devem estar presentes e delimitados por caracteres pipe (|)
Personagem impróprio a fugir
- Caracteres de pipe (|) nos valores do cabeçalho devem ser escapados:
\| - Barras inversas () devem ser evitadas:
\\ - Sinais iguais (=) em extensões devem ser escapados:
\=
Valores em falta ou não mapeados
- Se um valor não puder ser mapeado para um campo padrão, ele é armazenado na
AdditionalExtensionscoluna - Consulte o mapeamento de campos CEF e CommonSecurityLog para mapeamentos de campos
Para a especificação completa do CEF, pesquise pela documentação "Implementing ArcSight Common Event Format (CEF)".
Resolução de problemas avançados
Ativar o rastreio de diagnóstico
Advertência
Ative as flags de rastreamento apenas para sessões de resolução de problemas. Os trace flags geram registos extensos que podem preencher rapidamente o espaço do disco.
Editar o ficheiro de configuração AMA:
sudo vim /etc/default/azuremonitoragentAdicionar flags de traço à linha MDSD_OPTIONS:
export MDSD_OPTIONS="-A -c /etc/opt/microsoft/azuremonitoragent/mdsd.xml -d -r $MDSD_ROLE_PREFIX -S $MDSD_SPOOL_DIRECTORY/eh -L $MDSD_SPOOL_DIRECTORY/events -e $MDSD_LOG_DIR/mdsd.err -w $MDSD_LOG_DIR/mdsd.warn -o $MDSD_LOG_DIR/mdsd.info -T 0x2002"Reiniciar o agente:
sudo systemctl restart azuremonitoragentReproduz o problema e espera alguns minutos.
Revise a informação de debug em
/var/opt/microsoft/azuremonitoragent/log/mdsd.info.Remova a bandeira de rastreio e reinicie o agente após a resolução de problemas.
Monitorizar o processamento de registos em tempo real
Veja os registos recebidos à medida que são processados:
tail -f /var/opt/microsoft/azuremonitoragent/log/mdsd.info
Filtre por tipos específicos de log:
sudo tail -f /var/opt/microsoft/azuremonitoragent/log/mdsd.* | grep -a "CEF"
Consulte registos específicos da instalação:
grep local0.info /var/opt/microsoft/azuremonitoragent/log/mdsd.info
Verificar o sucesso do processamento de logs
Quando as flags de traço estão ativadas, pode verificar se os registos estão a ser processados corretamente examinando a saída da depuração.
Exemplo de ingestão de registos ASA
Para registos Cisco ASA, o processamento bem-sucedido aparece nos registos como:
2022-01-18T22:00:14.8650520Z: virtual bool Pipe::SyslogCiscoASAPipeStage::PreProcess(std::shared_ptr<CanonicalEntity>) (.../mdsd/PipeStages.cc +604) [PipeStage] Processing CiscoASA event '%ASA-1-105003: (Primary) Monitoring on 123'
2022-01-18T22:00:14.8651330Z: virtual void ODSUploader::execute(const MdsTime&) (.../mdsd/ODSUploader.cc +325) Uploading 1 SECURITY_CISCO_ASA_BLOB rows to ODS.
2022-01-18T22:00:14.8653090Z: int ODSUploader::UploadFixedTypeLogs(const string&, const string&, const std::function<void(bool, long unsigned int, int, long unsigned int)>&, int, uint64_t) (.../mdsd/ODSUploader.cc +691) Uploading to ODS with request 3333-44dd-555555eeeeee Host https://00001111-aaaa-2222-bbbb-3333cccc4444.ods.opinsights.azure.com for datatype SECURITY_CISCO_ASA_BLOB. Payload: {"DataType":"SECURITY_CISCO_ASA_BLOB","IPName":"SecurityInsights","ManagementGroupId":"00000000-0000-0000-0000-000000000002","sourceHealthServiceId":"2c2c2c2c-3333-dddd-4444-5e5e5e5e5e5e","type":"JsonData","DataItems":[{"Facility":"local0","SeverityNumber":"6","Timestamp":"2022-01-14T23:28:49.775619Z","HostIP":"127.0.0.1","Message":" (Primary) Monitoring on 123","ProcessId":"","Severity":"info","Host":"localhost","ident":"%ASA-1-105003"}]}. Uncompressed size: 443. Request size: 322
Indicadores-chave de processamento bem-sucedido:
- O evento é reconhecido como um evento da CiscoASA
- O registo é carregado para o ODS (Operations Data Service)
- É gerado um ID de pedido para rastreio
- A carga útil contém dados JSON devidamente formatados
Exemplo de ingestão de registos CEF
Para registos CEF, o processamento bem-sucedido aparece como:
2022-01-14T23:09:13.9087860Z: int ODSUploader::UploadFixedTypeLogs(const string&, const string&, const std::function<void(bool, long unsigned int, int, long unsigned int)>&, int, uint64_t) (.../mdsd/ODSUploader.cc +691) Uploading to ODS with request 3333-44dd-555555eeeeee Host https://00001111-aaaa-2222-bbbb-3333cccc4444.ods.opinsights.azure.com for datatype SECURITY_CEF_BLOB. Payload: {"DataType":"SECURITY_CEF_BLOB","IPName":"SecurityInsights","ManagementGroupId":"00000000-0000-0000-0000-000000000002","sourceHealthServiceId":"2c2c2c2c-3333-dddd-4444-5e5e5e5e5e5e","type":"JsonData","DataItems":[{"Facility":"local0","SeverityNumber":"6","Timestamp":"2022-01-14T23:08:49.731862Z","HostIP":"127.0.0.1","Message":"0|device1|PAN-OS|8.0.0|general|SYSTEM|3|rt=Nov 04 2018 07:15:46 GMTcs3Label=Virtual","ProcessId":"","Severity":"info","Host":"localhost","ident":"CEF"}]}. Uncompressed size: 482. Request size: 350
Indicadores-chave do processamento bem-sucedido da CEF:
- O tipo de dado é SECURITY_CEF_BLOB
- O pedido de upload inclui um endpoint válido
- A estrutura da mensagem CEF é preservada na carga útil
- As métricas de compressão mostram que os dados estão a ser otimizados para transferência
Importante
Lembre-se de desativar as bandeiras de rastreio após concluir a investigação para evitar o uso excessivo do disco.
Coletar informações de diagnóstico
Antes de abrir um caso de apoio, recolha a seguinte informação:
Executa o solucionador de problemas da AMA
O script pode ser executado com flags específicos para diferentes tipos de log.
-
--cef: Para registos de formatos de eventos comuns -
--asa: Para registos Cisco ASA -
--ftd: Para registos de Defesa contra Ameaças de Poder de Fogo Cisco
A saída é guardada em /tmp/troubleshooter_output_file.log.
sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py && sudo python3 Sentinel_AMA_troubleshoot.py [--cef | --asa | --ftd]