Topik ini menjelaskan cara mengekspor log ke berbagai tujuan penyimpanan. Bidang dalam log bervariasi tergantung pada tujuan penyimpanannya.
Informasi latar belakang
Anda ingin mengekspor log ke beberapa tujuan penyimpanan dengan bidang yang bervariasi sesuai tujuan. Dalam contoh ini, bidang dalam log mentah adalah f1, f2, f3, f4, dan f5.
Untuk mengekspor log ke target 1, buang f1 dan f2, serta pertahankan f3, f4, dan f5.
Untuk mengekspor log ke target 2, buang f3 dan f4, serta pertahankan f1, f2, dan f5.
Contoh konfigurasi
Log mentah
__time__ : 1591754815
f1: GET
f2: https
f3: aliyun
f4: 200
f5: standardSintaks transformasi
Untuk informasi lebih lanjut tentang fungsi transformasi data yang digunakan dalam contoh berikut, lihat Ikhtisar Fungsi.
Gunakan fungsi e_set untuk menambahkan bidang baru bernama
tag: target1, target2ke log.Gunakan fungsi e_split untuk membagi log menjadi dua log berdasarkan bidang tag. Satu log berisi bidang
tag: target1, sedangkan log lainnya berisi bidangtag: target2.Buang f1 dan f2 dari log yang berisi bidang
tag: target1, lalu ekspor f3, f4, dan f5 ketarget1menggunakan fungsie_output. Aturan transformasi selanjutnya tidak dieksekusi untuk log yang berisi bidangtag: target1.Buang f3 dan f4 dari log yang berisi bidang
tag: target2.
e_set("tag", "target1, target2")
e_split("tag")
e_if(e_search("tag==target1"), e_compose(e_drop_fields("f1", "f2", regex=False), e_output("target1")))
e_drop_fields("f3", "f4", regex=False)
e_output("target2")Ekspor bidang ke target1
__time__ : 1591754815
f3: aliyun
f4: 200
f5: standardEkspor bidang ke target2
__time__ : 1591754815
f1: GET
f2: https
f5: standardPengaturan salah
Jika Anda menggunakan sintaks transformasi berikut, f3, f4, dan f5 akan diekspor ke target1. Kemudian, target1 digunakan sebagai input untuk mengekspor data ke target2. Akibatnya, f1 dan f2 tidak diekspor ke target2, padahal target2 diharapkan berisi f1 dan f2.
e_drop_fields("f1", "f2", regex=False)
e_coutput("target1")
e_drop_fields("f3", "f4", regex=False)
e_output("target2")