ELK stack adalah platform analisis data berfitur lengkap, terdiri dari alat open-source Elasticsearch, Logstash, dan Kibana. Ini membantu Anda menyimpan dan mengelola log secara terpusat dan memberikan kemampuan untuk menganalisis masalah.
Artikel ini membantu Anda menginstal ELK stack di Debian 10 / Debian 9.
Instal ELK Stack
Elasticsearch – Ini menyimpan log masuk dari Logstash dan menyediakan kemampuan untuk mencari log/data secara real-time
Logstash – Memproses (Mengumpulkan, memperkaya, dan mengirimkannya ke Elasticsearch) log masuk yang dikirim oleh ketukan (forwarder).
Kibana – Menyediakan visualisasi peristiwa dan log.
Beats – Diinstal pada mesin klien, dan mengirimkan log ke Logstash atau Elasticsearch melalui protokol beats.
Instal Java
Elasticsearch membutuhkan OpenJDK atau Oracle JDK yang tersedia di mesin Anda. Di sini, untuk demo ini, saya menggunakan OpenJDK.
sudo apt update sudo apt install -y openjdk-11-jre
Periksa versi Java.
java -version
Keluaran:
openjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Debian-3deb10u1) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Debian-3deb10u1, mixed mode, sharing)
Jika Anda ingin menggunakan OracleJDK, baca:
BACA:Cara menginstal Oracle Java di Debian 10 / Debian 9
Tambahkan Repositori Elastis
Instal dukungan wget dan HTTPS untuk apt.
sudo apt install -y wget apt-transport-https curl
Paket ELK dapat diperoleh dari repositori Elastis.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Instal &Konfigurasi Elasticsearch
Untuk memulainya, sekarang kita akan menginstal server Elasticsearch, mesin pencari open-source berbasis Lucene. Ini menyediakan mesin pencari teks lengkap yang terdistribusi secara real-time dan berkemampuan multi-penyewa dengan antarmuka web HTTP dan dokumen JSON bebas skema.
Elasticsearch menyimpan data yang dikirim oleh Logstash, dan menampilkannya melalui Kibana atas permintaan pengguna.
Instal Elasticsearch menggunakan perintah berikut.
sudo apt update sudo apt install -y elasticsearch-oss
Mulai layanan Elasticsearch.
sudo systemctl start elasticsearch sudo systemctl enable elasticsearch
Tunggu beberapa menit dan jalankan perintah berikut untuk melihat status antarmuka Elasticsearch REST.
curl -X GET http://localhost:9200
Keluaran:
{ "name" : "debian10", "cluster_name" : "elasticsearch", "cluster_uuid" : "6y4OcEnYS3qkN_AetQAYMQ", "version" : { "number" : "7.8.0", "build_flavor" : "oss", "build_type" : "deb", "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65", "build_date" : "2020-06-14T19:35:50.234439Z", "build_snapshot" : false, "lucene_version" : "8.5.1", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Output di atas mengonfirmasi bahwa Elasticsearch aktif dan berjalan dengan baik.
Instal &Konfigurasikan Logstash
Logstash adalah mesin pengumpulan data dan penguraian log sumber terbuka. Ini mengumpulkan log, mengurai dan menyimpannya di Elasticsearch untuk pencarian. Lebih dari 160+ plugin tersedia untuk Logstash, yang menyediakan kemampuan untuk memproses berbagai jenis acara tanpa kerja ekstra.
sudo apt install -y logstash-oss
File konfigurasi Logstash terdiri dari tiga bagian, yaitu input, filter, dan output. Anda dapat menempatkan ketiga bagian dalam satu file, atau file terpisah untuk setiap bagian, diakhiri dengan .conf.
Di sini, kami menggunakan satu file untuk menempatkan bagian input, filter, dan output. Buat file konfigurasi di bawah direktori /etc/logstash/conf.d/.
sudo nano /etc/logstash/conf.d/beats-syslog.conf
Di bagian input, kami akan mengonfigurasi Logstash untuk mendengarkan pada port 5044 untuk log masuk, dari ketukan (Forwarder) yang ada di mesin klien.
input { beats { port => 5044 ssl => false } }
Di bagian filter, kita akan menggunakan Grok untuk mengurai log sebelum mengirimkannya ke Elasticsearch, untuk disimpan.
Filter grok berikut akan mencari syslog log berlabel dan mencoba menguraikannya untuk membuat indeks terstruktur.
filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGLINE}" } } date { match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } }
Untuk pola filter GROK lainnya, lihat di sini.
Di bagian output, kita akan menentukan di mana log akan disimpan, jelas Elasticsearch jika ada ELK stack.
output { elasticsearch { hosts => localhost index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" } stdout { codec => rubydebug } }
Sekarang mulai dan aktifkan layanan Logstash.
sudo systemctl start logstash sudo systemctl enable logstash
Jika Anda menghadapi masalah, lihat file Logstash.
sudo cat /var/log/logstash/logstash-plain.log
Instal dan Konfigurasi Kibana
Kibana menyediakan visualisasi data yang disimpan di Elasticsearch. Instal Kibana menggunakan perintah berikut.
sudo apt install -y kibana-oss
Secara default, Kibana mendengarkan di localhost yang berarti Anda tidak dapat mengakses antarmuka web Kibana dari komputer lain. Edit file /etc/kibana/kibana.yml.
sudo nano /etc/kibana/kibana.yml
Buat perubahan pada baris di bawah ini dengan alamat IP server Anda.
server.host: "192.168.0.10"
Mulai dan aktifkan Kibana pada startup mesin.
sudo systemctl start kibana sudo systemctl enable kibana
Instal Filebeat
Filebeat adalah perangkat lunak yang berjalan di mesin klien. Ia mengirimkan log ke server Logstash untuk diurai atau Elasticsearch untuk disimpan tergantung pada konfigurasi.
Instal dukungan wget dan HTTPS untuk apt.
sudo apt install -y wget apt-transport-https curl
Paket ELK dapat diperoleh dari repositori Elastis.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Instal Filebeat menggunakan perintah berikut.
sudo apt update sudo apt install -y filebeat-oss
File konfigurasi utama filebeat adalah /etc/filebeat/filebeat.yml.
sudo nano /etc/filebeat/filebeat.yml
Kita perlu mengedit file ini untuk mengirim log ke server Logstash.
Konfigurasi di bawah ini mengirim syslog (/var/log/syslog) ke server Logstash. Untuk demo ini, saya telah berkomentar /var/log/*.log untuk menghindari pengiriman semua log ke server Logstash.
. . . filebeat.inputs: # Each - is an input. Most options can be set at the input level, so # you can use different inputs for various configurations. # Below are the input specific configurations. - type: log # Change to true to enable this input configuration. enabled: true # Paths that should be crawled and fetched. Glob based paths. paths: - /var/log/syslog . . .
Di bagian Output, beri komentar pada bagian output.elasticsearch:karena kita tidak akan menyimpan log ke Elasticsearch.
Sekarang, buka baris output.logstash:dan ubah entri untuk mengirim log ke Logstash dan sebutkan jalur ke file SSL yang disalin.
Catatan: Ganti “192.168.0.10” dengan alamat IP server Logstash.
. . . #----------------------------- Logstash output -------------------------------- output.logstash: # The Logstash hosts hosts: ["192.168.0.10:5044"] . . .
Mulai ulang layanan Filebeat.
sudo systemctl restart filebeat
Akses Kibana
Anda dapat mengakses antarmuka web Kibana menggunakan URL berikut.
http://alamat-ip-Anda:5601/ATAU
http://nama-layanan-Anda:5601Pada login pertama Anda, Anda perlu memetakan filebeat index. Klik Jelajahi sendiri untuk membuat pola indeks.
Klik Menu (Ikon Hamburger)>> Manajemen Tumpukan>> Pola Indeks>> Buat pola indeks .
Ketik yang berikut ini di kotak Pola indeks dan klik langkah Berikutnya.
filebeat-*
Pilih @timestamp lalu klik Buat pola indeks.
@timestamp
Telusuri kolom dalam indeks dan tipe intinya yang direkam oleh Elasticsearch.
Klik Temukan di navigasi kiri untuk melihat log masuk dari mesin klien.
Kesimpulan
Itu saja. Saya harap Anda telah mempelajari cara menginstal ELK stack di Debian 10 / Debian 9. Silakan bagikan tanggapan Anda di bagian komentar.