Saya memiliki sejumlah (~ 10k) file XML yang tidak memiliki tag root penutup. Ketika saya memuat file ini ke logstash dengan filter xml saya mendapatkan kesalahan parse. Apakah ada cara untuk membuat logstash menambahkan tag penutup di filter sebelum mem-parsing konten? Diberikan di bawah ini adalah XML saya:

<root> 
   <elm>....</elm> 
   <elm>....</elm> 
   <elm>....</elm> 
   <elm>....</elm> 

Saya melihat filter dan tidak tahu cara menambahkan tag root penutup ke konten yang sudah dibaca. Tolong bantu.

Apakah ada cara di mana saya dapat mengakses konten file dari input {} di bagian filter {}? Jika saya dapat menulis beberapa kode Ruby untuk mengubah isi file baca?

0
Aarushi Mishra 11 Desember 2017, 15:39

1 menjawab

Jawaban Terbaik

Tambahkan yang berikut ini di bagian filter Anda sebagai aturan pertama.

mutate {
                replace => {
                        "message" => "%{message}</root>"
                }
        }

Ini akan menambahkan tag penutup ke konten file. Selamat mengkode! :)

1
iam thadiyan 11 Desember 2017, 15:21