Logstash - Mengumpulkan Log
Log dari server atau sumber data yang berbeda dikumpulkan menggunakan pengirim. Pengirim adalah instance Logstash yang dipasang di server, yang mengakses log server dan mengirim ke lokasi keluaran tertentu.
Ini terutama mengirimkan output ke Elasticsearch untuk disimpan. Logstash mengambil masukan dari sumber berikut -
- STDIN
- Syslog
- Files
- TCP/UDP
- Microsoft Windows Eventlogs
- Websocket
- Zeromq
- Ekstensi yang disesuaikan
Mengumpulkan Log Menggunakan Server Apache Tomcat 7
Dalam contoh ini, kami mengumpulkan log dari Apache Tomcat 7 Server yang diinstal di windows menggunakan plugin input file dan mengirimkannya ke log lain.
logstash.conf
Di sini, Logstash dikonfigurasi untuk mengakses log akses Apache Tomcat 7 yang diinstal secara lokal. Pola regex digunakan dalam pengaturan jalur plugin file untuk mendapatkan data dari file log. Ini berisi "akses" dalam namanya dan menambahkan jenis apache, yang membantu dalam membedakan peristiwa apache dari yang lain di sumber tujuan terpusat. Akhirnya, acara keluaran akan ditampilkan di output.log.
input {
file {
path => "C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/*access*"
type => "apache"
}
}
output {
file {
path => "C:/tpwork/logstash/bin/log/output.log"
}
}
Jalankan Logstash
Kita bisa menjalankan Logstash dengan menggunakan perintah berikut.
C:\logstash\bin> logstash –f Logstash.conf
Log Apache Tomcat
Akses Server Apache Tomcat dan aplikasi webnya (http://localhost:8080) untuk menghasilkan log. Data yang diperbarui di log dibaca oleh Logstash secara real time dan disimpan di output.log seperti yang ditentukan dalam file konfigurasi.
Apache Tomcat membuat file log akses baru sesuai dengan tanggal dan mencatat peristiwa akses di sana. Dalam kasus kami, itu localhost_access_log.2016-12-24.txt dilogs direktori Apache Tomcat.
0:0:0:0:0:0:0:1 - - [
25/Dec/2016:18:37:00 +0800] "GET / HTTP/1.1" 200 11418
0:0:0:0:0:0:0:1 - munish [
25/Dec/2016:18:37:02 +0800] "GET /manager/html HTTP/1.1" 200 17472
0:0:0:0:0:0:0:1 - - [
25/Dec/2016:18:37:08 +0800] "GET /docs/ HTTP/1.1" 200 19373
0:0:0:0:0:0:0:1 - - [
25/Dec/2016:18:37:10 +0800] "GET /docs/introduction.html HTTP/1.1" 200 15399
output.log
Anda dapat melihat di acara keluaran, bidang tipe ditambahkan dan acara hadir di bidang pesan.
{
"path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
localhost_access_log.2016-12-25.txt",
"@timestamp":"2016-12-25T10:37:00.363Z","@version":"1","host":"Dell-PC",
"message":"0:0:0:0:0:0:0:1 - - [25/Dec/2016:18:37:00 +0800] \"GET /
HTTP/1.1\" 200 11418\r","type":"apache","tags":[]
}
{
"path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
localhost_access_log.2016-12-25.txt","@timestamp":"2016-12-25T10:37:10.407Z",
"@version":"1","host":"Dell-PC",
"message":"0:0:0:0:0:0:0:1 - munish [25/Dec/2016:18:37:02 +0800] \"GET /
manager/html HTTP/1.1\" 200 17472\r","type":"apache","tags":[]
}
{
"path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
localhost_access_log.2016-12-25.txt","@timestamp":"2016-12-25T10:37:10.407Z",
"@version":"1","host":"Dell-PC",
"message":"0:0:0:0:0:0:0:1 - - [25/Dec/2016:18:37:08 +0800] \"GET /docs/
HTTP/1.1\" 200 19373\r","type":"apache","tags":[]
}
{
"path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
localhost_access_log.2016-12-25.txt","@timestamp":"2016-12-25T10:37:20.436Z",
"@version":"1","host":"Dell-PC",
"message":"0:0:0:0:0:0:0:1 - - [25/Dec/2016:18:37:10 +0800] \"GET /docs/
introduction.html HTTP/1.1\" 200 15399\r","type":"apache","tags":[]
}
Mengumpulkan Log Menggunakan Plugin STDIN
Pada bagian ini, kita akan membahas contoh lain mengumpulkan log menggunakan STDIN Plugin.
logstash.conf
Ini adalah contoh yang sangat sederhana, di mana Logstash membaca peristiwa yang dimasukkan oleh pengguna dalam input standar. Dalam kasus kami, ini adalah command prompt, yang menyimpan kejadian di file output.log.
input {
stdin{}
}
output {
file {
path => "C:/tpwork/logstash/bin/log/output.log"
}
}
Jalankan Logstash
Kita bisa menjalankan Logstash dengan menggunakan perintah berikut.
C:\logstash\bin> logstash –f Logstash.conf
Tulis teks berikut di command prompt -
Pengguna memasuki dua baris berikut. Logstash memisahkan peristiwa dengan pengaturan pembatas dan nilainya secara default adalah '\ n'. Pengguna dapat mengubah dengan mengubah nilai pembatas di file plugin.
Tutorialspoint.com welcomes you
Simply easy learning
output.log
Blok kode berikut menunjukkan data log keluaran.
{
"@timestamp":"2016-12-25T11:41:16.518Z","@version":"1","host":"Dell-PC",
"message":"tutrialspoint.com welcomes you\r","tags":[]
}
{
"@timestamp":"2016-12-25T11:41:53.396Z","@version":"1","host":"Dell-PC",
"message":"simply easy learning\r","tags":[]
}