Setelah mendistribusikan data yang telah ditransformasi ke LogStore tujuan, Anda mungkin menemukan data yang tidak terduga. Topik ini menjelaskan cara mengatasi masalah tersebut.
LogStore sumber bernama website_log berisi 5.000 entri log: 1.000 dengan SourceIP 192.0.2.54, 1.000 dengan SourceIP 192.0.2.28, 1.000 dengan SourceIP 192.0.2.136, dan 2.000 dengan nilai SourceIP lainnya. Anda mentransformasi log-log tersebut dan mendistribusikannya ke LogStore tujuan yang berbeda.
-
Persyaratan transformasi
-
Distribusikan entri log dengan SourceIP 192.0.2.54 ke LogStore 54_log.
-
Distribusikan entri log dengan SourceIP 192.0.2.28 ke LogStore 28_log.
-
Distribusikan entri log dengan SourceIP 192.0.2.136 ke LogStore 136_log.
-
-
Hasil yang diharapkan
-
LogStore 54_log berisi 1.000 entri log dengan SourceIP 192.0.2.54.
-
LogStore 28_log berisi 1.000 entri log dengan SourceIP 192.0.2.28.
-
LogStore 136_log berisi 1.000 entri log dengan SourceIP 192.0.2.136.
-
-
Pernyataan transformasi
e_if(e_search("SourceIP==192.0.2.54"), e_output(name="54-target", project="sls-test", logstore="54_log")) e_if(e_search("SourceIP==192.0.2.28"), e_output(name="28-target", project="sls-test", logstore="28_log")) e_if(e_search("SourceIP==192.0.2.136"), e_output(name="136-target", project="sls-test", logstore="136_log")) -
Target penyimpanan

-
Hasil transformasi
-
LogStore bernama "54_log" berisi 3.000 entri, beberapa di antaranya memiliki nilai SourceIP selain 192.0.2.54 yang diharapkan.
-
LogStore 28_log berisi 1.000 entri log dengan SourceIP 192.0.2.28. Ini sesuai ekspektasi.
-
LogStore 136_log berisi 1.000 entri log dengan SourceIP 192.0.2.136. Ini sesuai ekspektasi.
-
-
Analisis akar penyebab
Simple Log Service mendistribusikan log yang telah ditransformasi sebagai berikut: log yang memenuhi kondisi e_output dikirim ke LogStore tujuan yang ditentukan. Semua log lain yang diproses oleh DSL tetapi tidak secara eksplisit dibuang akan dikirim ke target penyimpanan 1 (dalam kasus ini, LogStore 54_log). Target penyimpanan 1 merupakan target default.
-
Solusi
Anda dapat menambahkan e_drop() ke pernyataan transformasi untuk membuang log yang tidak memenuhi kondisi apa pun.
e_if(e_search("SourceIP==192.0.2.54"), e_output(name="54-target", project="sls-test", logstore="54_log")) e_if(e_search("SourceIP==192.0.2.28"), e_output(name="28-target", project="sls-test", logstore="28_log")) e_if(e_search("SourceIP==192.0.2.136"), e_output(name="136-target", project="sls-test", logstore="136_log")) e_drop()