Menggunakan ekstensi parser

Chronicle menyediakan beberapa metode untuk menentukan cara data dalam log mentah asli diurai dan dinormalisasi ke data Model Data Terpadu (UDM).

  • Parser default: Petunjuk pemetaan data bawaan yang dikelola oleh Chronicle yang memetakan data log mentah asli ke kolom UDM.
  • Parser kustom: Petunjuk pemetaan data kustom yang dibuat dan dikelola oleh pelanggan yang memenuhi kebutuhan penguraian data tertentu dari pelanggan.
  • Ekstensi parser: Petunjuk pemetaan data tambahan yang memperluas parser default atau kustom untuk memetakan kolom tambahan dalam log mentah asli. Ini tidak sepenuhnya menggantikan parser default atau kustom, tetapi memperluas petunjuk pemetaan yang ada dalam parser default atau kustom.

Dokumen ini menjelaskan cara menggunakan ekstensi parser.

Sebelum memulai

Dokumen berikut menjelaskan konsep prasyarat yang penting untuk diketahui saat menggunakan ekstensi parser:

Tentang ekstensi parser

Ekstensi parser memungkinkan Anda membuat petunjuk pemetaan tambahan di luar petunjuk yang ditentukan dalam parser default atau kustom untuk memenuhi kasus penggunaan unik. Kemampuan ini dimaksudkan untuk memperluas parser default atau kustom yang ada. Ekstensi parser tidak menggantikan parser default atau kustom. Anda tidak dapat membuat parser baru menggunakan ekstensi parser.

Ekstensi parser akan membaca log mentah asli dan menyisipkan nilai yang diekstrak ke kolom tertentu dalam data UDM. Data UDM berisi data yang ditetapkan oleh parser default atau kustom dan ekstensi parser.

Petunjuk pemetaan data dalam ekstensi parser lebih diutamakan daripada petunjuk dalam parser default atau kustom. Jika ada konflik dalam petunjuk pemetaan, ekstensi parser akan menimpa nilai yang ditetapkan oleh Parser default atau kustom. Misalnya, jika parser default memetakan kolom log mentah ke kolom UDM event.metadata.description dan ekstensi parser memetakan kolom log mentah yang berbeda ke kolom UDM yang sama, ekstensi parser akan menimpa nilai yang ditetapkan oleh parser default. Pengecualian untuk kolom berulang. Anda dapat mengonfigurasi ekstensi parser untuk menambahkan nilai saat menulis data ke kolom berulang.

Alur kerja ekstensi parser

Gambar: Alur kerja ekstensi parser

Anda membuat satu ekstensi parser per jenis log. Setiap jenis log diidentifikasi oleh label penyerapan yang unik. Lihat Parser default yang didukung untuk mengetahui daftar jenis log.

Untuk membuat ekstensi parser, Chronicle harus dapat menyerap dan menormalisasi log mentah asli menggunakan parser default atau kustom. Ekstensi parser mengekstrak data tambahan dari log mentah asli, lalu menggabungkannya ke dalam data UDM.

Ekstensi parser mendukung jenis petunjuk pemetaan berikut:

  • Jenis cuplikan kode: Anda menulis kode parser yang mirip dengan parser default dan kustom. Log mentah asli dapat berupa salah satu format data yang didukung untuk jenis log tersebut.
  • Jenis kolom data: Anda menentukan kolom asal dan tujuan di antarmuka aplikasi. Log mentah asli harus diformat sebagai salah satu dari berikut ini:
    • JSON native, XML native, atau CSV.
    • Header sistem dan JSON asli, XML asli, atau CSV. Anda dapat membuat petunjuk pemetaan jenis kolom data untuk subset Jenis Log di Parser default yang didukung. Cari file dengan format JSON, XML, CSV, SYSLOG + JSON, SYSLOG + XML, dan SYSLOG + CSV.

Perhatikan hal berikut saat Anda membuat ekstensi parser:

  • Data dapat dipetakan ke kolom UDM mana pun yang mendukung jenis data standar dan nilai berulang.
  • Anda tidak dapat memetakan data ke kolom UDM berikut:
    • event.idm.read_only_udm.additional
    • event.idm.graph.entity.additional
  • Sebelum membuat petunjuk pemetaan data, pastikan instance Chronicle Anda telah menyerap log mentah asli dalam 30 hari terakhir untuk jenis log tersebut, dan log mentah ini berisi kolom yang akan Anda tentukan dalam kriteria prakondisi. Log mentah asli ini digunakan untuk memvalidasi petunjuk pemetaan data.
  • Setelah aktif, ekstensi parser akan mulai mengurai data yang masuk. Anda tidak dapat mengurai data log mentah secara surut.

Siklus proses ekstensi parser

Ekstensi parser memiliki siklus proses dengan status berikut:

  • DRAFT: Ekstensi parser yang baru dibuat dan belum dikirim.
  • VALIDATING: Chronicle memvalidasi petunjuk pemetaan terhadap log mentah yang ada untuk memastikan kolom diuraikan tanpa error.
  • LIVE: Ekstensi parser lulus validasi dan kini sedang dalam produksi. Fungsi ini mengekstrak dan mengubah data dari log mentah yang masuk ke data UDM.
  • FAILED: Ekstensi parser gagal divalidasi.

Membuka halaman Ekstensi Parser

Lakukan langkah-langkah di salah satu bagian berikut untuk mengakses halaman Parser Extensions.

Mulai dari menu navigasi

  1. Pada menu navigasi, pilih Settings, SIEM Settings, lalu Parsers.
  2. Identifikasi jenis log yang ingin diperpanjang dalam tabel Parsers.
  3. Buka baris tersebut, lalu klik Menu .
  4. Klik Buat Ekstensi.
  1. Gunakan Penelusuran Log Mentah untuk menelusuri data yang mirip dengan data yang akan diurai.
  2. Pilih peristiwa dari panel Peristiwa > Linimasa.
  3. Luaskan panel Data Peristiwa.
  4. Klik tombol Manage Parser.
  5. Dalam dialog Manage Parser, pilih Create Extension, lalu klik Next. Halaman Parser Extensions akan terbuka dalam mode edit. Anda dapat mulai menentukan ekstensi parser.

Membuat ekstensi parser baru

Bagian ini menjelaskan cara membuat ekstensi parser setelah Anda membuka halaman Ekstensi Parser. Kolom yang tersedia di halaman Parser Extensions akan berbeda, bergantung pada struktur log mentah.

  1. Tinjau contoh log mentah di panel Raw Log untuk mengonfirmasi bahwa contoh tersebut merepresentasikan log yang akan diproses oleh ekstensi parser. Gunakan contoh log mentah sebagai referensi saat membuat ekstensi parser.

    • jika Anda membuka halaman Parser Extensions dari Raw Log Search, panel akan menampilkan log mentah asli yang Anda pilih di hasil penelusuran.

    • jika Anda membuka halaman Parser Extensions di menu navigasi, contoh log mentah untuk jenis log tersebut akan ditampilkan.

  2. Pilih Metode Ekstensi. Pilih salah satu opsi berikut:

    • Petakan kolom data: Buat pemetaan kolom data. Gunakan kolom aplikasi untuk menentukan kolom log mentah asli dan kolom UDM tujuan.

    • Tulis cuplikan kode: Buat cuplikan kode untuk semua format log yang didukung. Cuplikan kode menggunakan sintaksis parser yang sama dengan parser default dan kustom. Untuk informasi selengkapnya tentang sintaksis parser, lihat Sintaksis parser.

Lanjutkan dengan salah satu subbagian berikut khusus untuk Metode Ekstensi yang dipilih.

Buat petunjuk pemetaan kolom data

Buat petunjuk pemetaan kolom data saat log mentah yang masuk berada dalam format JSON, XML, CSV, header Syslog plus JSON, header Syslog plus XML, atau header Syslog dan format CSV. Tentukan jalur ke nama kolom asli dan kolom UDM tujuan dalam petunjuk pemetaan data.

  1. Pada pemilih Repeated Fields, tetapkan cara ekstensi parser menyimpan sebuah nilai ke kolom yang mendukung array nilai.

    • Tambahkan Nilai: Nilai ditambahkan ke kumpulan nilai yang ada yang disimpan di kolom.
    • Ganti Nilai: Nilai mengganti semua nilai yang disimpan sebelumnya dengan nilai baru.

    Beberapa kolom UDM, seperti principal.ip dan entity.asset.hostname, menyimpan array nilai. Kolom berulang ini diidentifikasi dengan label repeated dalam daftar kolom model Data Terpadu. Untuk informasi selengkapnya, lihat Pemilih Kolom Berulang.

  2. Jika kolom Syslog dan Target muncul, Chronicle mendeteksi bahwa log mentah menyertakan header Syslog.

    Jika Chronicle mengidentifikasi bahwa contoh log mentah bukan JSON native, XML native, atau CSV dan memiliki header Syslog, kolom Syslog dan Target akan ditampilkan. Gunakan kolom berikut untuk menentukan pola Grok dan ekspresi reguler yang melakukan pra-pemrosesan header Syslog dan mengekstrak bagian terstruktur log. Bagian log yang terstruktur dapat dipetakan menggunakan kolom data.

    • Kolom Syslog: Menentukan pola ekstraksi, menggunakan Grok dan ekspresi reguler, yang mengidentifikasi header Syslog dan pesan log mentah.
    • Kolom Target: Tentukan nama variabel dalam pola ekstraksi yang menyimpan bagian terstruktur log.

    Untuk mengetahui informasi tentang cara menentukan pola ekstraksi menggunakan Grok dan ekspresi reguler, lihat Menentukan kolom ekstraktor Syslog.

    Gambar berikut memberikan contoh cara menambahkan pola ekstraksi dan nama variabel ke kolom Syslog dan Target.

    Kolom ekstraktor syslog

    Kolom Syslog dan Target wajib ada dan bekerja sama untuk memisahkan header Syslog dari bagian log yang terstruktur.

  3. Setelah memasukkan nilai di kolom Syslog dan Target, klik tombol Validasi. Proses validasi memeriksa error sintaksis dan penguraian, lalu menampilkan salah satu dari hal berikut:

    • Berhasil: Kolom pemetaan data muncul. Tentukan sisa ekstensi parser.
    • Kegagalan: Pesan error muncul. Perbaiki kondisi error sebelum melanjutkan.
  4. Atau, tentukan petunjuk prakondisi.

    Petunjuk prakondisi hanya mengidentifikasi subset log mentah asli yang diproses ekstensi parser dengan mencocokkan nilai statis dengan kolom dalam log mentah. Jika log mentah yang masuk memenuhi kriteria prasyarat, yang berarti nilainya cocok, ekstensi parser akan menerapkan petunjuk pemetaan. Jika nilainya tidak cocok, ekstensi parser tidak akan menerapkan petunjuk pemetaan.

    Lengkapi kolom berikut:

    • Kolom Prasyarat: Masukkan jalur lengkap ke kolom jika format data log adalah JSON atau XML, atau posisi kolom jika format datanya adalah CSV.
    • Operator Prakondisi: Pilih EQUALS atau NOT EQUALS.
    • Precondition Value: Masukkan nilai yang harus cocok dengan data di Kolom Precondition.
  5. Tentukan petunjuk pemetaan data:

    • Raw Data Field: Masukkan jalur lengkap ke kolom jika format data log adalah JSON atau XML, atau posisi kolom jika format datanya adalah CSV.
    • Kolom Tujuan: Masukkan nama kolom UDM yang sepenuhnya memenuhi syarat tempat nilai akan disimpan, misalnya udm.metadata.collected_timestamp.seconds.
  6. Klik Submit untuk menyimpan petunjuk pemetaan.

  7. Chronicle memvalidasi petunjuk pemetaan.

    • Jika proses validasi berhasil, status akan berubah menjadi Aktif dan petunjuk pemetaan mulai memproses data log yang masuk.
    • Jika proses validasi gagal, status akan berubah menjadi Failed dan error akan ditampilkan di kolom Raw Log.

    Berikut adalah contoh error validasi.

    ERROR: generic::unknown: pipeline.ParseLogEntry failed: LOG_PARSING_CBN_ERROR:
    "generic::invalid_argument: pipeline failed: filter mutate (7) failed: copy failure:
    copy source field \"jsonPayload.dest_instance.region\" must not be empty
    (try using replace to provide the value before calling copy)
    
    "LOG: {"insertId":"14suym9fw9f63r","jsonPayload":{"bytes_sent":"492",
    "connection":{"dest_ip":"10.12.12.33","dest_port":32768,"protocol":6,
    "src_ip":"10.142.0.238","src_port":22},"end_time":"2023-02-13T22:38:30.490546349Z",
    "packets_sent":"15","reporter":"SRC","src_instance":{"project_id":"example-labs",
    "region":"us-east1","vm_name":"example-us-east1","zone":"us-east1-b"},
    "src_vpc":{"project_id":"example-labs","subnetwork_name":"default",
    "vpc_name":"default"},"start_time":"2023-02-13T22:38:29.024032655Z"},
    "logName":"projects/example-labs/logs/compute.googleapis.com%2Fvpc_flows",
    "receiveTimestamp":"2023-02-13T22:38:37.443315735Z","resource":{"labels":
    {"location":"us-east1-b","project_id":"example-labs",
      "subnetwork_id":"00000000000000000000","subnetwork_name":"default"},
      "type":"gce_subnetwork"},"timestamp":"2023-02-13T22:38:37.443315735Z"}
    

Lihat Kolom dalam petunjuk pemetaan data untuk mengetahui daftar semua kolom yang memungkinkan dalam ekstensi parser.

Kolom dalam petunjuk pemetaan data

Bagian ini menjelaskan semua kolom yang dapat ditetapkan di ekstensi parser.

Nama kolom Deskripsi
Syslog Pola yang ditentukan pengguna, yang melakukan pra-pemrosesan dan memisahkan header Syslog dari ramuan terstruktur log mentah.
Target Nama variabel di kolom Syslog yang menyimpan bagian terstruktur log.
Kolom Prasyarat ID kolom di log mentah yang berisi nilai yang akan dibandingkan. Digunakan dalam petunjuk prakondisi.
Operator Prakondisi Pilih antara EQUALS atau NOT EQUALS. Digunakan dalam petunjuk prakondisi.
Nilai Prakondisi Nilai statis yang akan dibandingkan dengan Kolom Prasyarat di log mentah. Digunakan dalam petunjuk prakondisi.
Kolom Data Mentah

Digunakan dalam petunjuk pemetaan.

Jika format data adalah JSON, tentukan jalur ke kolom, misalnya: jsonPayload.connection.dest_ip.

Jika format datanya adalah XML, tentukan jalur lengkap ke kolom tersebut, misalnya: /Event/Reason-Code.

Jika format data adalah CSV, tentukan posisi indeks kolom. Posisi indeks dimulai dari 1.

Kolom Tujuan

Digunakan dalam petunjuk pemetaan.

Tentukan jalur lengkap ke kolom UDM tempat data akan disimpan. Misalnya:

udm.network.dhcp.opcode

atau

graph.entity.asset.hostname

Buat petunjuk pemetaan cuplikan kode

Cuplikan kode menggunakan sintaksis mirip Logstash untuk menentukan cara mengekstrak dan mengubah nilai dalam log mentah asli dan menetapkannya ke data UDM. Cuplikan kode menggunakan sintaksis dan bagian petunjuk yang sama dengan parser default atau kustom. Bagian dalam cuplikan kode adalah sebagai berikut:

  • Bagian 1. Ekstrak data dari log asli.
  • Bagian 2. Mengubah data yang diekstrak.
  • Bagian 3. Tetapkan satu atau beberapa nilai ke kolom UDM.
  • Bagian 4. Ikat kolom peristiwa UDM ke kunci @output.

Contoh berikut mengilustrasikan cuplikan kode sederhana.

Berikut adalah contoh sederhana log mentah:

{
    "insertId": "00000000",
    "jsonPayload": {
        ...section omitted for brevity...
        "packets_sent": "4",
        ...section omitted for brevity...
    },
    "timestamp": "2022-05-03T01:45:00.150614953Z"
}

Berikut adalah contoh cuplikan kode yang memetakan nilai dalam jsonPayload.packets_sent ke kolom UDM network.sent_bytes.

filter {
    # Section 1. extract the data from the original JSON log
    json {
        source => "message"
        array_function => "split_columns"
    }

   # Section 2. transform the extracted data
    mutate {
      convert => {
        "jsonPayload.packets_sent" => "uinteger"
      }
    }

    # Section 3. assign the value to a UDM field
    mutate {
        copy => {
          "event.idm.read_only_udm.network.sent_bytes" => "jsonPayload.packets_sent"
        }
    }

    # Section 4. Bind the UDM fields to the @output key
    mutate {
      merge => {
          "@output" => "event"
      }
    }
}
  1. Klik Submit untuk menyimpan petunjuk pemetaan.

  2. Chronicle memvalidasi petunjuk pemetaan.

    • Jika proses validasi berhasil, status akan berubah menjadi Aktif dan petunjuk pemetaan mulai memproses data log yang masuk.
    • Jika proses validasi gagal, status akan berubah menjadi Failed dan error akan ditampilkan di kolom Raw Log.

Melihat ekstensi parser yang ada

  1. Pada menu navigasi, pilih Settings, SIEM Settings, lalu Parsers.
  2. Di daftar Parsers, identifikasi jenis log dengan ekstensi parser. Nama ini diidentifikasi dengan teks EXTENSION di samping nama.
  3. Buka baris tersebut, lalu klik Menu .
  4. Klik Lihat Ekstensi.
  5. Parser View Custom/Prebuilt > Extension tab muncul bersama detail tentang ekstensi parser. Panel ringkasan menampilkan ekstensi parser LIVE secara default. jika ada

Mengedit ekstensi parser

  1. Buka View Custom/Prebuilt Parser > Extension tab. Baca Melihat ekstensi parser yang ada untuk mengetahui petunjuk cara membuka halaman.
  2. Klik tombol Edit Ekstensi. Halaman Parser Extensions akan muncul.
  3. Edit ekstensi paser.
    • Untuk membatalkan pengeditan dan menghapus perubahan, klik Hapus Draf.
  4. Setelah selesai mengedit ekstensi parser, klik Kirim.
  5. Jika Anda mengirimkan perubahan, proses validasi akan berjalan untuk memvalidasi konfigurasi baru.

Menghapus ekstensi parser

  1. Buka View Custom/Prebuilt Parser > Extension tab. Baca Melihat ekstensi parser yang ada untuk mendapatkan petunjuk tentang cara membuka halaman tersebut.

  2. Klik tombol Edit Ekstensi. Halaman Parser Extensions akan muncul.

  3. Klik tombol Hapus Ekstensi.

Saat mengedit ekstensi parser, Anda dapat menghapusnya kapan saja. Klik salah satu opsi berikut:

  • Hapus Draf
  • Menghapus Ekstensi yang Gagal

Selengkapnya tentang pemilih kolom berulang

Beberapa kolom UDM menyimpan array nilai, seperti principal.ip dan Entity.asset.hostname. Jika Anda membuat ekstensi parser untuk menyimpan data di kolom berulang, opsi ini memungkinkan Anda mengontrol apakah nilai akan ditambahkan ke array atau tidak, atau mengganti semua nilai yang ada, yang ditetapkan oleh parser default. Kolom berulang diidentifikasi dengan label yang diulang dalam daftar kolom Model Data Terpadu.

Jika Appends values dipilih, ekstensi parser akan menambahkan nilai yang diekstrak ke array nilai yang ada di kolom UDM. Jika Replace Values dipilih, ekstensi parser akan mengganti array nilai yang ada di kolom UDM dengan nilai yang diekstrak. Pemilih Kolom Berulang tidak memengaruhi cara data disimpan dalam kolom yang tidak diulang.

Ekstensi parser dapat memetakan data ke kolom berulang hanya jika kolom berulang berada di tingkat hierarki terendah. Misalnya, pemetaan nilai ke udm.principal.ip didukung karena kolom ip berulang berada di tingkat hierarki terendah dan principal bukan kolom berulang. Memetakan nilai ke udm.intermediary.hostname tidak didukung karena intermediary adalah kolom berulang dan tidak berada di tingkat hierarki terendah.

Tabel berikut memberikan contoh bagaimana konfigurasi Kolom Berulang memengaruhi data UDM yang dihasilkan.

Pilihan Kolom Berulang Contoh log Konfigurasi ekstensi parser Hasil yang dihasilkan
Tambahkan Nilai {"protoPayload":{"@type":"type.AuditLog","authenticationInfo":{"principalEmail":"admin@cmmar.co"},"requestMetadata":{"callerIp":"1.1.1.1, 2.2.2.2"}}} Kolom Prakondisi: protoPayload.requestMetadata.callerIp
Nilai Prakondisi: " "
Operator Prakondisi: NOT_EQUALS
Kolom Data Mentah: protoPayload.requestMetadata.callerIp
Kolom Tujuan: event.idm.read_only_udm.principal.ip
metadata:{event_timestamp:{}.....}principal:{Ip:"1.1.1.1, 2.2.2.2"} } }
Tambahkan Nilai {"protoPayload":{"@type":"type.AuditLog","authenticationInfo":{"principalEmail":"admin@cmmar.co"},"requestMetadata":{"callerIp":"2.2.2.2, 3.3.3.3", "name":"Akamai Ltd"}}} Prasyarat 1:
Kolom Prasyarat:protoPayload.requestMetadata.callerIp
Nilai Prakondisi: " "
Operator Prakondisi: NOT_EQUALS
Kolom Data Mentah: protoPayload.requestMetadata.callerIp
Kolom Tujuan: event.idm.read_only_udm.principal.ip

Prasyarat 2:
Kolom Data Mentah: protoPayload.requestMetadata.name
Kolom Tujuan: event.idm.read_only_udm.metadata.product_name

Peristiwa yang dibuat oleh parser bawaan sebelum menerapkan ekstensi.
metadata:{event_timestamp:{} ... principal:{ip:"1.1.1.1"}}}

Output setelah menerapkan ekstensi.
timestamp:{} idm:{read_only_udm:{metadata:{event_timestamp:{} .... product_name: "Akamai Ltd"}principal:{ip:"1.1.1.1, 2.2.2.2, 3.3.3.3"}}}

Ganti Nilai {"protoPayload":{"@type":"type..AuditLog","authenticationInfo":{"principalEmail":"admin@cmmar.co"},"requestMetadata":{"callerIp":"2.2.2.2"}}} Kolom Prakondisi: protoPayload.authenticationInfo.principalEmail
Nilai Prakondisi: " "
Operator Prakondisi: NOT_EQUALS
Kolom Data Mentah: protoPayload.authenticationInfo.principalEmail
Kolom Tujuan: event.idm.read_only_udm.principal.ip
Peristiwa UDM yang dibuat oleh parser bawaan sebelum menerapkan ekstensi.
timestamp:{} idm:{read_only_udm:{metadata:{event_timestamp:{} ... principal:{ip:"1.1.1.1"}}}

Output UDM setelah menerapkan ekstensi timestamp:{} idm:{read_only_udm:{metadata:{event_timestamp:{} ....} principal:{ip:"2.2.2.2"}}}

Selengkapnya tentang kolom ekstraktor Syslog

Kolom ekstraktor Syslog memungkinkan Anda memisahkan header Syslog dari log terstruktur dengan menentukan Grok, ekspresi reguler, serta token bernama dalam pola ekspresi reguler untuk menyimpan output.

Menentukan kolom ekstraktor Syslog

Nilai di kolom Syslog dan Target bekerja sama untuk menentukan cara ekstensi parser memisahkan header Syslog dari bagian terstruktur log mentah. Di kolom Syslog, tentukan ekspresi menggunakan kombinasi sintaksis ekspresi reguler dan Grok. Ekspresi tersebut mencakup nama variabel yang mengidentifikasi bagian terstruktur dari log mentah. Di kolom Target, Anda dapat menentukan nama variabel tersebut.

Contoh berikut mengilustrasikan bagaimana kolom-kolom ini bekerja sama.

Berikut adalah contoh log mentah:

<13>1 2022-09-14T15:03:04+00:00 fieldname fieldname - - - {"timestamp": "2021-03-14T14:54:40.842152+0000","flow_id": 1885148860701096, "src_ip": "10.11.22.1","src_port": 51972,"dest_ip": "1.2.3.4","dest_port": 55291,"proto": "TCP"}

Log mentah berisi bagian-bagian berikut:

  • Header Syslog: <13> 2022-09-14T15:03:04+00:00 fieldname fieldname - - -

  • Peristiwa berformat JSON: {"timestamp": "2021-03-14T14:54:40.842152+0000","flow_id": 1885148860701096, "src_ip": "10.11.22.1","src_port": 51972,"dest_ip": "1.2.3.4","dest_port": 55291,"proto": "TCP"}

Untuk memisahkan header Syslog dari bagian JSON log mentah, gunakan contoh ekspresi berikut di kolom Syslog: %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:msg}

  • Bagian ekspresi ini mengidentifikasi header Syslog: %{TIMESTAMP\_ISO8601} %{WORD} %{WORD} ([- ]+)?
  • Bagian ekspresi ini menangkap segmen JSON dari log mentah: %{GREEDYDATA:msg}

Contoh ini menyertakan nama variabel msg. Anda memilih nama variabel. Ekstensi parser mengekstrak segmen JSON dari log mentah dan menetapkannya ke variabel msg.

Di kolom Target, masukkan nama variabel msg. Nilai yang disimpan dalam variabel msg adalah input ke petunjuk pemetaan kolom data yang Anda buat di ekstensi parser.

Dengan menggunakan contoh log mentah di atas, segmen berikut adalah input untuk petunjuk pemetaan data:

{"timestamp": "2021-03-14T14:54:40.842152+0000","flow_id": 1885148860701096, "src_ip": "10.11.22.1","src_port": 51972,"dest_ip": "1.2.3.4","dest_port": 55291,"proto": "TCP"}

Gambar berikut menunjukkan kolom Syslog dan Target yang telah selesai:

Kolom ekstraktor syslog

Tabel berikut memberikan contoh tambahan dengan log contoh, pola ekstraksi Syslog, nama variabel Target, dan hasilnya.

Contoh log mentah Kolom Syslog Kolom target Hasil
<13>1 2022-07-14T15:03:04+00:00 suricata suricata - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"}" %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:msg} msg field_mappings { field: "msg" value: "{\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"}" }
<13>1 2022-07-14T15:03:04+00:00 suricata suricata - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\"} - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"} %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:msg1} ([- ]+)?%{GREEDYDATA:msg2} msg2 field_mappings { field: "msg2" value: "{\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"}" }
"<13>1 2022-07-14T15:03:04+00:00 suricata suricata - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\"} - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"}" %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:message} ([- ]+)?%{GREEDYDATA:msg2} msg2 Error - message already exists in state and not overwritable.

Mengontrol akses ke ekstensi parser

Izin baru tersedia untuk mengontrol siapa yang dapat melihat dan mengelola ekstensi Parser. Secara default, ekstensi parser dapat diakses oleh pengguna dengan peran Administrator. Untuk mengetahui informasi selengkapnya tentang cara mengelola Pengguna dan Grup, atau menetapkan peran, lihat Kontrol Akses Berbasis Peran untuk mengetahui informasi selengkapnya.

Peran baru di Chronicle dirangkum dalam tabel berikut.

Fitur Tindakan Deskripsi
Parser Hapus Hapus ekstensi parser.
Parser Edit Membuat dan mengedit ekstensi parser.
Parser Lihat Lihat ekstensi parser.

Akses dasar peran ke ekstensi parser

Gambar: Peran yang memberikan akses ke ekstensi parser