ELK Stack adalah platform manajemen log paling populer di dunia. Ini adalah kumpulan produk sumber terbuka termasuk Elasticsearch, Logstash, dan Kibana. Semua 3 produk ini dikembangkan, dikelola, dan dipelihara oleh Elastic.
ELK Stack adalah platform yang kuat dan open source yang dapat mengelola sejumlah besar data yang dicatat. Log input umumnya dari antarmuka web grafis (GUI).
- Elasticsearch adalah mesin pencari dan analitik berbasis JSON yang ditujukan untuk skalabilitas horizontal dan manajemen yang lebih mudah.
- Logstash adalah antarmuka pemrosesan data sisi server yang memiliki kemampuan untuk mengumpulkan data dari beberapa sumber secara bersamaan. Itu kemudian mengubahnya, dan kemudian mengirimkan data ke simpanan yang Anda inginkan. Ini adalah aplikasi sumber terbuka.
- Kibana digunakan untuk memvisualisasikan data Anda dan menavigasi Elastic Stack. Ini adalah alat sumber terbuka juga.
Instal dan konfigurasikan ELK Stack di Ubuntu
Dalam tutorial ini, kita akan menggunakan filebeat untuk mengirim data log ke Logstash. Beats adalah pengirim data yang ringan dan untuk memulainya, kita harus menginstal agen di server.
Langkah 1) Menginstal Java 8
ElasticSearch mendukung Java 8 dan 9, tetapi masalahnya adalah Logstash hanya kompatibel dengan Java 8. Java 9 belum didukung. Oleh karena itu, kita akan menginstal Oracle Java 8.
Luncurkan Terminal dan tambahkan repositori Oracle Java 8, diikuti dengan pembaruan sistem, dan instalasi yang sebenarnya.
sudo add-apt-repository ppa: webupd8team/java
sudo apt-get update
sudo apt install Oracle-Java8-set-default
Perhatikan Terminal. Anda harus menyetujui jendela perjanjian lisensi dan memilih “ya” untuk melanjutkan. Setelah instalasi selesai, Anda dapat memeriksa versi java dengan menggunakan perintah berikut:
.sudo java -versi
sudo echo $JAVA_HOME
Langkah 2) Menginstal dan Mengonfigurasi Elasticsearch
Mari kita mulai dengan wget perintah untuk mengunduh Elasticsearch diikuti oleh kunci penandatanganan publik:
sudo wget -qO - https://artifacts.elastis.co/GPG-KEY-elasticsearch | sudo apt-key add -
Kedua, instal paket apt-transport-https (distro berbasis Debian membutuhkan ini).
sudo apt-get install apt-transport-https
Tambahkan repositori:
echo "deb https://artefak.elastis.bersama/paket/6.x/apt stable main" | sudo tee -a /etc/apt/sources.daftar.d/elastis-6.x.daftar
Perbarui daftar repo dan instal paket:
sudo apt-get update
sudo apt-get install elasticsearch
Mari kita ubah “elasticsearch.yml” file:
sudo vim /etc/elasticsearch/elasticsearch.yml
Batalkan komentar “jaringan.tuan rumah” dan “http.Pelabuhan". Konfigurasi berikut harus ditambahkan:
jaringan.tuan rumah: localhost http.pelabuhan: 9200
Selanjutnya, simpan dan tutup file.
Untuk memastikan ElasticSearch berfungsi dengan lancar, aktifkan saat boot dan Mulai ElasticSearch.
sudo systemctl aktifkan elasticsearch.layanan
sudo systemctl start elasticsearch.layanan
Periksa instalasi:
sudo curl -XGET 'localhost:9200/?cantik'
Langkah 3) Menginstal Kibana
Mari kita mulai menginstal Kibana sekarang dan mengubah pengaturan Kibana:
sudo apt-get install kibana
sudo vim /etc/kibana/kibana.yml
Batalkan komentar pada baris berikut:
server.port: 5601 server.host: "localhost" elasticsearch.url: "http://localhost:9200"
Simpan dan keluar dari File.
Aktifkan saat boot dan mulai layanan Kibana:
sudo systemctl aktifkan kibana.layanan
sudo systemctl mulai kibana.layanan
Langkah 4) Mengonfigurasi Nginx sebagai Proksi Terbalik untuk Kibana
Di baris yang sama, mari instal Nginx, konfigurasikan, dan mulai layanan. Gunakan perintah berikut satu per satu:
sudo apt-get install nginx apache2-utils
Konfigurasikan Virtual host:
sudo vim /etc/nginx/sites-available/elk
Tambahkan konfigurasi berikut ke file:
server dengarkan 80; server_name rusa.foslinux.com; auth_basic "Akses Terbatas"; auth_basic_user_file /etc/nginx/.rahasia elkuse; lokasi / proxy_pass http://localhost:5601; proxy_http_versi 1.1; proxy_set_header Tingkatkan $http_upgrade; proxy_set_header Koneksi 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade;
Buat file pengguna dan kata sandi untuk otentikasi browser web:
sudo htpasswd -c /etc/nginx/.elkusecret elkusr
Masukkan kata sandi dan ulangi. Periksa Konfigurasi Nginx:
sudo nginx -t
Aktifkan Nginx pada boot sistem dan mulai ulang layanan:
sudo systemctl aktifkan nginx.layanan
sudo systemctl restart nginx.layanan
Langkah 5) Menginstal dan Mengonfigurasi Logstash
Instal Logstash:
sudo apt-get install logstash
Di sini kita akan membuat kunci sertifikat SSL untuk mengamankan transfer log dari file beat client. Ubah file "hosts" sebelum membuat sertifikat SSL.
sudo vim /etc/hosts
Tambahkan baris berikut ke file. Pastikan untuk mengubah IP dan nama server menjadi milik Anda.
172.31.31.158 server-elk-server-elk
Setelah selesai, simpan dan keluar dari file.
Sekarang ubah direktori ke Logstash.
sudo cd /etc/logstash/
Buat folder untuk SSL:
sudo mkdir ssl
Hasilkan sertifikat SSL. Ubah elk-server menjadi nama server Anda pada perintah di bawah ini.
sudo openssl req -subj '/CN=elk-server/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crt
Buat file berikut di dalam “/etc/logstash/conf.d”.
sudo cd /etc/logstash/conf.d/
buat file input filebeat menggunakan vim.
sudo vim filebeat-input.konf
Tambahkan baris berikut ke dalamnya.
masukan beats port => 5443 type => syslog ssl => true ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt" ssl_key => "/etc/logstash/ssl/logstash-forwarder.kunci"
Simpan dan tutup file dan buat file konfigurasi baru.
sudo vim syslog-filter.konf
Tambahkan konten berikut ke dalamnya.
filter if [type] == "syslog" grok match => "message" => "%SYSLOGTIMESTAMP:syslog_timestamp %SYSLOGHOST:syslog_hostname %DATA:syslog_program(?:\[%POSINT:syslog_pid\])?: %GREEDYDATA:syslog_message" add_field => [ "received_at", "%@timestamp" ] add_field => [ "received_from", "%host" ] tanggal cocok => [ "syslog_timestamp" , "MMM d TJ:mm:dd", "MMM dd TJ:mm:dd" ]
Simpan dan keluar dari file. Membuat pencarian elastis berkas keluaran.
Sudo vim output-elasticsearch.konf
Tambahkan baris berikut ke dalamnya.
output elasticsearch hosts => ["localhost:9200"] hosts => "localhost:9200" manage_template => false index => "%[@metadata][beat]-%+YYYY.MM.dd" document_type => "%[@metadata][type]"
Mari aktifkan Logstash saat boot dan mulai layanan:
sudo systemctl aktifkan logstash.layanan
sudo systemctl start logstash.layanan
Langkah 6) Menginstal dan Mengonfigurasi Filebeat di server Klien
Mulailah dengan mengedit tuan rumah file untuk menambahkan entri host rusa. Pastikan untuk mengganti IP dan nama dengan milik Anda.
sudo vim /etc/hosts
172.31.31.158 server rusa
Simpan dan keluar dari file.
Unduh dan instal Kunci Penandatanganan Publik:
sudo wget -qO - https://artifacts.elastis.co/GPG-KEY-elasticsearch | sudo apt-key add -
Instal “apt-transport-https” dan tambahkan repo.
sudo apt-get install apt-transport-https
sudo echo "deb https://artifacts.elastis.bersama/paket/6.x/apt stable main" | sudo tee -a /etc/apt/sources.daftar.d/elastis-6.x.daftar
Perbarui repo dan instal Filebeat.
sudo apt-get update
sudo apt-get install filebeat
Ubah konfigurasi Filebeat.
sudo vim /etc/filebeat/filebeat.yml
Temukan baris berikut dan ubah nilainya menjadi "true".
diaktifkan: benar
Di sini kami tidak mengubah jalur log dan Filebeat akan meneruskan semua log di dalam folder "var/log"
jalur: - /var/log/*.catatan
Batalkan komentar pada baris berikut:
keluaran.logstash: # Host Logstash host: ["elk-server:5443"] ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]
Komentar Pencarian elastis:
#keluaran.elasticsearch: # Array host untuk terhubung. # host: ["localhost:9200"]
Simpan dan keluar dari file.
Sekarang buka server ELK dan dapatkan “logstash-forwarder.crt” isinya
sudo cat /etc/logstash/ssl/logstash-forwarder.crt
salin output dan kemudian pergi ke server klien Elk.
Buat file sertifikat
sudo vim /etc/filebeat/logstash-forwarder.crt
masukkan output yang disalin dan simpan & keluar.
Memungkinkan filebeat pada boot sistem Mulai filebeat layanan.
sudo systemctl aktifkan filebeat.layanan
sudo systemctl start filebeat.layanan
Langkah 7) Menjelajahi Dasbor Kibana
Luncurkan browser web favorit Anda dan masukkan nama domain diikuti dengan nama pengguna dan kata sandi.
http://elk.foslinux.com
Masukkan nama pengguna dan kata sandi yang dibuat. Anda akan melihat halaman Selamat Datang Kibana. Klik tombol "Jelajahi Milik Saya".
Anda harus diarahkan ke Halaman Beranda Kibana.
Klik "Temukan" di sisi kiri. Klik "Buat pola indeks".
Kemudian tentukan pola indeks “filebeat-*”.
Klik berikutnya dan pilih @timestamp' dan klik 'Buat pola indeks'.
Pola indeks harus dibuat.
Klik Menu "Temukan" untuk melihat log server.
Log akan ditampilkan sesuai stempel waktu time. Klik pada stempel waktu mana saja untuk memperluasnya dan melihat konten file log dan detailnya.
Jika Anda sampai di sini, itu berarti Anda telah berhasil menginstal dan mengonfigurasi tumpukan ELK dengan filebeat. Punya masalah?? Jangan ragu untuk memberi tahu kami di komentar di bawah.