Todos los productos
Search
Centro de documentos

Simple Log Service:Análisis de datos con formato Syslog estándar

Última actualización: Sep 02, 2026

Syslog es un protocolo estándar de la industria para el registro de logs de dispositivos. Se utiliza comúnmente en la gestión de redes, la gestión de seguridad y la auditoría de registros. Puede usar la función GROK en el lenguaje específico de dominio (DSL) de Simple Log Service (SLS) para analizar de manera eficiente registros Syslog en diversos formatos.

Descripción general

Syslog se usa ampliamente para los registros del sistema en sistemas operativos tipo Unix. Los mensajes Syslog se pueden guardar en archivos locales o enviar a través de la red a un servidor receptor. El servidor puede almacenar de forma centralizada mensajes Syslog de varios dispositivos o analizar su contenido para procesarlos posteriormente.

Problema

Durante mucho tiempo no existió un estándar que regulara el formato Syslog, lo que provocó inconsistencias en el formato o la ausencia total de uno definido. Esto dificulta el análisis programático de los mensajes Syslog, ya que a menudo solo se pueden tratar como cadenas de texto simples. Por lo tanto, es fundamental comprender cómo analizar registros Syslog en distintos formatos.

Introducción a los estándares del protocolo Syslog

En la industria se utilizan dos protocolos Syslog comunes: RFC 5424 (publicado en 2009) y RFC 3164 (publicado en 2001). Las siguientes secciones describen las diferencias entre estos dos protocolos. Comprender estas diferencias le permite usar GROK para analizar registros Syslog con flexibilidad.

  • Protocolo RFC 5424

    El protocolo RFC 5424 incluye los siguientes campos. Para obtener más información, consulte el documento oficial del protocolo.

    PRI VERSION SP TIMESTAMP SP HOSTNAME SP APP-NAME SP PROCID SP MSGID

    Los siguientes ejemplos describen estos campos:

    """
    Example1:
    <34>1 2019-07-11T22:14:15.003Z aliyun.example.com ali - ID47 - BOM'su user' failed for lonvick on /dev/pts/8
    """
    PRI -- 34
    VERSION -- 1
    TIMESTAMP -- 2019-07-11T22:14:15.003Z
    HOSTNAME -- aliyun.example.com
    APP-NAME -- ali
    PROCID -- None
    MSGID -- ID47
    MESSAGE -- 'su user' failed for lonvick on /dev/pts/8
    """
    Example2:
    <165>1 2019-07-11T22:14:15.000003-07:00 192.0.2.1 myproc 8710 - - %% It's time to make the do-nuts.
    """
    PRI -- 165
    VERSION -- 1
    TIMESTAMP -- 2019-07-11T05:14:15.000003-07:00
    HOSTNAME -- 192.0.2.1
    APP-NAME -- myproc
    PROCID -- 8710
    STRUCTURED-DATA -- "-"
    MSGID -- "-"
    MESSAGE -- "%% It's time to make the do-nuts."
    """
    Example3: - with STRUCTURED-DATA
    <165>1 2019-07-11T22:14:15.003Z aliyun.example.com
               evntslog - ID47 [exampleSDID@32473 iut="3" eventSource=
               "Application" eventID="1011"] BOMAn application
               event log entry...
    """
    PRI -- 165
    VERSION -- 1
    TIMESTAMP -- 2019-07-11T22:14:15.003Z
    HOSTNAME -- aliyun.example.com
    APP-NAME -- evntslog
    PROCID -- "-"
    MSGID -- ID47
    STRUCTURED-DATA -- [exampleSDID@32473 iut="3" eventSource="Application" eventID="1011"]
    MESSAGE -- An application event log entry...
  • Protocolo RFC 3164

    El protocolo RFC 3164 incluye los siguientes campos. Para obtener más información, consulte el documento oficial del protocolo.

    PRI HEADER[TIME HOSTNAME] MSG

    El siguiente ejemplo describe estos campos:

    """
    <30>Oct 9 22:33:20 hlfedora auditd[1787]: The audit daemon is exiting.
    """
    PRI -- 30
    HEADER
    - TIME -- Oct 9 22:33:20
    - HOSTNAME -- hlfedora
    MSG
    - TAG -- auditd[1787]
    - Content -- The audit daemon is exiting.

Uso de GROK para analizar formatos Syslog comunes

Puede utilizar GROK para analizar varios formatos Syslog comunes. Para obtener más información sobre las reglas de GROK, consulte GROK pattern reference.

  • Análisis del formato TraditionalFormat

    • Registro sin procesar

        receive_time: 1558663265
        __topic__:
        content: May  5 10:20:57 iZbp1a65x3r1vhpe94fi2qZ systemd: Started System Logging Service.
    • Regla DSL de SLS

      e_regex('content', grok('%{SYSLOGBASE} %{GREEDYDATA:message}'))
    • Resultado del procesamiento

        receive_time: 1558663265
        __topic__:
        content: May  5 10:20:57 iZbp1a65x3r1vhpe94fi2qZ systemd: Started System Logging Service.
        timestamp: May  5 10:20:57
        logsource: iZbp1a65x3r1vhpe94fi2qZ
        program: systemd
        message: Started System Logging Service.
  • Análisis del formato FileFormat

    • Registro sin procesar

        receive_time: 1558663265
        __topic__:
        content: 2019-05-06T09:26:07.874593+08:00 iZbp1a65x3r1vhpe94fi2qZ user: 834753
    • Regla DSL de SLS

      e_regex('content',grok('%{TIMESTAMP_ISO8601:timestamp} %{SYSLOGHOST:hostname} %{SYSLOGPROG} %{GREEDYDATA:message}'))
    • Resultado del procesamiento

        receive_time: 1558663265
        __topic__:
        content: 2019-05-06T09:26:07.874593+08:00 iZbp1a65x3r1vhpe94fi2qZ user: 834753
        timestamp: 2019-05-06T09:26:07.874593+08:00
        hostname: iZbp1a65x3r1vhpe94fi2qZ
        program: user
        message: 834753
  • Análisis de registros en formato RSYSLOG_SyslogProtocol23Format

    • Registro sin procesar

        receive_time: 1558663265
        __topic__:
        content: <13>1 2019-05-06T11:50:16.015554+08:00 iZbp1a65x3r1vhpe94fi2qZ user - - - twish
    • Regla DSL de SLS

      e_regex('content',grok('%{POSINT:priority}>%{NUMBER:version} %{TIMESTAMP_ISO8601:timestamp} %{SYSLOGHOST:hostname} %{PROG:program} - - - %{GREEDYDATA:message}'))
    • Resultado del procesamiento

        receive_time: 1558663265
        __topic__:
        content: <13>1 2019-05-06T11:50:16.015554+08:00 iZbp1a65x3r1vhpe94fi2qZ user - - - twish
        priority: 13
        version: 1
        timestamp: 2019-05-06T11:50:16.015554+08:00
        hostname: iZbp1a65x3r1vhpe94fi2qZ
        program: user
        message: twish
  • Análisis del formato RSYSLOG_DebugFormat

    • Registro sin procesar

        receive_time: 1558663265
        __topic__:
        content: 2019-05-06T14:29:37.558854+08:00 iZbp1a65x3r1vhpe94fi2qZ user: environment
    • Regla DSL de SLS

      e_regex('content',grok('%{TIMESTAMP_ISO8601:timestamp} %{SYSLOGHOST:hostname} %{SYSLOGPROG} %{GREEDYDATA:message}'))
    • Resultado del procesamiento

        receive_time: 1558663265
        __topic__:
        content: 2019-05-06T14:29:37.558854+08:00 iZbp1a65x3r1vhpe94fi2qZ user: environment
        timestamp: 2019-05-06T14:29:37.558854+08:00 
        hostname: iZbp1a65x3r1vhpe94fi2qZ
        program: user
        message: environment

Uso de GROK para analizar formatos de registro Syslog poco comunes

Puede usar GROK para analizar dos formatos Syslog poco comunes que utiliza Fluentd: FluentRFC5424 y FluentRFC3164.

  • Formato FluentRFC5424

    • Registro sin procesar

        receive_time: 1558663265
        __topic__:
        content: <16>1 2019-02-28T12:00:00.003Z 192.168.0.1 aliyun 11111 ID24224 [exampleSDID@20224 iut='3' eventSource='Application' eventID='11211] Hi, from Fluentd!
    • Regla DSL de SLS

      e_regex('content',grok('%{POSINT:priority}>%{NUMBER:version} %{TIMESTAMP_ISO8601:timestamp} %{SYSLOGHOST:hostname} %{WORD:ident} %{USER:pid} %{USERNAME:msgid} (?P<extradata>(\[(.*)\]|[^ ])) %{GREEDYDATA:message}'))
    • Resultado del procesamiento

        receive_time: 1558663265
        __topic__:
        content: <16>1 2019-02-28T12:00:00.003Z 192.168.0.1 aliyun 11111 ID24224 [exampleSDID@20224 iut='3' eventSource='Application' eventID='11211] Hi, from aliyun!
        priority: 16
        version: 1
        timestamp: 2019-02-28T12:00:00.003Z
        hostname: 192.168.0.1
        ident: aliyun
        pid: 11111
        msgid: ID24224
        extradata: [exampleSDID@20224 iut='3' eventSource='Application' eventID='11211]
        message: Hi, from aliyun!
  • Formato FluentRFC3164

    • Registro sin procesar

        receive_time: 1558663265
        __topic__:
        content: <6>Feb 28 12:00:00 192.168.0.1 aliyun[11111]: [error] Syslog test
    • Regla DSL de SLS

      e_regex('content', grok('%{POSINT:priority}>%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:hostname} %{WORD:ident}(?P<pid>(\[[a-zA-Z0-9._-]+\]|[^:])): (?P<level>(\[(\w+)\]|[^ ])) %{GREEDYDATA:message}'))
    • Resultado del procesamiento

       receive_time: 1558663265
        __topic__:
        content: <6>Feb 28 12:00:00 192.168.0.1 aliyun[11111]: [error] Syslog test
        priority: 6
        timestamp: Feb 28 12:00:00
        hostname: 192.168.0.1
        ident: aliyun
        pid: [11111]
        level: [error]
        message: Syslog test
  • Análisis extendido de prioridad

    Después de analizar registros Syslog en formato FluentRFC5424 o FluentRFC3164, puede analizar adicionalmente el campo de prioridad para extraer información de facility y severidad. Para obtener más información, consulte e_syslogrfc. A continuación se muestra un ejemplo:

    • Registro sin procesar

      receive_time: 1558663265
        __topic__:
        content: <13>1 2019-05-06T11:50:16.015554+08:00 iZbp1a65x3r1vhpe94fi2qZ user - - - twish
        priority: 13
        version: 1
        timestamp: 2019-05-06T11:50:16.015554+08:00
        hostname: iZbp1a65x3r1vhpe94fi2qZ
        program: user
        message: twish
    • Regla DSL de SLS

      e_syslogrfc("priority","SYSLOGRFC5424")
    • Resultado del procesamiento

        receive_time: 1558663265
        __topic__:
        content: <13>1 2019-05-06T11:50:16.015554+08:00 iZbp1a65x3r1vhpe94fi2qZ user - - - twish
        priority: 13
        version: 1
        timestamp: 2019-05-06T11:50:16.015554+08:00
        hostname: iZbp1a65x3r1vhpe94fi2qZ
        program: user
        message: twish
        _facility_: 1
        _severity_: 5
        _severitylabel_: Notice: normal but significant condition
        _facilitylabel_: user-level messages