全部产品
Search
文档中心

Simple Log Service:Plugin penyaringan data

更新时间:Nov 12, 2025

Anda dapat menggunakan plugin penyaringan data untuk menyaring log berdasarkan kondisi tertentu. Hasil penyaringan menentukan apakah suatu catatan log dikumpulkan.

Ikhtisar plugin penyaringan data

Layanan Log Sederhana menyediakan jenis plugin penyaringan data berikut. Anda dapat memilih salah satu sesuai kebutuhan Anda.

Nama Plugin

Tipe

Deskripsi

Filter

Native

Tetapkan ekspresi reguler daftar putih untuk hanya mengumpulkan log yang nilai field-nya cocok sepenuhnya dengan ekspresi reguler yang ditentukan.

Filter Logs

Ekstensi

Mendukung dua mode penyaringan:

  • Filter log berdasarkan nilai menggunakan ekspresi reguler: Mencocokkan nilai field menggunakan ekspresi reguler. Mendukung kombinasi kondisi pengumpulan dan pembuangan.

  • Filter log berdasarkan kunci menggunakan ekspresi reguler: Mencocokkan nama field (kunci) menggunakan ekspresi reguler. Menyaring log berdasarkan keberadaan suatu field.

Titik masuk

Jika ingin menggunakan plug-in Logtail untuk memproses log, Anda dapat menambahkan konfigurasi plug-in Logtail saat membuat atau mengubah konfigurasi Logtail. Untuk informasi selengkapnya, lihat Ikhtisar.

Perbedaan antara plugin native dan ekstensi

Plugin native diimplementasikan dalam C++ dan menawarkan kinerja lebih tinggi.

Plugin ekstensi diimplementasikan dalam Go dan menawarkan ekosistem yang kaya serta fleksibel. Anda dapat menggunakan plugin ekstensi jika log bisnis Anda terlalu kompleks untuk diproses oleh plugin native.

  • Batasan kinerja plugin ekstensi

    • Saat menggunakan plugin ekstensi untuk memproses log, LoongCollector mengonsumsi lebih banyak sumber daya, terutama CPU. Jika perlu, Anda dapat menyesuaikan pengaturan parameter LoongCollector untuk melakukan optimasi untuk penundaan transmisi log yang panjang.

    • Jika kecepatan pembuatan data mentah melebihi 5 MB/detik, kami menyarankan agar Anda tidak menggunakan kombinasi plugin kompleks untuk memproses log. Sebagai gantinya, gunakan plugin ekstensi untuk pemrosesan sederhana, lalu lanjutkan dengan transformasi data untuk pemrosesan lebih lanjut.

  • Batasan pengumpulan log

    • Plugin ekstensi memproses log teks dalam mode baris. Artinya, metadata tingkat file seperti __tag__:__path__ dan __topic__ disimpan dalam setiap catatan log.

    • Penambahan plugin ekstensi memengaruhi fitur terkait tag sebagai berikut:

      • Fitur kueri kontekstual dan LiveTail menjadi tidak tersedia. Untuk menggunakan fitur ini, Anda harus menambahkan konfigurasi aggregators.

      • Field __topic__ diganti namanya menjadi __log_topic__. Jika Anda menambahkan konfigurasi aggregators, kedua field __topic__ dan __log_topic__ akan ada dalam log. Jika Anda tidak memerlukan field __log_topic__, Anda dapat menggunakan plugin drop field untuk menghapusnya.

      • Field seperti __tag__:__path__ tidak lagi memiliki indeks bidang native. Anda harus membuat indeks bidang untuknya.

Plugin Filter (native)

Plugin filter menyaring log berdasarkan nilai field log tertentu.

Deskripsi konfigurasi

Parameter

Deskripsi

Whitelist

Hanya mengumpulkan log yang memenuhi kondisi daftar putih. Tetapkan nama field target dan ekspresi reguler untuk penyaringan. Ekspresi reguler ini hanya mendukung pencocokan teks lengkap, bukan pencocokan kata kunci parsial. Untuk informasi tentang cara mengonfigurasi ekspresi reguler, lihat Tutorial ekspresi reguler.

Kondisi untuk beberapa daftar putih digabungkan dengan logika AND. Contoh berikut menunjukkan cara menggunakan daftar putih:

  • Menyaring log yang memenuhi kondisi tertentu.

    • Tetapkan Field Name ke level dan Field Value ke WARNING|ERROR. Ini hanya mengumpulkan log di mana field level bernilai WARNING atau ERROR.

    • Tetapkan Field Name ke content dan Field Value ke .*05\/Jan\/2023.*. Ini hanya mengumpulkan log di mana field content berisi 05/Jan/2023.

  • Menyaring log yang tidak memenuhi kondisi tertentu.

    • Tetapkan Field Name ke level dan Field Value ke ^(?!.*(INFO|DEBUG)).*. Ini membuang log di mana field level berisi INFO atau DEBUG.

    • Tetapkan Field Name ke level dan Field Value ke ^(?!(INFO|DEBUG)$).*. Ini membuang log di mana field level tepat bernilai INFO atau DEBUG.

    • Tetapkan Field Name ke url dan Field Value ke .*^(?!.*(healthcheck)).*. Ini membuang log di mana field url berisi healthcheck.

Plugin Filter Logs (ekstensi)

Anda dapat menggunakan plugin processor_filter_regex atau processor_filter_key_regex untuk menyaring log. Bagian ini menjelaskan parameter dan memberikan contoh konfigurasi untuk masing-masing plugin.

Batasan

  • Log teks dan keluaran standar kontainer hanya mendukung konfigurasi berbasis formulir. Sumber input lain hanya mendukung konfigurasi JSON.

  • Mesin ekspresi reguler Go berbasis RE2 dan memiliki batasan berikut dibandingkan mesin PCRE:

    • Perbedaan sintaks grup bernama

      Go menggunakan sintaks (?P<name>...), bukan sintaks (?<name>...) yang digunakan oleh PCRE.

    • Pola ekspresi reguler yang tidak didukung

      • Assertion: (?=...), (?!...), (?<=...), dan (?<!...).

      • Ekspresi kondisional: (?(condition)true|false).

      • Pencocokan rekursif: (?R) dan (?0).

      • Referensi subprogram: (?&name) dan (?P>name).

      • Grup atomik: (?>...).

    Saat men-debug ekspresi reguler dengan alat seperti Regex101, hindari penggunaan pola yang tidak didukung. Jika tidak, plugin tidak dapat memproses log.

processor_filter_regex (filter berdasarkan nilai menggunakan ekspresi reguler)

Plugin ini menyaring log dengan mencocokkan nilai field log tertentu dengan ekspresi reguler.

Konfigurasi berbasis formulir

  • Parameter

    Tetapkan Processor Type ke Filter Logs By Value Using Regular Expressions. Tabel berikut menjelaskan parameter tersebut.

    Catatan

    Log hanya dikumpulkan jika nilai field log cocok sepenuhnya dengan ekspresi reguler di bagian Collect Logs dan tidak cocok dengan ekspresi reguler di bagian Discard Logs. Jika tidak, log akan dibuang.

    Parameter

    Deskripsi

    Collect Logs

    Masukkan nama field log dan ekspresi reguler yang harus dicocokkan oleh nilai field tersebut. Jika nilai field target dalam log mentah cocok dengan ekspresi reguler, log akan dikumpulkan.

    Anda dapat menambahkan beberapa pasangan kunci-nilai. Kondisi-kondisi tersebut digabungkan dengan logika AND.

    Discard Logs

    Masukkan field log dan ekspresi reguler yang harus dicocokkan oleh nilai field tersebut. Jika nilai field apa pun dalam log cocok dengan ekspresi reguler yang sesuai, log akan dibuang.

    Anda dapat menambahkan beberapa pasangan kunci-nilai. Kondisi-kondisi tersebut digabungkan dengan logika OR.

  • Contoh

    Untuk hanya mengumpulkan log di mana nilai field ip dimulai dengan 10, nilai field method adalah POST, dan nilai field browser bukan aliyun.*, gunakan konfigurasi berikut:

    • Log mentah

      • Log 1

        "ip" : "10.**.**.**"
        "method" : "POST"
        "browser" : "aliyun-sdk-java"
      • Log 2

        "ip" : "10.**.**.**"
        "method" : "POST"
        "browser" : "chrome"
      • Log 3

        "ip" : "192.168.*.*"
        "method" : "POST"
        "browser" : "ali-sls-ilogtail"
    • Konfigurasi plugin Logtail

      image

    • Hasil

      Log

      Dikumpulkan

      Alasan

      Log 1

      Tidak

      Nilai field browser cocok dengan ekspresi reguler di Discard Logs.

      Log 2

      Koleksi

      Memenuhi kondisi.

      Log 3

      Tidak

      Nilai field ip tidak cocok dengan ekspresi reguler di Collect Logs.

Konfigurasi JSON

  • Parameter

    Tetapkan parameter type ke processor_filter_regex. Tabel berikut menjelaskan parameter dalam detail.

    Catatan

    Log hanya dikumpulkan jika nilai field log cocok sepenuhnya dengan ekspresi reguler yang ditentukan untuk Include dan tidak cocok dengan ekspresi reguler yang ditentukan untuk Exclude. Jika tidak, log akan dibuang.

    Parameter

    Tipe

    Wajib

    Deskripsi

    Include

    Objek JSON

    Tidak

    Kuncinya adalah field log dan nilainya adalah ekspresi reguler yang harus dicocokkan oleh nilai field tersebut. Kondisi untuk beberapa pasangan kunci-nilai digabungkan dengan logika AND. Jika nilai field log cocok dengan ekspresi reguler yang sesuai, log akan dikumpulkan.

    Exclude

    Objek JSON

    Tidak

    Kuncinya adalah field log dan nilainya adalah ekspresi reguler yang harus dicocokkan oleh nilai field tersebut. Kondisi untuk beberapa pasangan kunci-nilai digabungkan dengan logika OR. Jika nilai field apa pun dalam log cocok dengan ekspresi reguler yang sesuai, log akan dibuang.

  • Contoh

    Untuk hanya mengumpulkan log di mana nilai field ip dimulai dengan 10, nilai field method adalah POST, dan nilai field browser bukan aliyun.*, gunakan konfigurasi berikut:

    • Log mentah

      • Log 1

        "ip" : "10.**.**.**"
        "method" : "POST"
        "browser" : "aliyun-sdk-java"
      • Log 2

        "ip" : "10.**.**.**"
        "method" : "POST"
        "browser" : "chrome"
      • Log 3

        "ip" : "192.168.*.*"
        "method" : "POST"
        "browser" : "ali-sls-ilogtail"
    • Konfigurasi plugin Logtail

      {
         "type" : "processor_filter_regex",
          "detail" : {
               "Include" : {
                  "ip" : "10\..*",
                  "method" : "POST"
               },
               "Exclude" : {
                  "browser" : "aliyun.*"
               }
          }
      }
    • Hasil

      Log

      Dikumpulkan

      Alasan

      Log 1

      Tidak

      Nilai field browser cocok dengan ekspresi reguler di Exclude.

      Log 2

      Koleksi

      Memenuhi kondisi.

      Log 3

      Tidak

      Nilai field ip tidak cocok dengan ekspresi reguler di Include.

processor_filter_key_regex (filter berdasarkan kunci menggunakan ekspresi reguler)

Plugin ini menyaring log dengan mencocokkan nama field log dengan ekspresi reguler.

Konfigurasi berbasis formulir

  • Parameter

    Tetapkan Processor Type ke Filter Logs By Key Using Regular Expressions. Tabel berikut menjelaskan parameter tersebut.

    Catatan

    Log hanya dikumpulkan jika nama field log cocok sepenuhnya dengan ekspresi reguler di bagian Collect Logs dan tidak cocok dengan ekspresi reguler di bagian Discard Logs. Jika tidak, log akan dibuang.

    Parameter

    Deskripsi

    Collect Logs

    Tentukan ekspresi reguler untuk nama field log. Kondisi untuk beberapa field digabungkan dengan logika AND. Jika nama field log cocok dengan ekspresi reguler, log akan dikumpulkan.

    Discard Logs

    Tentukan ekspresi reguler untuk nama field log. Kondisi untuk beberapa field digabungkan dengan logika OR. Jika nama field log apa pun cocok dengan ekspresi reguler, log akan dibuang.

  • Contoh

    Untuk mengumpulkan log yang berisi nama field yang dimulai dengan request, gunakan konfigurasi berikut:

    • Log mentah

      • Log 1

        "request_time" : 20
        "request_length": 2314
        "request_method" : "POST"
        "browser" : "aliyun-sdk-java"
      • Log 2

        "request_time" : 70
        "request_method" : "GET"
        "ip" : "192.168.**.**"
      • Log 3

        "browser" : "ali-sls-ilogtail"
        "status" : 200
    • Konfigurasi plugin Logtail 过滤日志

    • Hasil

      Log

      Pengumpulan Data

      Alasan

      Log 1

      Koleksi

      Field request_time, request_length, dan request_method cocok dengan ekspresi reguler di Collect Logs.

      Log 2

      Koleksi

      Field request_time dan request_length cocok dengan ekspresi reguler yang ditentukan di Collect Logs.

      Log 3

      Tidak

      Log tidak berisi field apa pun yang cocok dengan ekspresi reguler di Collect Logs.

Konfigurasi JSON

  • Parameter

    Tetapkan parameter type ke processor_filter_key_regex. Tabel berikut menjelaskan parameter dalam detail.

    Catatan

    Log hanya dikumpulkan jika nama field log cocok sepenuhnya dengan ekspresi reguler yang ditentukan untuk Include dan tidak cocok dengan ekspresi reguler apa pun yang ditentukan untuk Exclude. Jika tidak, log akan dibuang.

    Parameter

    Tipe

    Wajib

    Deskripsi

    Include

    string[]

    Tidak

    Tentukan ekspresi reguler untuk nama field log. Kondisi untuk beberapa field digabungkan dengan logika AND. Jika nama field log cocok dengan ekspresi reguler, log akan dikumpulkan.

    Exclude

    string[]

    Tidak

    Tentukan ekspresi reguler untuk nama field log. Kondisi untuk beberapa field digabungkan dengan logika OR. Jika nama field log apa pun cocok dengan ekspresi reguler, log akan dibuang.

  • Contoh

    Untuk mengumpulkan log yang berisi nama field yang dimulai dengan request, gunakan konfigurasi berikut:

    • Log mentah

      • Log 1

        "request_time" : 20
        "request_length": 2314
        "request_method" : "POST"
        "browser" : "aliyun-sdk-java"
      • Log 2

        "request_time" : 70
        "request_method" : "GET"
        "ip" : "192.168.**.**"
      • Log 3

        "browser" : "ali-sls-ilogtail"
        "status" : 200
    • Konfigurasi plugin Logtail

      {
         "type" : "processor_filter_key_regex",
          "detail" : {
               "Include" : [
                  "request.*"
               ]
          }
      }
    • Hasil

      Log

      Koleksi

      Alasan

      Log 1

      Koleksi

      Field request_time, request_length, dan request_method cocok dengan ekspresi reguler di Include.

      Log 2

      Koleksi

      Field request_time dan request_length cocok dengan ekspresi reguler yang ditentukan di Include.

      Log 3

      Tidak

      Log tidak berisi field apa pun yang cocok dengan ekspresi reguler di Include.

Referensi