Topik ini menjelaskan sintaksis fungsi pemeriksaan event, mencakup deskripsi parameter dan contoh penggunaannya.
Fungsi
Kategori | Fungsi | Deskripsi |
Metode dasar | Memeriksa apakah field log ada. | |
Memeriksa keberadaan field log. Fungsi ini dapat digunakan bersama fungsi lain. Untuk informasi selengkapnya, lihat Gunakan fungsi untuk membersihkan data. | ||
Fungsi ekspresi | Menyediakan sintaksis sederhana ala Lucene untuk pencarian event. Fungsi ini dapat digunakan bersama fungsi lain. Untuk informasi selengkapnya, lihat Gunakan fungsi untuk membersihkan data. | |
Memeriksa apakah nilai field log sesuai dengan ekspresi reguler. Fungsi ini dapat digunakan bersama fungsi lain. Untuk informasi selengkapnya, lihat Gunakan fungsi untuk membersihkan data. | ||
Memeriksa apakah nilai field log sesuai dengan ekspresi reguler. Mengembalikan True jika ada field yang sesuai. Jika tidak, mengembalikan False. | ||
Memeriksa apakah nilai field log sesuai dengan ekspresi reguler. Mengembalikan True jika semua field sesuai. Jika tidak, mengembalikan False. |
Anda juga dapat menggunakan fungsi pemeriksaan event bersama fungsi ekspresi berikut:
Kategori | Fungsi | Deskripsi |
Penilaian Dasar | Menjalankan operasi logika AND. | |
Menjalankan operasi logika OR. | ||
Menjalankan operasi logika NOT. | ||
Mengevaluasi dua ekspresi. | ||
Mengembalikan nilai ekspresi pertama yang bukan None. | ||
Mengembalikan nilai ekspresi pertama yang bukan None. |
e_has
Memeriksa apakah field ada.
Sintaksis
e_has("key")Parameter
Parameter
Jenis Parameter
Wajib
Deskripsi
key
String
Ya
Nama field log.
Respons
Mengembalikan True jika field ada; jika tidak, mengembalikan False.
Contoh
Memeriksa apakah log berisi field content. Jika field tersebut ada, log dipertahankan; jika tidak, log dibuang.
Log mentah
content: 123Aturan transformasi
e_keep(e_has("content"))Hasil
content: 123
e_not_has
Memeriksa apakah field tidak ada.
Sintaksis
e_not_has("key")Parameter
Parameter
Jenis Parameter
Wajib
Deskripsi
key
String
Ya
Nama field.
Respons
Mengembalikan True jika field tidak ada; jika tidak, mengembalikan False.
Contoh
Memeriksa apakah log berisi field content. Jika field tersebut tidak ada, log dipertahankan; jika ada, log dibuang.
Log mentah
content: 123Aturan transformasi
e_if_else(e_not_has("content"),KEEP,DROP)Hasil
Log dibuang.
Informasi lebih lanjut
Fungsi ini dapat digunakan bersama fungsi lain. Untuk informasi selengkapnya, lihat Gunakan fungsi untuk membersihkan data.
e_search
Menyediakan sintaksis sederhana ala Lucene untuk pencarian event.
Sintaksis
e_search(querystring)Parameter
Parameter
Jenis Parameter
Wajib
Deskripsi
querystring
String
Ya
String kueri yang digunakan untuk memfilter log secara cepat. Untuk informasi selengkapnya, lihat Sintaksis string kueri.
Respons
Mengembalikan True jika kondisi terpenuhi; jika tidak, mengembalikan False.
Contoh
# Pencarian teks penuh e_search("active error") # Pencarian teks penuh: Dua substring dicari dengan hubungan OR. e_search('"active error"') # Pencarian teks penuh: Cari satu substring. # Field:String e_search("status: active") # Pencarian kata. e_search('author: "john smith"') # Pencarian substring dengan spasi. e_search('field: active error') # Setara dengan field:active OR "error". # Pencocokan eksak e_search('author== "john smith"') # Pencarian wildcard. Tanda bintang (*) cocok dengan nol atau lebih karakter. Tanda tanya (?) cocok dengan satu karakter. e_search("status: active*test") # active*test hanya berisi tanda bintang (*). Tidak perlu diapit tanda kutip ganda (""). e_search("status: active?good") # active?good hanya berisi tanda tanya (?). Tidak perlu diapit tanda kutip ganda (""). e_search("status== ac*tive?good") # Pencocokan eksak. # Escape nilai pencarian. Tanda bintang (*) atau tanda tanya (?) harus di-escape dengan backslash (\). e_search('status: "\*\?()[]:="') # \*\?()[]:= berisi karakter khusus dan harus diapit tanda kutip ganda (""). Hanya tanda bintang (*), tanda tanya (?), dan backslash (\) yang perlu di-escape. e_search("status: active\*test") # active\*test hanya berisi tanda bintang (*). Tidak perlu diapit tanda kutip ganda (""). e_search("status: active\?test") # active\?test hanya berisi tanda tanya (?). Tidak perlu diapit tanda kutip ganda (""). # Escape nama field e_search("\*\(1+1\)\?: abc") # Nama field tidak boleh diapit tanda kutip ganda (""). Escape karakter khusus dengan backslash (\). e_search("__tag__\:__container_name__: abc") # Escape dengan backslash (\). e_search("Chinese_field: abc") # Tulis karakter Tionghoa secara langsung. # Pencocokan ekspresi reguler e_search('content~="regular_expression"') # Pencocokan ekspresi reguler. # Angka e_search('count: [100, 200]') # >=100 dan <=200 e_search('count: [*, 200]') # <=200 e_search('count: [200, *]') # >=200 e_search('age >= 18') # >= 18 e_search('age > 18') # > 18 # Gunakan operator relasional e_search("abc OR xyz") # Operator relasional tidak peka huruf besar/kecil. OR dan or memiliki efek yang sama. e_search("abc and (xyz or zzz)") e_search("abc and not (xyz and not zzz)") e_search("abc && xyz") # and e_search("abc || xyz") # or e_search("abc || !xyz") # or notInformasi lebih lanjut
Fungsi ini dapat digunakan bersama fungsi lain. Untuk informasi selengkapnya, lihat Gunakan fungsi untuk membersihkan data.
e_match
Memeriksa apakah nilai field log sesuai dengan ekspresi reguler.
Sintaksis
e_match(key, regular_expression, full=True)CatatanFungsi e_match sering digunakan bersama
op_not,op_and, atauop_or.Parameter
Nama Parameter
Jenis Parameter
Wajib
Deskripsi
key
String
Ya
Nama field. Jika field tidak ada, sub-kondisi tidak terpenuhi.
Sebagai contoh, jika field
f1tidak ada, fungsie_match("f1", ...)mengembalikan False.regular_expression
String
Ya
Ekspresi reguler. Untuk mencocokkan string literal alih-alih menggunakan ekspresi reguler, gunakan fungsi
str_regex_escapeuntuk memodifikasi ekspresi reguler.full
Bool
Tidak
Menentukan apakah akan melakukan pencocokan penuh. Nilai default adalah True, yang menunjukkan pencocokan penuh. Untuk informasi selengkapnya tentang mode pencocokan, lihat Ekspresi reguler.
Respons
Mengembalikan True atau False berdasarkan hasil pencocokan.
Contoh
Memeriksa apakah nilai field k1 berupa angka.
Log mentah
k1: 123Aturan transformasi
e_set("match",e_match("k1",r'\d+'))Hasil
k1: 123 match: True
Informasi lebih lanjut
Fungsi ini dapat digunakan bersama fungsi lain. Untuk informasi selengkapnya, lihat Gunakan fungsi untuk membersihkan data.
e_match_any
Memeriksa apakah nilai salah satu field log yang ditentukan sesuai dengan ekspresi reguler yang sesuai. Mengembalikan True jika ada field yang sesuai; jika tidak, mengembalikan False.
Sintaksis
e_match_any(key1, regular_expression1, key2, regular_expression2, ..., full=True)CatatanParameter
keydanregular_expressionharus muncul berpasangan.Fungsi e_match_any sering digunakan bersama
op_not,op_and, atauop_or.
Parameter
Nama Parameter
Jenis Parameter
Wajib
Deskripsi
key
String
Ya
Nama field. Jika field tidak ada, sub-kondisi tidak terpenuhi.
Sebagai contoh, jika field
f1tidak ada, fungsie_match_any("f1", ...)mengembalikan False.regular_expression
String
Ya
Pola ekspresi reguler. Untuk mencocokkan string literal alih-alih menggunakan ekspresi reguler, gunakan fungsi
str_regex_escapeuntuk memodifikasi ekspresi reguler.full
Bool
Tidak
Menentukan apakah akan melakukan pencocokan penuh. Nilai default adalah True, yang menunjukkan pencocokan penuh. Untuk informasi selengkapnya tentang mode pencocokan, lihat Ekspresi reguler.
Respons
Mengembalikan True atau False berdasarkan hasil pencocokan.
Contoh
Fungsi e_match_any mengembalikan True jika ada field yang sesuai dengan ekspresi reguler yang sesuai.
Log mentah
k1: 123 k2: abc k3: abc123Aturan transformasi
e_set("match",e_match_any('k1', r'\d+', 'k2', '.+'))Hasil
k1:123 k2:abc k3:abc123 match:true
Informasi lebih lanjut
Fungsi ini dapat digunakan bersama fungsi lain. Untuk informasi selengkapnya, lihat Gunakan fungsi untuk membersihkan data.
e_match_all
Memeriksa apakah nilai setiap field log yang ditentukan sesuai dengan ekspresi reguler yang sesuai. Mengembalikan True jika semua field sesuai; jika tidak, mengembalikan False.
Sintaksis
e_match_all(key1, regular_expression1, key2, regular_expression2, ..., full=True)CatatanParameter
keydanregular_expressionharus muncul berpasangan.Fungsi e_match_all sering digunakan bersama
op_not,op_and, atauop_or.
Parameter
Nama parameter
Jenis Parameter
Wajib
Deskripsi
Nama field
String
Ya
Nama field. Jika field tidak ada, sub-kondisi tidak terpenuhi.
Sebagai contoh, jika field
f1tidak ada, fungsie_match_all("f1", ...)mengembalikan False.Ekspresi reguler
String
Ya
Pola ekspresi reguler. Untuk mencocokkan string literal alih-alih menggunakan ekspresi reguler, gunakan fungsi
str_regex_escapeuntuk memodifikasi ekspresi reguler.full
Bool
Tidak
Menentukan apakah akan melakukan pencocokan penuh. Nilai default adalah True, yang menunjukkan pencocokan penuh. Untuk informasi selengkapnya tentang mode pencocokan, lihat Ekspresi reguler.
Respons
Mengembalikan True atau False berdasarkan hasil pencocokan.
Contoh
Log mentah
k1: 123 k2: abc k3: abc123Aturan transformasi
e_set("match", e_match_all("k1", r"\d+", "k2", r"\d+"))Hasil
k1:123 k2:abc k3:abc123 match:false
Informasi lebih lanjut
Fungsi ini dapat digunakan bersama fungsi lain. Untuk informasi selengkapnya, lihat Gunakan fungsi untuk membersihkan data.