全部产品
Search
文档中心

Simple Log Service:Mengurai Pesan Syslog dalam Format Standar

更新时间:Jul 02, 2025

Syslog adalah protokol standar industri yang digunakan untuk mencatat log perangkat. Protokol ini umumnya diterapkan dalam alat manajemen jaringan, sistem manajemen keamanan, dan sistem audit log. Topik ini menjelaskan cara menggunakan fungsi Grok dalam Domain Specific Language (DSL) dari Simple Log Service untuk mengurai pesan Syslog dalam berbagai format.

Ikhtisar

Syslog banyak digunakan untuk pencatatan pesan dalam sistem operasi mirip UNIX. Pesan Syslog dapat dicatat dalam file lokal atau dikirim ke server Syslog melalui Internet. Setiap server dapat menyimpan dan mengurai pesan Syslog dari beberapa perangkat.

Informasi latar belakang

Pesan Syslog tradisional sering kali berada dalam format acak karena kurangnya standarisasi Syslog. Dalam beberapa kasus, pesan Syslog mungkin gagal diurai karena hanya dianggap sebagai string. Oleh karena itu, akurasi menjadi prioritas utama saat Anda mengurai pesan Syslog dalam format berbeda.

Protokol Syslog

Dua protokol Syslog yang umum digunakan dalam industri adalah RFC 5424 yang diterbitkan pada tahun 2009 dan RFC 3164 yang diterbitkan pada tahun 2001. Bagian ini menjelaskan perbedaan antara kedua protokol tersebut untuk membantu Anda lebih efektif menggunakan fungsi Grok dalam mengurai pesan Syslog.

  • RFC 5424

    Pesan Syslog yang menggunakan protokol RFC 5424 mencakup bidang-bidang berikut. Untuk informasi lebih lanjut, lihat RFC 5424 - Protokol Syslog.

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

    Contoh berikut mengilustrasikan bidang-bidang ini:

    """
    Contoh1:
    <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
    """
    Contoh2:
    <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."
    """
    Contoh3: - dengan 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...
  • RFC 3164

    Pesan Syslog yang menggunakan protokol RFC 3164 mencakup bidang-bidang berikut. Untuk informasi lebih lanjut, lihat RFC 3164 - Protokol BSD Syslog.

    PRI HEADER[TIME HOSTNAME] MSG

    Contoh berikut mengilustrasikan bidang-bidang ini:

    """
    <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.

Mengurai Pesan Syslog dalam Format Umum Menggunakan Fungsi Grok

Bagian ini menjelaskan cara menggunakan fungsi Grok untuk mengurai pesan Syslog dalam format umum. Untuk informasi lebih lanjut tentang aturan Grok, lihat Pola Grok.

  • TraditionalFormat

    • Entri Log Mentah

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

      e_regex('content', grok('%{SYSLOGBASE} %{GREEDYDATA:message}'))
    • Hasil

        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.
  • FileFormat

    • Entri Log Mentah

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

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

        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
  • RSYSLOG_SyslogProtocol23Format

    • Entri Log Mentah

        receive_time: 1558663265
        __topic__:
        content: <13>1 2019-05-06T11:50:16.015554+08:00 iZbp1a65x3r1vhpe94fi2qZ user - - - twant
    • Orkestrasi DSL

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

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

    • Konten Log

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

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

        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

Mengurai Pesan Syslog dalam Format Tidak Umum Menggunakan Fungsi Grok

Bagian ini menjelaskan cara menggunakan fungsi Grok untuk mengurai pesan Syslog dalam dua format tidak umum: FluentRFC5424 dan FluentRFC3164. Pesan-pesan ini dikumpulkan menggunakan perangkat lunak Fluent.

  • FluentRFC5424

    • Konten Log

        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!
    • Orkestrasi DSL

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

        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!
  • FluentRFC3164

    • Konten Log

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

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

       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
  • Mengurai Bidang Prioritas dalam Entri Log

    Setelah Anda mengurai pesan Syslog dalam format FluentRFC5424 dan FluentRFC3164, Anda dapat lebih lanjut mengurai bidang prioritas untuk mendapatkan informasi tentang fasilitas dan tingkat keparahan. Untuk informasi lebih lanjut tentang penggunaan RFC5424, lihat e_syslogrfc. Contoh:

    • Entri Log Mentah

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

      e_syslogrfc("priority","SYSLOGRFC5424")
    • Hasil

        receive_time: 1558663265
        __topic__:
        content: <13>1 2019-05-06T11:50:16.015554+08:00 iZbp1a65x3r1vhpe94fi2qZ user - - - twant
        priority: 13
        version: 1
        timestamp: 2019-05-06T11:50:16.015554+08:00
        hostname: iZbp1a65x3r1vhpe94fi2qZ
        program: user
        message: twant
        _facility_: 1
        _severity_: 5
        _severitylabel_: Pemberitahuan: kondisi normal tetapi signifikan
        _facilitylabel_: pesan tingkat pengguna