Apa itu tumpukan ELK?
ELK adalah singkatan dari Elasticsearch Logstash Kibana. Setiap istilah dalam singkatan ELK adalah singkatan dari perangkat lunak sumber terbuka individu dan semua perangkat lunak ini secara kolektif digunakan untuk analisis log. Analisis log adalah ilmu untuk memahami catatan yang dihasilkan komputer. Log dipancarkan oleh perangkat jaringan, sistem operasi, aplikasi, dan segala macam perangkat cerdas atau yang dapat diprogram. Aliran pesan dalam urutan waktu sering kali terdiri dari log. Log dapat diarahkan ke file dan disimpan di disk, atau diarahkan sebagai aliran jaringan ke pengumpul log.
Mari kita mengenal secara singkat tugas yang dilakukan oleh masing-masing perangkat lunak di tumpukan ELK.
Elasticsearch: Ini menyimpan log dan juga bertindak sebagai mesin pencari.
Logstash: Mengidentifikasi log dalam jaringan dan mengirimkannya ke pencarian elastis.
Kibana: Ini adalah perangkat lunak visualisasi data yang menampilkan data dari database elasticsearch secara interaktif.
Prosedur instalasi
Sekarang setelah Anda mendapatkan ide dasar tentang tumpukan ELK, mari instal setiap modul atau perangkat lunak secara berurutan. Tapi sebelum itu kita perlu menginstal JAVA ke server.
instalasi JAVA
Download paket JAVA terbaru atau gunakan perintah berikut untuk menambahkan paket JAVA 8 ke repositori
sudo add-apt-repository -y ppa:webupd8team/java
Kemudian perbarui repositori menggunakan perintah
sudo apt-get update
Gunakan perintah berikut secara berurutan untuk menginstal JAVA dengan sukses
echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections sudo apt-get -y install oracle-java8-installer
Untuk memverifikasi apakah paket telah diinstal dengan benar, ketik berikut ini di terminal
java -version
Jika paket telah berhasil diinstal, Anda akan menerima pesan seperti ini
java version "1.8.0_111" Java(TM) SE Runtime Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
Memasang Elasticsearch
Gunakan perintah berikut satu per satu untuk mengunduh dan menginstal Elasticsearch di server Anda
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list sudo apt-get update && sudo apt-get install elasticsearch
Sekarang jalankan perintah berikut untuk memulai elasticsearch saat boot
sudo update-rc.d elasticsearch defaults 95 10
Perintah akan memberikan hasil sebagai berikut
Adding system startup for /etc/init.d/elasticsearch ... /etc/rc0.d/K10elasticsearch -> ../init.d/elasticsearch /etc/rc1.d/K10elasticsearch -> ../init.d/elasticsearch /etc/rc6.d/K10elasticsearch -> ../init.d/elasticsearch /etc/rc2.d/S95elasticsearch -> ../init.d/elasticsearch /etc/rc3.d/S95elasticsearch -> ../init.d/elasticsearch /etc/rc4.d/S95elasticsearch -> ../init.d/elasticsearch /etc/rc5.d/S95elasticsearch -> ../init.d/elasticsearch
Sekarang saatnya untuk memulai dan melihat apakah itu berfungsi dengan baik.
sudo /etc/init.d/elasticsearch start curl 'http://localhost:9200'
Jika berhasil diinstal dan dijalankan, Anda akan menerima hasil teks seperti berikut
root@ELKTest:~# curl 'http://localhost:9200' { "name" : "Termagaira", "cluster_name" : "elasticsearch", "cluster_uuid" : "72XGxcHjSjaaXDdtmIio0g", "version" : { "number" : "2.4.3", "build_hash" : "d38a34e7b75af4e17ead16f156feffa432b22be3", "build_timestamp" : "2016-12-07T16:28:56Z", "build_snapshot" : false, "lucene_version" : "5.5.2" }, "tagline" : "You Know, for Search" }
Sekarang Anda perlu mengedit file konfigurasi untuk membatasi akses luar ke log elasticsearch Anda.
sudo vi /etc/elasticsearch/elasticsearch.yml
Sekarang temukan baris network.host, batalkan komentar dengan menghapus # sebelum baris dan ganti konten baris itu ke localhost atau 127.0.0.1 . Untuk contoh ini kita akan menggunakan localhost
network.host: localhost
Mulai ulang elasticsearch
sudo service elasticsearch restart
Menginstal Logstash
Menginstal logstash sangat mirip dengan menginstal Elasticsearch dan begitu juga Kibana. Gunakan perintah berikut untuk mengimpor dan menginstal paket logstash.
echo "deb https://packages.elastic.co/logstash/2.3/debian stable main" | sudo tee -a /etc/apt/sources.list sudo apt-get update && sudo apt-get install logstash
Sekarang jalankan perintah di bawah ini untuk memulai logstash saat startup.
sudo update-rc.d logstash defaults 95 10
Result: Adding system startup for /etc/init.d/logstash ... /etc/rc0.d/K10logstash -> ../init.d/logstash /etc/rc1.d/K10logstash -> ../init.d/logstash /etc/rc6.d/K10logstash -> ../init.d/logstash /etc/rc2.d/S95logstash -> ../init.d/logstash /etc/rc3.d/S95logstash -> ../init.d/logstash /etc/rc4.d/S95logstash -> ../init.d/logstash /etc/rc5.d/S95logstash -> ../init.d/logstash
Akhirnya mulai logstash
sudo /etc/init.d/logstash start
Menginstal Kibana
Gunakan perintah berikut secara berurutan untuk mengimpor dan menginstal kibana
echo "deb http://packages.elastic.co/kibana/4.5/debian stable main" | sudo tee -a /etc/apt/sources.list sudo apt-get update && sudo apt-get install kibana
Sekarang konfigurasikan kibana untuk memulai saat boot menggunakan
sudo update-rc.d kibana defaults 95 10
Result: Adding system startup for /etc/init.d/kibana ... /etc/rc0.d/K10kibana -> ../init.d/kibana /etc/rc1.d/K10kibana -> ../init.d/kibana /etc/rc6.d/K10kibana -> ../init.d/kibana /etc/rc2.d/S95kibana -> ../init.d/kibana /etc/rc3.d/S95kibana -> ../init.d/kibana /etc/rc4.d/S95kibana -> ../init.d/kibana /etc/rc5.d/S95kibana -> ../init.d/kibana
Konfigurasikan file kibana sehingga hanya Anda yang memiliki akses ke antarmuka.
sudo vi /opt/kibana/config/kibana.yml
Di file konfigurasi Kibana, temukan baris server.host dan ganti “0.0.0.0” dengan “localhost”:Kemudian simpan dan keluar dari file konfigurasi.
server.host: "localhost"
Sekarang restart layanan
sudo service kibana restart
Menginstal NGINX
Sebelum kita dapat menggunakan antarmuka web Kibana, Anda harus menginstal proxy terbalik. Jadi instal NGINX menggunakan perintah berikut.
sudo apt-get install nginx apache2-utils
Dengan menjalankan perintah berikut, Anda perlu mengatur nama pengguna dan kata sandi untuk antarmuka web kibana
sudo htpasswd -c /etc/nginx/htpasswd.users kibadmin
Anda dapat menggunakan nama pilihan Anda sebagai pengganti kibadmin. Sebuah prompt akan muncul meminta untuk memasukkan password baru. Masukkan kata sandi untuk akun kibana Anda dan selesaikan prosesnya.
Sekarang buat perubahan pada blok server default Nginx menggunakan yang berikut
sudo vim /etc/nginx/sites-available/default
Hapus isi file dan tempel kode berikut ke dalam file, lalu simpan dan keluar.
server { listen 80; server_name yourdomain; auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/htpasswd.users; location / { proxy_pass http://localhost:5601; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
Pastikan Anda mengganti domain Anda dengan nama domain yang sesuai. Kemudian restart server web dengan menjalankan perintah di bawah ini.
sudo service nginx restart
Tumpukan ELK sekarang berhasil diinstal ke server
Pembuatan sertifikat SSL
Buat sertifikat SSL dengan mengikuti langkah-langkah yang disediakan di tautan dengan mengklik di sini.
Saat Anda memiliki kunci dan sertifikat, letakkan di /etc/nginx/cert.key dan /etc/nginx/cert.pem lalu buat file /etc/nginx/sites-available/nsm dengan isi sebagai berikut:
server { listen 80 default_server; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name hostname; <-- edit this to match your hostname root html; index index.html index.htm; ssl on; ssl_certificate cert.pem; ssl_certificate_key cert.key; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_protocols TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:5601; include proxy_params; } }
Hapus file konfigurasi Nginx default dan aktifkan yang baru dengan menggunakan perintah berikut, lalu restart server web.
$ sudo rm /etc/nginx/sites-enabled/default && sudo ln -s /etc/nginx/sites-available/nsm /etc/nginx/sites-enabled/nsm $ sudo /etc/init.d/nginx restart
Jika semuanya dijalankan dengan benar, maka infrastruktur pencarian inti sudah ada dan harus dapat diakses di https://