Orígenes de datos de Syslog en Azure MonitorSyslog data sources in Azure Monitor

Syslog es un protocolo de registro de eventos que es común a Linux.Syslog is an event logging protocol that is common to Linux. Las aplicaciones envían mensajes que pueden almacenarse en la máquina local o entregarse a un recopilador de Syslog.Applications will send messages that may be stored on the local machine or delivered to a Syslog collector. Al instalar el agente de Log Analytics para Linux, este configura el demonio Syslog local para que reenvíe mensajes al agente.When the Log Analytics agent for Linux is installed, it configures the local Syslog daemon to forward messages to the agent. En ese momento, el agente envía el mensaje a Azure Monitor, donde se crea un registro correspondiente.The agent then sends the message to Azure Monitor where a corresponding record is created.

Nota

Azure Monitor admite la recopilación de mensajes enviados por rsyslog o syslog-ng, donde rsyslog es el demonio predeterminado.Azure Monitor supports collection of messages sent by rsyslog or syslog-ng, where rsyslog is the default daemon. El demonio predeterminado de Syslog en la versión 5 de Red Hat Enterprise Linux, CentOS y Oracle Linux (Sysklog) no se admite para la recopilación de eventos de Syslog.The default syslog daemon on version 5 of Red Hat Enterprise Linux, CentOS, and Oracle Linux version (sysklog) is not supported for syslog event collection. Para recopilar datos de Syslog de esta versión de estas distribuciones, es necesario instalar el demonio rsyslog y configurarlo para reemplazar Sysklog.To collect syslog data from this version of these distributions, the rsyslog daemon should be installed and configured to replace sysklog.

Recopilación de Syslog

Los recursos siguientes son compatibles con el recopilador de Syslog:The following facilities are supported with the Syslog collector:

  • kernkern
  • usuariouser
  • mailmail
  • daemondaemon
  • authauth
  • syslogsyslog
  • lprlpr
  • newsnews
  • uucpuucp
  • croncron
  • authprivauthpriv
  • ftpftp
  • local0-local7local0-local7

Para cualquier otro recurso, configure un origen de datos de registros personalizados en Azure Monitor.For any other facility, configure a Custom Logs data source in Azure Monitor.

Configuración de SyslogConfiguring Syslog

El agente de Log Analytics para Linux solo recopilará los eventos con los recursos y los niveles de gravedad que se especifican en su configuración.The Log Analytics agent for Linux will only collect events with the facilities and severities that are specified in its configuration. Puede configurar Syslog a través de Azure Portal o mediante la administración de archivos de configuración de sus agentes de Linux.You can configure Syslog through the Azure portal or by managing configuration files on your Linux agents.

Configuración de Syslog en Azure PortalConfigure Syslog in the Azure portal

Configure Syslog desde el menú de datos en la configuración avanzada.Configure Syslog from the Data menu in Advanced Settings. Esta configuración se entrega al archivo de configuración de cada agente de Linux.This configuration is delivered to the configuration file on each Linux agent.

Para agregar una nueva instalación, seleccione primero la opción Aplicar la configuración siguiente a mis máquinas, escriba su nombre y haga clic en + .You can add a new facility by first selecting the option Apply below configuration to my machines and then typing in its name and clicking +. Para cada recurso, solo se recopilarán los mensajes con los niveles de gravedad seleccionados.For each facility, only messages with the selected severities will be collected. Compruebe los niveles de gravedad del recurso determinado que desea recopilar.Check the severities for the particular facility that you want to collect. No puede proporcionar criterios adicionales para filtrar mensajes.You cannot provide any additional criteria to filter messages.

Configuración de Syslog

De forma predeterminada, todos los cambios realizados en la configuración se insertan automáticamente en todos los agentes.By default, all configuration changes are automatically pushed to all agents. Si desea configurar Syslog manualmente en cada uno de los agentes de Linux, desactive la casilla Aplicar la configuración siguiente a mis máquinas.If you want to configure Syslog manually on each Linux agent, then uncheck the box Apply below configuration to my machines.

Configuración de Syslog en agente de LinuxConfigure Syslog on Linux agent

Cuando el agente de Log Analytics se instala en un cliente Linux, instala un archivo de configuración de Syslog predeterminado que define el recurso y la gravedad de los mensajes que se recopilan.When the Log Analytics agent is installed on a Linux client, it installs a default syslog configuration file that defines the facility and severity of the messages that are collected. Puede modificar este archivo para cambiar la configuración.You can modify this file to change the configuration. El archivo de configuración es diferente según el demonio Syslog que ha instalado el cliente.The configuration file is different depending on the Syslog daemon that the client has installed.

Nota

Si modifica la configuración de Syslog, tiene que reiniciar el demonio Syslog para que los cambios surtan efecto.If you edit the syslog configuration, you must restart the syslog daemon for the changes to take effect.

rsyslogrsyslog

El archivo de configuración de rsyslog se encuentra en /etc/rsyslog.d/95-omsagent.conf.The configuration file for rsyslog is located at /etc/rsyslog.d/95-omsagent.conf. A continuación se muestra su contenido predeterminado.Its default contents are shown below. Recopila mensajes de Syslog enviados desde el agente local para todos los recursos con, al menos, un nivel de advertencia.This collects syslog messages sent from the local agent for all facilities with a level of warning or higher.

kern.warning       @127.0.0.1:25224
user.warning       @127.0.0.1:25224
daemon.warning     @127.0.0.1:25224
auth.warning       @127.0.0.1:25224
syslog.warning     @127.0.0.1:25224
uucp.warning       @127.0.0.1:25224
authpriv.warning   @127.0.0.1:25224
ftp.warning        @127.0.0.1:25224
cron.warning       @127.0.0.1:25224
local0.warning     @127.0.0.1:25224
local1.warning     @127.0.0.1:25224
local2.warning     @127.0.0.1:25224
local3.warning     @127.0.0.1:25224
local4.warning     @127.0.0.1:25224
local5.warning     @127.0.0.1:25224
local6.warning     @127.0.0.1:25224
local7.warning     @127.0.0.1:25224

Para quitar un recurso, elimine su sección del archivo de configuración.You can remove a facility by removing its section of the configuration file. Puede limitar los niveles de gravedad que se recopilan para un recurso determinado mediante la modificación de la entrada de ese recurso.You can limit the severities that are collected for a particular facility by modifying that facility's entry. Por ejemplo, para limitar el recurso del usuario a mensajes con una gravedad de error o superior, debe modificar esa línea del archivo de configuración de la siguiente manera:For example, to limit the user facility to messages with a severity of error or higher you would modify that line of the configuration file to the following:

user.error    @127.0.0.1:25224

syslog-ngsyslog-ng

El archivo de configuración de syslog-ng se encuentra en /etc/syslog-ng/syslog-ng.conf.The configuration file for syslog-ng is location at /etc/syslog-ng/syslog-ng.conf. A continuación se muestra su contenido predeterminado.Its default contents are shown below. Recopila mensajes de Syslog enviados desde el agente local para todos los recursos y todos los niveles de gravedad.This collects syslog messages sent from the local agent for all facilities and all severities.

#
# Warnings (except iptables) in one file:
#
destination warn { file("/var/log/warn" fsync(yes)); };
log { source(src); filter(f_warn); destination(warn); };

#OMS_Destination
destination d_oms { udp("127.0.0.1" port(25224)); };

#OMS_facility = auth
filter f_auth_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(auth); };
log { source(src); filter(f_auth_oms); destination(d_oms); };

#OMS_facility = authpriv
filter f_authpriv_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(authpriv); };
log { source(src); filter(f_authpriv_oms); destination(d_oms); };

#OMS_facility = cron
filter f_cron_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(cron); };
log { source(src); filter(f_cron_oms); destination(d_oms); };

#OMS_facility = daemon
filter f_daemon_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(daemon); };
log { source(src); filter(f_daemon_oms); destination(d_oms); };

#OMS_facility = kern
filter f_kern_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(kern); };
log { source(src); filter(f_kern_oms); destination(d_oms); };

#OMS_facility = local0
filter f_local0_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local0); };
log { source(src); filter(f_local0_oms); destination(d_oms); };

#OMS_facility = local1
filter f_local1_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local1); };
log { source(src); filter(f_local1_oms); destination(d_oms); };

#OMS_facility = mail
filter f_mail_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(mail); };
log { source(src); filter(f_mail_oms); destination(d_oms); };

#OMS_facility = syslog
filter f_syslog_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(syslog); };
log { source(src); filter(f_syslog_oms); destination(d_oms); };

#OMS_facility = user
filter f_user_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };

Para quitar un recurso, elimine su sección del archivo de configuración.You can remove a facility by removing its section of the configuration file. Puede limitar los niveles de gravedad que se recopilan de un recurso determinado, para lo que debe eliminarlos de la lista.You can limit the severities that are collected for a particular facility by removing them from its list. Por ejemplo, para limitar el recurso del usuario solo a mensajes de alerta y críticos, debe modificar la sección del archivo de configuración de la siguiente manera:For example, to limit the user facility to just alert and critical messages, you would modify that section of the configuration file to the following:

#OMS_facility = user
filter f_user_oms { level(alert,crit) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };

Recopilación de datos de puertos de Syslog adicionalesCollecting data from additional Syslog ports

El agente de Log Analytics escucha los mensajes de Syslog en el cliente local en el puerto 25224.The Log Analytics agent listens for Syslog messages on the local client on port 25224. Cuando se instala el agente, se aplica una configuración de Syslog predeterminada, que se encuentra en la siguiente ubicación:When the agent is installed, a default syslog configuration is applied and found in the following location:

  • Rsyslog: /etc/rsyslog.d/95-omsagent.confRsyslog: /etc/rsyslog.d/95-omsagent.conf
  • Syslog-ng: /etc/syslog-ng/syslog-ng.confSyslog-ng: /etc/syslog-ng/syslog-ng.conf

Puede cambiar el número de puerto si crea dos archivos de configuración: un archivo de configuración de FluentD y un archivo rsyslog-or-syslog-ng según el demonio Syslog que haya instalado.You can change the port number by creating two configuration files: a FluentD config file and a rsyslog-or-syslog-ng file depending on the Syslog daemon you have installed.

  • El archivo de configuración de FluentD debe ser un nuevo archivo ubicado en: /etc/opt/microsoft/omsagent/conf/omsagent.d; reemplace el valor de la entrada port por el número de puerto personalizado.The FluentD config file should be a new file located in: /etc/opt/microsoft/omsagent/conf/omsagent.d and replace the value in the port entry with your custom port number.

    <source>
        type syslog
        port %SYSLOG_PORT%
        bind 127.0.0.1
        protocol_type udp
        tag oms.syslog
    </source>
    <filter oms.syslog.**>
        type filter_syslog
    
  • Para rsyslog, debe crear un archivo de configuración ubicado en: /etc/rsyslog.d/; reemplace el valor %SYSLOG_PORT% por el número de puerto personalizado.For rsyslog, you should create a new configuration file located in: /etc/rsyslog.d/ and replace the value %SYSLOG_PORT% with your custom port number.

    Nota

    Si modifica este valor en el archivo de configuración 95-omsagent.conf, se sobrescribirá cuando el agente aplique una configuración predeterminada.If you modify this value in the configuration file 95-omsagent.conf, it will be overwritten when the agent applies a default configuration.

    # OMS Syslog collection for workspace %WORKSPACE_ID%
    kern.warning              @127.0.0.1:%SYSLOG_PORT%
    user.warning              @127.0.0.1:%SYSLOG_PORT%
    daemon.warning            @127.0.0.1:%SYSLOG_PORT%
    auth.warning              @127.0.0.1:%SYSLOG_PORT%
    
  • Para modificar la configuración de syslog-ng, copie la configuración del ejemplo que se muestra a continuación y agregue la configuración modificada personalizada al final del archivo de configuración syslog-ng.conf ubicado en /etc/syslog-ng/.The syslog-ng config should be modified by copying the example configuration shown below and adding the custom modified settings to the end of the syslog-ng.conf configuration file located in /etc/syslog-ng/. No use la etiqueta predeterminada %WORKSPACE_ID%_oms ni %WORKSPACE_ID_OMS; defina una etiqueta personalizada para ayudar a distinguir los cambios.Do not use the default label %WORKSPACE_ID%_oms or %WORKSPACE_ID_OMS, define a custom label to help distinguish your changes.

    Nota

    Si modifica los valores predeterminados en el archivo de configuración, se sobrescribirán cuando el agente aplique una configuración predeterminada.If you modify the default values in the configuration file, they will be overwritten when the agent applies a default configuration.

    filter f_custom_filter { level(warning) and facility(auth; };
    destination d_custom_dest { udp("127.0.0.1" port(%SYSLOG_PORT%)); };
    log { source(s_src); filter(f_custom_filter); destination(d_custom_dest); };
    

Después de completar los cambios, Syslog y el servicio de agente de Log Analytics deben reiniciarse para asegurarse de que los cambios de configuración surtan efecto.After completing the changes, the Syslog and the Log Analytics agent service needs to be restarted to ensure the configuration changes take effect.

Propiedades de registros de SyslogSyslog record properties

Los registros de Syslog tienen un tipo Syslog y las propiedades que aparecen en la tabla siguiente.Syslog records have a type of Syslog and have the properties in the following table.

PropiedadProperty DescripciónDescription
ComputerComputer Nombre del equipo desde el que se recopiló el evento.Computer that the event was collected from.
FacilityFacility Define la parte del sistema que ha generado el mensaje.Defines the part of the system that generated the message.
HostIPHostIP Dirección IP del sistema que envía el mensaje.IP address of the system sending the message.
HostNameHostName Nombre del sistema que envía el mensaje.Name of the system sending the message.
SeverityLevelSeverityLevel Nivel de gravedad del evento.Severity level of the event.
SyslogMessageSyslogMessage Texto del mensaje.Text of the message.
ProcessIDProcessID Identificador del proceso que ha generado el mensaje.ID of the process that generated the message.
EventTimeEventTime Fecha y hora en que se generó el evento.Date and time that the event was generated.

Consultas de registro con registros de SyslogLog queries with Syslog records

La tabla siguiente proporciona ejemplos distintos de consultas de registro que recuperan registros de Syslog.The following table provides different examples of log queries that retrieve Syslog records.

ConsultarQuery DescripciónDescription
syslogSyslog Todos los registros de Syslog.All Syslogs.
Syslog | where SeverityLevel == "error"Syslog | where SeverityLevel == "error" Todos los registros de Syslog con gravedad de error.All Syslog records with severity of error.
Syslog | summarize AggregatedValue = count() by ComputerSyslog | summarize AggregatedValue = count() by Computer Número de registros de Syslog por equipo.Count of Syslog records by computer.
Syslog | summarize AggregatedValue = count() by FacilitySyslog | summarize AggregatedValue = count() by Facility Número de registros de Syslog por recurso.Count of Syslog records by facility.

Pasos siguientesNext steps