Katakanlah Anda memiliki 2 jenis log yang sangat berbeda seperti log teknis dan bisnis dan Anda menginginkan:
- log teknis mentah diarahkan ke server greylog2 menggunakan
gelf
output, - log bisnis json disimpan ke dalam klaster elasticsearch menggunakan
elasticsearch_http
keluaran khusus .
Saya tahu bahwa dengan Syslog-NG
misalnya, file konfigurasi memungkinkan untuk menentukan beberapa input berbeda yang kemudian dapat diproses secara terpisah sebelum dikirim; apa yang Logstash
tampaknya tidak bisa dilakukan. Meskipun satu instance dapat dimulai dengan dua file konfigurasi tertentu, semua log mengambil saluran yang sama dan menerapkan proses yang sama ...
Haruskah saya menjalankan instance sebanyak saya memiliki jenis log yang berbeda?
Jawaban:
Tidak! Anda hanya dapat menjalankan satu instance untuk menangani berbagai jenis log.
Di file konfigurasi logstash, Anda dapat menentukan setiap input dengan tipe yang berbeda . Kemudian di filter Anda dapat menggunakan if untuk pemrosesan yang berbeda, dan juga pada output Anda dapat menggunakan "jika" output ke tujuan yang berbeda.
Semoga ini bisa membantu Anda :)
sumber
type
atribut (dengantype => "value"
sintaks yang sama ) dalam definisi filter dan keluaran yang akan mengurangi pemformatan ekstra di dalam file konfigurasi sedikit. Contoh: gist.github.com/fairchild/3030472 Per dokumentasi: Tambahkan bidang 'jenis' ke semua peristiwa yang ditangani oleh masukan ini. Jenis digunakan terutama untuk aktivasi filter. Jenis disimpan sebagai bagian dari acara itu sendiri, sehingga Anda juga dapat menggunakan jenis untuk menelusurinya di antarmuka web.type => "value"
output, saya mendapatkan pesan berikut yang ditampilkan: "Anda menggunakan setelan konfigurasi yang tidak digunakan lagi" type "yang disetel di stdout. Setelan yang tidak berlaku lagi akan terus berfungsi, tetapi dijadwalkan untuk dihapus dari logstash di masa mendatang. Anda dapat melakukannya perilaku yang sama ini dengan persyaratan baru, seperti:if [type] == "sometype" { stdout { ... } }
". Saya menarik kembali komentar saya sebelumnya. :)type
atribut tidak akan berlaku jika sudah ada bidang tipe dari masukan. Ini adalah atribut khusus yang tidak menimpa dan didokumentasikan. Saya membuka tiket di Elastic dan mereka merekomendasikan saya untuk menggunakantags
atauadd_field
alih-alihtype
Saya menggunakan tag untuk beberapa input file:
sumber
Saya pikir logstash tidak dapat membaca lebih dari 2 file di bagian Input. coba di bawah ini
sumber