Topik ini menjelaskan sintaksis dan parameter fungsi pemeriksaan event serta memberikan contoh penggunaannya.
Fungsi
| Kategori | Fungsi | Deskripsi |
| Fungsi dasar | e_has | Memeriksa apakah bidang log ada. |
| e_not_has | Memeriksa apakah bidang log tidak ada. Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi. | |
| Fungsi ekspresi | e_search | Mencari event menggunakan sintaks query yang mirip dengan Lucene. Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi. |
| e_match | Memeriksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi reguler. Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi. | |
| e_match_any | Memeriksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi reguler. Jika satu atau lebih bidang yang ditentukan cocok dengan ekspresi reguler, True dikembalikan. Jika tidak, False dikembalikan. | |
| e_match_all | Memeriksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi reguler. Jika semua bidang yang ditentukan cocok dengan ekspresi reguler, True dikembalikan. Jika tidak, False dikembalikan. |
| Kategori | Fungsi | Deskripsi |
| Fungsi logika | op_and | Memanggil operasi AND. |
| op_or | Memanggil operasi OR. | |
| op_not | Memanggil operasi NOT. | |
| op_nullif | Memeriksa apakah nilai dua ekspresi sama. | |
| op_ifnull | Mengembalikan nilai ekspresi pertama yang nilainya bukan None. | |
| op_coalesce | Mengembalikan nilai ekspresi pertama yang nilainya bukan None. |
e_has
Fungsi ini memeriksa apakah bidang log tersedia.e_has("key")Parameter Tipe Diperlukan Deskripsi key String Ya Nama bidang log. Jika bidang yang ditentukan ada, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.
- Periksa apakah log berisi bidang konten. Jika log berisi bidang konten, log dipertahankan. Jika tidak, log dihapus.
- Log mentah:
content: 123 - Aturan transformasi:
e_keep(e_has("content")) - Hasil:
content: 123
- Log mentah:
e_not_has
Fungsi ini memeriksa apakah bidang log tidak tersedia.e_not_has("key")Parameter Tipe Diperlukan Deskripsi key String Ya Nama bidang log. Jika bidang yang ditentukan tidak ada, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.
Periksa apakah log berisi bidang konten. Jika log tidak berisi bidang konten, log dipertahankan. Jika tidak, log dihapus.
- Log mentah:
content: 123 - Aturan transformasi:
e_if_else(e_not_has("content"),KEEP,DROP) - Hasil:
Log dihapus.
- Log mentah:
Catatan penggunaan lainnya
Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.
e_search
Fungsi ini mencari event menggunakan sintaks query yang mirip dengan Lucene.e_search(querystring)Parameter Tipe Diperlukan Deskripsi querystring String Ya String query yang ingin Anda gunakan untuk menyaring data log. Untuk informasi lebih lanjut, lihat Sintaks string query. Jika kondisi yang ditentukan terpenuhi, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.
# Pencarian teks lengkap e_search("active error") # Cari beberapa substring dalam teks lengkap. Substring tersebut dihubungkan satu sama lain menggunakan operator logika OR. e_search('"active error"') # Cari substring dalam teks lengkap. # Pencarian bidang e_search("status: active") # Cari substring dalam bidang tertentu. e_search('author: "john smith"') # Mencari substring yang mengandung karakter spasi dalam bidang tertentu. e_search('field: active error') # Cari bidang tertentu untuk substring "active" atau cari semua log untuk substring "error". String query dalam contoh ini setara dengan field:active OR "error". # Pencocokan tepat e_search('author== "john smith"') # Cari nilai bidang menggunakan karakter wildcard. Anda dapat menggunakan asterisk (*) untuk mencocokkan nol atau lebih karakter. Anda dapat menggunakan tanda tanya (?) untuk mencocokkan satu karakter. e_search("status: active*test") # active*test mengandung satu asterisk (*). Anda tidak perlu menutup nilai dalam tanda kutip ganda (""). e_search("status: active?good") # active?good mengandung satu tanda tanya (?). Anda tidak perlu menutup nilai dalam tanda kutip ganda (""). e_search("status== ac*tive?good") # String query digunakan untuk pencocokan tepat. # Escape karakter khusus dalam nilai bidang. Asterisk (*) atau tanda tanya (?) yang tidak digunakan sebagai wildcard harus di-escape dalam nilai bidang menggunakan backslash (\). e_search('status: "\*\?()[]:="') # \*\?()[]:= mengandung beberapa karakter khusus. Anda harus menutup nilai dalam tanda kutip ganda (""). Asterisk (*), tanda tanya (?), dan backslash (\) dalam nilai di-escape. e_search("status: active\*test") # active\*test mengandung satu asterisk (*). Anda tidak perlu menutup nilai dalam tanda kutip ganda (""). e_search("status: active\* test") # active\*test mengandung satu tanda tanya (?). Anda tidak perlu menutup nilai dalam tanda kutip ganda (""). # Escape karakter khusus dalam nama bidang e_search("\*\(1+1\)\?: abc") # Anda tidak dapat menutup nama bidang dalam tanda kutip ganda (""). Anda harus meng-escape karakter khusus menggunakan backslash (\). e_search("__tag__\:__container_name__: abc") # Anda harus meng-escape karakter khusus menggunakan backslash (\). e_search("field name in Chinese: abc") # Masukkan karakter Cina yang membentuk nama bidang. # Cari string menggunakan ekspresi reguler. e_search('content~="regular expression"') # Cari substring yang cocok dengan ekspresi reguler. # Perbandingan nilai numerik e_search('count: [100, 200]') # >=100 and <=200 e_search('count: [*, 200]') # <=200 e_search('count: [200, *]') # >=200 e_search('age >= 18') # >= 18 e_search('age > 18') # > 18 # Operator relasional e_search("abc OR xyz") # Operator relasional tidak peka huruf besar/kecil. 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 notCatatan penggunaan lainnya
Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.
e_match
Fungsi ini memeriksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi.e_match(key, regular_expression, full=True)Catatan Dalam kebanyakan kasus, fungsi e_match digunakan bersama dengan fungsiop_not,op_and, atauop_or.Parameter Tipe Diperlukan Deskripsi key String Ya Nama bidang log. Jika bidang yang ditentukan tidak ada, bidang tersebut tidak memenuhi kondisi yang ditentukan. Sebagai contoh, jika bidang
f1tidak ada, fungsie_match("f1", ...)mengembalikan False.regular_expression String Ya Ekspresi reguler. Jika Anda ingin mencocokkan string menggunakan literal string, Anda dapat menggunakan fungsi str_regex_escapeuntuk meng-escape karakter.full Bool Tidak Menentukan apakah akan melakukan pencocokan tepat. Secara default, parameter ini disetel ke True, yang menentukan pencocokan tepat. Untuk informasi lebih lanjut, lihat Ekspresi reguler. Jika bidang yang ditentukan cocok dengan ekspresi reguler, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.
- Periksa apakah nilai bidang k1 adalah angka.
- Log mentah:
k1: 123 - Aturan transformasi:
e_set("match",e_match("k1",r'\d+')) - Hasil:
k1: 123 match: True
- Log mentah:
Catatan penggunaan lainnya
Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.
e_match_any
Fungsi ini memeriksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi reguler. Jika satu atau lebih bidang yang ditentukan cocok dengan ekspresi reguler, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.e_match_any(key1, regular_expression1, key2, regular_expression2, ..., full=True)Catatan- Parameter
keydanregular_expressionharus ditentukan berpasangan. - Dalam kebanyakan kasus, fungsi e_match_any digunakan bersama dengan fungsi
op_not,op_and, atauop_or.
- Parameter
Parameter Tipe Diperlukan Deskripsi key String Ya Nama bidang log. Jika bidang yang ditentukan tidak ada, bidang tersebut tidak memenuhi kondisi yang ditentukan. Sebagai contoh, jika bidang
f1tidak ada, fungsie_match_any("f1", ...)mengembalikan False.regular_expression String Ya Ekspresi reguler. Jika Anda ingin mencocokkan string menggunakan literal string, Anda dapat menggunakan fungsi str_regex_escapeuntuk meng-escape karakter.full Bool Tidak Menentukan apakah akan melakukan pencocokan tepat. Nilai default True menentukan pencocokan tepat. Untuk informasi lebih lanjut, lihat Ekspresi reguler. Jika bidang yang ditentukan cocok dengan ekspresi reguler, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.
- Periksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi reguler. Jika satu atau lebih bidang yang ditentukan cocok dengan ekspresi reguler, nilai True dikembalikan.
- Log mentah:
k1: 123 k2: abc k3: abc123 - Aturan transformasi:
e_set("match",e_match_any('k1', r'\d+', 'k2', '.+')) - Hasil:
k1:123 k2:abc k3:abc123 match:true
- Log mentah:
Catatan penggunaan lainnya
Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.
e_match_all
Fungsi ini memeriksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi reguler. Jika semua bidang yang ditentukan cocok dengan ekspresi reguler, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.e_match_all(key1, regular_expression1, key2, regular_expression2, ..., full=True)Catatan- Parameter
keydanregular_expressionharus ditentukan berpasangan. - Dalam kebanyakan kasus, fungsi e_match_all digunakan bersama dengan fungsi
op_not,op_and, atauop_or.
- Parameter
Parameter Tipe Diperlukan Deskripsi key String Ya Nama bidang log. Jika bidang yang ditentukan tidak ada, bidang tersebut tidak memenuhi kondisi yang ditentukan. Sebagai contoh, jika bidang
f1tidak ada, fungsie_match_all("f1", ...)mengembalikan False.regular_expression String Ya Ekspresi reguler. Jika Anda ingin mencocokkan string menggunakan literal string, Anda dapat menggunakan fungsi str_regex_escapeuntuk meng-escape karakter.full Bool Tidak Menentukan apakah akan melakukan pencocokan tepat. Secara default, parameter ini disetel ke True, yang menentukan pencocokan tepat. Untuk informasi lebih lanjut, lihat Ekspresi reguler. Jika bidang yang ditentukan cocok dengan ekspresi reguler, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.
- Log mentah:
k1: 123 k2: abc k3: abc123 - Aturan transformasi:
e_set("match", e_match_all("k1", r"\d+", "k2", r"\d+")) - Hasil:
k1:123 k2:abc k3:abc123 match:false
- Log mentah:
Catatan penggunaan lainnya
Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.