Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporcionan instrucciones de solución de problemas para common event format (CEF) y recopilación de datos de Syslog mediante el agente de supervisión de Azure (AMA) en Microsoft Sentinel. Use esta guía para diagnosticar y resolver problemas de ingesta con las máquinas del reenviador de registros. Los comandos y configuraciones deben ejecutarse en las máquinas del reenviador de registros donde están instalados AMA y RSyslog/Syslog-ng.
Antes de empezar a solucionar problemas, familiarícese con los siguientes artículos:
- Ingesta de mensajes syslog y CEF para Microsoft Sentinel con el agente de Azure Monitor
- CEF a través del conector de datos AMA: configuración de un dispositivo o dispositivo específicos
- Introducción al agente de Azure Monitor
Introducción a la arquitectura
En el diagrama siguiente se muestra el flujo de datos de los orígenes de registro a las áreas de trabajo de Microsoft Sentinel o log analytics a través de RSyslog y el agente de supervisión de Azure.
Componentes clave:
- RSyslog/Syslog-ng: recibe los registros en el puerto 514 y los reenvía a AMA.
- agente de Azure Monitor: procesa los registros según las reglas de recopilación de datos (DCR)
- Regla de recopilación de datos: define qué registros se van a recopilar y dónde enviarlos
Pasos de comprobación iniciales
Comprobación de que se están recibiendo registros
Los registros pueden tardar hasta 20 minutos en aparecer en Microsoft Sentinel después de la configuración.
Ejecute tcpdump para comprobar que los registros llegan al reenviador:
sudo tcpdump -i any port 514 -A -vvCompruebe que el origen de registro está configurado para enviar mensajes a la dirección IP correcta del reenviador.
Compruebe si hay componentes de infraestructura que puedan afectar a la conectividad:
- Firewalls
- Equilibradores de carga
- Grupos de seguridad de red
Comprobación del estado de la extensión del agente de Azure Monitor
- En el Azure Portal, vaya a la máquina virtual del reenviador de registros.
- Seleccione Extensiones y aplicaciones.
- Seleccione la extensión AzureMonitorLinuxAgent .
- Compruebe que Estado muestra El aprovisionamiento se realizó correctamente.
Comprobación de la versión del agente
- En la hoja de extensión AzureMonitorLinuxAgent , compruebe el campo Versión .
- Asegúrese de que la versión es una de las versiones 2-3 más recientes. Consulte los detalles de la versión de AMA para obtener las versiones más recientes.
Nota:
Las nuevas versiones pueden tardar hasta 5 semanas en implementarse después del lanzamiento inicial.
Solución de problemas de nivel de agente
Asegúrese de que el agente y los servicios de RSyslog están en ejecución.
sudo systemctl status azuremonitoragent
sudo systemctl status rsyslog
sudo systemctl status syslog-ng.service # If using Syslog-ng
Comprobación de la configuración de RSyslog
La configuración de RSyslog consta de /etc/rsyslog.conf archivos y en /etc/rsyslog.d/.
Compruebe la configuración del puerto:
grep -E 'imudp|imtcp' /etc/rsyslog.confSalida esperada:
module(load="imudp") input(type="imudp" port="514") module(load="imtcp") input(type="imtcp" port="514")Compruebe que existe la configuración de reenvío de AMA:
cat /etc/rsyslog.d/10-azuremonitoragent-omfwd.confEl archivo debe empezar por:
# Azure Monitor Agent configuration: forward logs to azuremonitoragent
Comprobación del estado del puerto
Compruebe que los puertos necesarios están escuchando:
sudo ss -lnp | grep -E "28330|514"
Salida esperada:
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))
Esto confirma lo siguiente:
- RSyslog está escuchando en el puerto 514 (TCP y UDP)
- MDSD (componente AMA) está escuchando en el puerto 28330 (TCP)
Comprobación de la configuración de la regla de recopilación de datos
Compruebe si el DCR está configurado correctamente en el agente.
Para los registros cef:
sudo grep -i -r "SECURITY_CEF_BLOB" /etc/opt/microsoft/azuremonitoragent/config-cache/configchunks
Para los registros de Cisco ASA:
sudo grep -i -r "SECURITY_CISCO_ASA_BLOB" /etc/opt/microsoft/azuremonitoragent/config-cache/configchunks
La salida debe mostrar una cadena JSON que contenga la configuración de DCR.
Revisión de las reglas de firewall
Asegúrese de que las reglas de firewall permiten la comunicación entre:
- Origen de registro y RSyslog (puerto 514)
- RSyslog y AMA (puerto 28330)
- Puntos de conexión de AMA y Azure
Configuración de la regla de recopilación de datos
Habilitación de todas las instalaciones para la solución de problemas
Para la solución de problemas inicial:
- En el Azure Portal, vaya a la regla de recopilación de datos.
- Habilite todas las instalaciones de Syslog.
- Seleccione todos los niveles de registro.
- Si está disponible, habilite la recopilación de mensajes sin facilidad ni gravedad.
Para obtener más información, consulte Seleccionar instalaciones y gravedades.
Validación del formato de evento común (CEF)
Requisitos de formato CEF
CEF usa Syslog como mecanismo de transporte con esta estructura:
<Priority>Timestamp Hostname CEF:Version|Device Vendor|Device Product|Device Version|Device Event Class ID|Name|Severity|[Extension]
Ejemplo:
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 comunes de formato CEF
Formato de encabezado incorrecto
- Asegúrese de que la versión de CEF está presente:
CEF:0| - Todos los campos de encabezado deben estar presentes y delimitados por caracteres de canalización (|)
Escape de caracteres incorrecto
- Los caracteres de canalización (|) en los valores de encabezado deben tener escape:
\| - Las barras diagonales inversas () deben tener escape:
\\ - Los signos iguales (=) en las extensiones deben tener escape:
\=
Valores que faltan o no están asignados
- Si un valor no se puede asignar a un campo estándar, se almacena en la
AdditionalExtensionscolumna - Consulte Asignación de campos CEF y CommonSecurityLog para obtener asignaciones de campos.
Para obtener la especificación completa de CEF, busque la documentación "Implementing ArcSight Common Event Format (CEF)".
Solución de problemas avanzada
Habilitación del seguimiento de diagnóstico
Advertencia
Habilite las marcas de seguimiento solo para las sesiones de solución de problemas. Las marcas de seguimiento generan un registro extenso que puede rellenar el espacio en disco rápidamente.
Edite el archivo de configuración de AMA:
sudo vim /etc/default/azuremonitoragentAgregue marcas de seguimiento a la línea de 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"Reinicie el agente:
sudo systemctl restart azuremonitoragentReproduzca el problema y espere unos minutos.
Revise la información de depuración en
/var/opt/microsoft/azuremonitoragent/log/mdsd.info.Quite la marca de seguimiento y reinicie el agente después de solucionar problemas.
Supervisión del procesamiento de registros en tiempo real
Vea los registros entrantes a medida que se procesan:
tail -f /var/opt/microsoft/azuremonitoragent/log/mdsd.info
Filtre por tipos de registro específicos:
sudo tail -f /var/opt/microsoft/azuremonitoragent/log/mdsd.* | grep -a "CEF"
Revise los registros de instalaciones específicos:
grep local0.info /var/opt/microsoft/azuremonitoragent/log/mdsd.info
Comprobación del procesamiento de registros correcto
Cuando las marcas de seguimiento están habilitadas, puede comprobar que los registros se procesan correctamente examinando la salida de depuración.
Ejemplo de ingesta de registros asa
Para los registros de Cisco ASA, el procesamiento correcto aparece en los registros 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 clave del procesamiento correcto:
- El evento se reconoce como un evento CiscoASA
- El registro se carga en ODS (Operations Data Service)
- Se genera un identificador de solicitud para el seguimiento
- La carga contiene datos JSON con formato correcto
Ejemplo de ingesta de registros cef
En el caso de los registros CEF, el procesamiento correcto 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 clave del procesamiento cef correcto:
- El tipo de datos es SECURITY_CEF_BLOB
- La solicitud de carga incluye un punto de conexión válido
- La estructura del mensaje CEF se conserva en la carga.
- Las métricas de compresión muestran que los datos se están optimizando para la transferencia
Importante
Recuerde deshabilitar las marcas de seguimiento después de completar la investigación para evitar un uso excesivo del disco.
Recopilación de información de diagnóstico
Antes de abrir un caso de soporte técnico, recopile la siguiente información:
Ejecución del solucionador de problemas de AMA
El script se puede ejecutar con marcas específicas para diferentes tipos de registro.
-
--cef: para registros de formato de eventos comunes -
--asa: para los registros de Cisco ASA -
--ftd: para los registros de Protección contra amenazas de Cisco Firepower
La salida se guarda en /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]