Logstash di Docker

Logstash Di Docker



Logstash adalah saluran pemrosesan data sumber terbuka yang memungkinkan Anda mengumpulkan, memproses, dan meneruskan data log dari berbagai sumber.

Dalam tutorial ini, kami akan memandu Anda melalui proses menjalankan Logstash di container Docker dengan konfigurasi dasar.

Persyaratan:

Sebelum kita memulai tutorial, pastikan Anda memiliki hal berikut:







  1. Menginstal Docker di mesin host Anda (disarankan versi 23 dan lebih tinggi)
  2. Menginstal Docker Compose di mesin Anda

Jika persyaratan yang diberikan terpenuhi, kita dapat melanjutkan ke tutorial.



Siapkan File Konfigurasi Logstash

Logstash menggunakan file konfigurasi untuk menentukan cara data diserap, difilter, dan dikirim ke output. Ada berbagai opsi yang dapat Anda konfigurasikan sesuai referensi pada dokumentasi resmi.



Sebagai contoh, kami fokus pada konfigurasi dasar yang menyerap data dari file log, memfilternya untuk catatan yang cocok, dan mengeluarkan data ke file.





Buat file bernama “logstash.conf” dan tambahkan konfigurasi sebagai berikut:

memasukkan {
berkas {
jalur => '/var/log/Apache/access.log'

posisi_mulai => 'awal'

sejakdb_path => '/dev/batal'

abaikan_older => 0
}
}

Saring {
jika [pesan] =~ 'KESALAHAN' {
    grok {
cocok => { 'pesan' => '%{GABUNGKANADAPACHELOG}' }
}
}
}

keluaran {
berkas {
jalur => '/var/log/apache/error_logs.log'
}
}

File sebelumnya mendefinisikan konfigurasi seperti yang ditunjukkan berikut ini:

  1. Bagian masukan – Bagian masukan menggunakan plugin masukan file untuk membaca file log Apache yang terletak di /var/log/apache/access.log.
    • Kami kemudian mengatur posisi awal di awal yang memungkinkan Logstash membaca seluruh file dari awal.
    • Sincedb_path – Parameter ini memungkinkan kita untuk menonaktifkan pelacakan Sincedb Logstash dengan mengatur nilainya ke /dev/null. Hal ini memastikan bahwa Logstash selalu membaca dari awal file.
    • Ignore_older – Menyetel nilai parameter ini ke 0 memungkinkan Logstash memproses semua entri file log.
  2. Bagian filter – Di bagian filter, kita menentukan pola filter untuk memeriksa apakah pesan log berisi kata ERROR. Anda dapat menyesuaikan kondisi blok filter untuk memfilter kecocokan yang lebih tepat dalam file.
    • Jika kondisi terpenuhi, kami menggunakan filter grok untuk mengurai baris log Apache menggunakan pola COMBINEDAPACHELOG yang merupakan pola bawaan di Logstash untuk mengurai log Apache.
  3. Bagian keluaran – Bagian ini memungkinkan kita menentukan format keluaran untuk entri yang cocok.
    • Dalam kasus kami, kami menulisnya ke file /var/log/Apache/error_logs.log menggunakan parameter path.

Ini akan memberi kita konfigurasi Logstash dasar yang memungkinkan kita mendemonstrasikan beberapa cara kerja dasar Logstash.

Silakan rujuk lebih lanjut tentang membuat dan mengonfigurasi alur Logstash di sumber dokumentasi yang disediakan berikut ini:

https://www.elastic.co/guide/en/logstash/current/configuration.html

Buat file Docker

Setelah kita menentukan konfigurasi Logstash, kita dapat melanjutkan dan mempelajari cara menjalankan container. Di dalam direktori yang sama dengan file “logstash.conf”, buat file baru bernama “Dockerfile”.

Edit file ini dan tambahkan entri sebagai berikut:

DARI docker.elastic.co/logstash/logstash:8.9.2

SALIN logstash.conf /usr/share/logstash/pipeline/logstash.conf

Dalam contoh yang diberikan, kami mendefinisikan gambar dasar sebagai gambar Logstash resmi menggunakan versi 8.9.2.

Kami kemudian menyalin file “logstash.conf” yang kami buat ke /usr/share/logstash/pipeline/logstash.conf pada gambar.

Bangun Gambar Docker

Selanjutnya, navigasikan ke direktori yang berisi file konfigurasi Dockerfile dan Logstash. Jalankan perintah berikut untuk membuat gambar:

$ membangun buruh pelabuhan -T gambar-logstash-kustom .

Jalankan Kontainer Logstash

Sekarang setelah kita membuat image Docker, kita dapat menjalankan container Logstash menggunakan perintah Docker “run” sebagai berikut:

$ menjalankan buruh pelabuhan -D --nama logstash-server gambar logstash khusus

Ini harus menjalankan kontainer Logstash menggunakan gambar yang kita buat pada langkah sebelumnya.

Verifikasi Log Kontainer Logstash

Untuk memverifikasi bahwa Logstash berjalan dengan benar, Anda dapat memeriksa log kontainer menggunakan perintah berikut:

$ log buruh pelabuhan < nama_kontainer >

Keluaran:

Kesimpulan

Dalam tutorial ini, Anda mempelajari cara dengan cepat menyiapkan server Logstash yang berjalan sebagai Docker menggunakan file konfigurasi khusus. Kami menyarankan Anda memeriksa dokumentasi parameter gambar dan opsi konfigurasi.