GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Elastic Stack di Ubuntu 18.04 LTS

Elasticsearch adalah mesin pencari open source berbasis Lucene, yang dikembangkan di Jawa. Ini menyediakan mesin pencari teks lengkap terdistribusi dan multitenant dengan antarmuka web Dasbor HTTP (Kibana). Data ditanyakan, diambil, dan disimpan dalam skema dokumen JSON. Elasticsearch adalah mesin pencari terukur yang dapat digunakan untuk mencari semua jenis dokumen teks, termasuk file log. Elasticsearch adalah inti dari 'Elastic Stack' atau ELK Stack.

Logstash adalah alat sumber terbuka untuk mengelola acara dan log. Ini menyediakan pipelining real-time untuk pengumpulan data. Logstash akan mengumpulkan data log Anda, mengubah data menjadi dokumen JSON, dan menyimpannya di Elasticsearch.

Kibana adalah alat visualisasi data open source untuk Elasticsearch. Kibana menyediakan antarmuka web dasbor yang cantik. Ini memungkinkan Anda untuk mengelola dan memvisualisasikan data dari Elasticsearch. Tidak hanya cantik, tetapi juga kuat.

Dalam tutorial ini, saya akan menunjukkan cara menginstal dan mengkonfigurasi Elastic Stack di server Ubuntu 18.04 untuk memantau log server. Kemudian saya akan menunjukkan cara menginstal dan mengkonfigurasi 'Elastic beats' di Ubuntu 18.04 dan server klien CentOS 7.

Prasyarat

  • 3 Server
    • Ubuntu 18.04 dengan Ram/memori 4GB sebagai 'elk-master' - 10.0.15.10
    • Ubuntu 18.04 dengan Ram/Memori 512MB/1GB sebagai 'elk-client01' - 10.0.15.21
    • CentOS 7.5 dengan Ram 512MB/1GB/Memori sebagai 'elk-client02' - 10.0.15.22
  • Hak istimewa root

Apa yang akan kita lakukan?

  1. Instal Elastic Stack
    1. Instal Java
    2. Instal dan Konfigurasi ElasticSearch
    3. Instal dan Konfigurasi Kibana
    4. Instal dan Konfigurasi Nginx sebagai Proksi Terbalik untuk Kibana
    5. Instal dan Konfigurasikan Logstash
  2. Instal dan Konfigurasi Filebeat di Ubuntu 18.04
  3. Instal dan Konfigurasi Filebeat di CentOS 7.5
  4. Pengujian

Langkah 1 - Instal Elastic Stack

Pada langkah pertama ini, kita akan menginstal dan mengkonfigurasi 'Elastic Stack' di server 'elk-master', jadi jalankan semua perintah dan tahapan untuk langkah ini di server 'elk-master' saja. Kami akan menginstal dan mengonfigurasi setiap komponen tumpukan elastis, termasuk Elasticsearch, Logstash shipper, dan Kibana Dashboard dengan server web Nginx.

Instal Java

Java diperlukan untuk penyebaran tumpukan Elastis. Elasticsearch membutuhkan Java 8. Direkomendasikan untuk menggunakan Oracle JDK 1.8, dan kami akan menginstal Java 8 dari repositori PPA.

Instal paket 'software-properties-common' dan 'apt-transport-https', lalu tambahkan repositori Java 'webupd8team' PPA. Jalankan perintah 'apt install' dan 'add-apt-repository' di bawah ini.

sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:webupd8team/java -y

Sekarang instal penginstal java8.

sudo apt install Oracle-Java8-installer -y

Setelah instalasi selesai, periksa versi java.

java -versi

Java 1.8 diinstal pada sistem.

Selanjutnya, kita akan mengkonfigurasi lingkungan java. Periksa file biner java menggunakan perintah di bawah ini.

update-alternatives --config java

Dan Anda akan mendapatkan file biner Java di '/usr/lib/jvm/java-8-Oracle ' direktori.

Sekarang buat file profil 'java.sh' di bawah direktori 'profile.d'.

vim /etc/profile.d/java.sh

Tempelkan konfigurasi lingkungan java di bawah.

#Set JAVA_HOMEJAVA_HOME="/usr/lib/jvm/java-8-Oracle"export JAVA_HOMEPATH=$PATH:$JAVA_HOMEexport PATH

Simpan dan keluar.

Jadikan file tersebut dapat dieksekusi dan muat file konfigurasi.

chmod +x /etc/profile.d/java.sh
sumber /etc/profile.d/java.sh

Sekarang periksa lingkungan java menggunakan perintah di bawah ini.

echo $JAVA_HOME

Dan Anda akan mendapatkan direktori java yang terletak di '/usr/lib/jvm/java-8-Oracle ' direktori.

Instal Elasticsearch

Setelah menginstal Java, kita akan menginstal komponen pertama dari Elastic Stack, kita akan menginstal elasticsearch.

Tambahkan kunci tumpukan elastis dan tambahkan repositori elastis ke sistem.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Sekarang perbarui repositori dan instal paket elasticsearch menggunakan perintah di bawah ini.

sudo apt update
sudo apt install elasticsearch -y

Setelah instalasi selesai, masuk ke direktori '/etc/elasticsearch' dan edit file konfigurasi 'elasticsearch.yml'.

cd /etc/elasticsearch/
vim elasticsearch.yml

Batalkan komentar pada baris 'network.host' dan ubah nilainya menjadi 'localhost', dan batalkan komentar pada baris 'http.port' untuk konfigurasi port elasticsearch.

network.host:localhosthttp.port:9200

Simpan dan keluar.

Sekarang mulai layanan elasticsearch dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start elasticsearch
systemctl aktifkan elasticsearch

Elasticsearch sekarang aktif dan berjalan, periksa menggunakan perintah netstat netstat dan perintah curl di bawah.

netstat -plntu
curl -XGET 'localhost:9200/?pretty'

Sekarang Anda akan mendapatkan versi elasticsearch '6.2.4' yang berjalan pada port default '9200'.

Instalasi elasticsearch telah selesai.

Instal dan Konfigurasikan Dasbor Kibana

Komponen kedua adalah Dashboard kibana. Kami akan menginstal dasbor Kibana dari repositori elastis, dan mengonfigurasi layanan kibana untuk berjalan di alamat localhost.

Instal dasbor Kibana menggunakan perintah apt di bawah ini.

sudo apt install kibana -y

Sekarang masuk ke direktori '/etc/kibana' dan edit file konfigurasi 'kibana.yml'.

cd /etc/kibana/
vim kibana.yml

Batalkan komentar pada baris 'server.port', 'server.host', dan 'elasticsearch.url'.

server.port:5601server.host:"localhost"elasticsearch.url:"http://localhost:9200"

Simpan dan keluar.

Sekarang mulai layanan kibana dan aktifkan untuk diluncurkan setiap kali sistem boot.

sudo systemctl aktifkan kibana
sudo systemctl start kibana

Dasbor kibana sekarang aktif dan berjalan di alamat 'localhost' dan port default '5601'. Periksa menggunakan perintah netstat di bawah ini.

netstat -plntu

Instalasi dasbor Kibana telah selesai.

Instal dan Konfigurasi Nginx sebagai Reverse-Proxy untuk Kibana

Dalam tutorial ini, kita akan menggunakan server web Nginx sebagai proxy terbalik untuk Dasbor Kibana.

Instal Nginx dan paket 'apache2-utils' ke sistem.

sudo apt install nginx apache2-utils -y

Setelah instalasi selesai, buka direktori konfigurasi '/etc/nginx' dan buat file host virtual baru bernama 'kibana'.

cd /etc/nginx/
vim sites-available/kibana

Rekatkan konfigurasi virtual host Nginx di bawah.

server { dengarkan 80; server_name elastic-stack.io; auth_basic "Akses Terbatas"; auth_basic_user_file /etc/nginx/.kibana-user; lokasi / { proxy_pass http://localhost:5601; proxy_http_version 1.1; proxy_set_header Tingkatkan $http_upgrade; proxy_set_header Koneksi 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }}

Simpan dan keluar.

Selanjutnya, kita akan membuat server web otentikasi dasar baru untuk mengakses dasbor Kibana. Kami akan membuat otentikasi dasar menggunakan perintah htpasswd seperti di bawah ini.

sudo htpasswd -c /etc/nginx/.kibana-user elastic
Ketikkan kata sandi pengguna elastic

Aktifkan kibana virtual host dan uji semua konfigurasi nginx.

ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/
nginx -t

Pastikan tidak ada kesalahan, sekarang mulai layanan Nginx dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl aktifkan nginx
systemctl restart nginx

Instalasi dan konfigurasi Nginx sebagai Reverse-proxy untuk dasbor Kibana telah selesai.

Instal dan Konfigurasikan Logstash

Komponen terakhir untuk Elastic Stack untuk panduan ini adalah 'Logstash'. Kami akan menginstal dan mengonfigurasi Logsatash untuk memusatkan log server dari sumber klien dengan filebeat, lalu memfilter dan mengubah semua data (Syslog) dan memindahkannya ke simpanan (Elasticsearch).

Sebelum menginstal logstash, pastikan Anda memeriksa Versi OpenSSL server Anda.

openssl versi -a

Untuk panduan ini, kita akan menggunakan OpenSSL '1.0.2o'. Jika Anda masih menggunakan OpenSSL versi 1.1.2, Anda akan mendapatkan kesalahan pada koneksi SSL logstash dan filebeat.

Instal logstash menggunakan perintah apt di bawah ini.

sudo apt install logstash -y

Setelah instalasi selesai, kami akan membuat kunci sertifikat SSL untuk mengamankan transfer data log dari filebeat klien ke server logstash.

Edit file '/etc/hosts' menggunakan vim.

vim /etc/hosts

Tambahkan konfigurasi di bawah ini.

10.0.15.10 elk-master elk-master

Simpan dan keluar.

Sekarang buat direktori SSL baru di bawah direktori konfigurasi logstash '/etc/logstash' dan buka direktori tersebut.

mkdir -p /etc/logstash/ssl
cd /etc/logstash/

Buat sertifikat SSL untuk Logstash menggunakan perintah openssl seperti di bawah ini.

openssl req -subj '/CN=elk-master/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crt 

File sertifikat SSL untuk Logstash telah dibuat di direktori '/etc/logstash/ssl'.

Selanjutnya, kita akan membuat file konfigurasi baru untuk logstash. Kami akan membuat file konfigurasi 'filebeat-input.conf' sebagai file input dari filebeat, 'syslog-filter.conf' untuk pemrosesan syslog, dan kemudian file 'output-elasticsearch.conf' untuk menentukan output Elasticsearch.

Buka direktori konfigurasi logstash dan buat file konfigurasi baru 'filebeat-input.conf' di direktori 'conf.d'.

cd /etc/logstash/
vim conf.d/filebeat-input.conf

Tempelkan konfigurasi berikut di sana.

input { beats { port => 5443 type => syslog ssl => true ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt" ssl_key => "/etc/logstash/ssl/logstash-forwarder .key" }}

Simpan dan keluar.

Untuk data log pemrosesan syslog, kami menggunakan plugin filter bernama 'grok' untuk mengurai file syslog.

Buat konfigurasi baru 'syslog-filter.conf'.

vim conf.d/syslog-filter.conf

Tempelkan konfigurasi berikut di sana.

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 HH:mm:ss", "MMM dd HH:mm:ss" ] } }}

Simpan dan keluar.

Dan untuk output elasticsearch, kita akan membuat file konfigurasi bernama 'output-elasticsearch.conf'.

vim conf.d/output-elasticsearch.conf

Tempelkan konfigurasi berikut di sana.

output { elasticsearch { hosts => ["localhost:9200"] hosts => "localhost:9200" manage_template => false index => "%{[@metadata][beat]}-%{+YYYY.MM .dd}" document_type => "%{[@metadata][type]}" }}

Simpan dan keluar.

Setelah ini selesai, mulai layanan logstash dan aktifkan untuk diluncurkan setiap kali sistem boot.

sudo systemctl aktifkan logstash
sudo systemctl start logstash

Periksa layanan logstash menggunakan perintah netstat dan systemctl di bawah ini.

netstat -plntu
systemctl status logstash

Dan layanan logstash sekarang aktif dan berjalan. Berjalan pada alamat IP publik dengan port '5443'.

Instalasi Elastic Stack telah selesai.

Langkah 2 - Instal dan Konfigurasi Filebeat di Ubuntu 18.04

Pada langkah ini, kita akan mengonfigurasi klien Ubuntu 18.04 'elk-client01' dengan menginstal pengirim data Elastic Beats 'Filebeat' di dalamnya.

Sebelum menginstal filebeat ke sistem, kita perlu mengedit '/etc/hosts' dan mendownload file sertifikat logstash 'logstash-forwarder.crt' ke server 'elk-client01'.

Edit file '/etc/hosts' menggunakan editor vim.

vim /etc/hosts

Tempelkan konfigurasi berikut di sana.

10.0.15.10 elk-master elk-master

Simpan dan keluar.

Salin file sertifikat logstash 'logstash-forwarder.crt' menggunakan perintah scp.

scp [dilindungi email]:/etc/logstash/ssl/logstash-forwarder.crt .

Selanjutnya, instal 'Filebeat' Elastic Beats dengan menambahkan kunci elastis dan tambahkan repositori elastis.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Perbarui repositori dan instal paket 'filebeat' menggunakan perintah apt di bawah ini.

sudo apt update
sudo apt install filebeat -y

Setelah instalasi selesai, masuk ke direktori '/etc/filebeat' dan edit file konfigurasi 'filebeat.yml'.

cd /etc/filebeat/
vim filebeat.yml

Sekarang aktifkan filebeat prospectors dengan mengubah nilai baris 'enabled' menjadi 'true'.

 diaktifkan:benar

Tentukan file log sistem yang akan dikirim ke server logstash. Untuk panduan ini, kami akan menambahkan file log ssh 'auth.log' dan file syslog.

 jalur:- /var/log/auth.log - /var/log/syslog

Atur output ke logstash dengan mengomentari output 'elasticsearch' default dan batalkan komentar pada baris output logstash seperti di bawah ini.

output.logstash:# Host Logstash menghosting:["elk-master:5443"] ssl.certificate_authorities:["/etc/filebeat/logstash-forwarder.crt"]

Simpan dan keluar.

Selanjutnya, kita perlu mengedit file 'filebeat.reference.yml' untuk mengaktifkan modul filebeat, dan kita akan mengaktifkan modul 'syslog'.

vim filebeat.reference.yml

Aktifkan modul sistem syslog untuk filebeat seperti di bawah ini.

- modul:sistem # Syslog syslog:diaktifkan:benar

Simpan dan keluar.

Salin file sertifikat logstash 'logstash-forwarder.crt' ke direktori '/etc/filebeat'.

cp ~/logstash-forwarder.crt /etc/filebeat/logstash-forwarder.crt

Instalasi dan konfigurasi Filebeat telah selesai. Sekarang mulai layanan filebeat dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start filebeat
systemctl aktifkan filebeat

Periksa layanan filebeat menggunakan perintah di bawah ini.

systemctl status filebeat
tail -f /var/log/filebeat/filebeat

Pengirim filebeat aktif dan berjalan di bawah server Ubuntu 18.04.

Langkah 3 - Instal dan Konfigurasi Filebeat di CentOS 7.5

Pada langkah ini, kita akan mengonfigurasi klien CentOS 7.5 'elk-client02' dengan menginstal pengirim data Elastic Beats 'Filebeat' di dalamnya.

Sebelum menginstal Filebeat ke sistem, kita perlu mengedit '/etc/hosts' dan mengunduh file sertifikat logstash 'logstash-forwarder.crt' ke server 'elk-client02'.

Edit file '/etc/hosts' menggunakan vim.

vim /etc/hosts

Tempelkan konfigurasi di bawah.

10.0.15.10 elk-master elk-master

Simpan dan keluar.

Salin file sertifikat logstash 'logstash-forwarder.crt' menggunakan perintah scp.

scp [dilindungi email]:/etc/logstash/ssl/logstash-forwarder.crt .

Selanjutnya, instal 'Filebeat' Elastic Beats dengan menambahkan kunci elastis dan tambahkan repositori elastis.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

cat < /etc/yum.repos.d/elastic.repo
[elasticsearch-6.x]
name=Elasticsearch repositori untuk paket 6.x
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

Instal filebeat menggunakan perintah yum di bawah ini.

yum install filebeat -y

Setelah instalasi selesai, masuk ke direktori '/etc/filebeat' dan edit file konfigurasi 'filebeat.yml'.

cd /etc/filebeat/
vim filebeat.yml

Sekarang aktifkan filebeat prospectors dengan mengubah nilai baris 'enabled' menjadi 'true'.

 diaktifkan:benar

Tentukan file log sistem yang akan dikirim ke server logstash. Untuk panduan ini, kami akan menambahkan file log ssh 'auth.log' dan file syslog.

 jalur:- /var/log/secure - /var/log/messages

Atur output ke logstash dengan mengomentari output 'elasticsearch' default dan batalkan komentar pada baris output logstash seperti di bawah ini.

output.logstash:# Host Logstash menghosting:["elk-master:5443"] ssl.certificate_authorities:["/etc/filebeat/logstash-forwarder.crt"]

Simpan dan keluar.

Selanjutnya, kita perlu mengedit file 'filebeat.reference.yml' untuk mengaktifkan modul filebeat, dan kita akan mengaktifkan modul 'syslog'.

vim filebeat.reference.yml

Aktifkan modul sistem syslog untuk filebeat seperti di bawah ini.

- modul:sistem # Syslog syslog:diaktifkan:benar

Simpan dan keluar.

Salin file sertifikat logstash 'logstash-forwarder.crt' ke direktori '/etc/filebeat'.

cp ~/logstash-forwarder.crt /etc/filebeat/logstash-forwarder.crt

Instalasi dan konfigurasi Filebeat telah selesai. Sekarang mulai layanan filebeat dan tambahkan ke waktu boot.

systemctl start filebeat
systemctl aktifkan filebeat

Periksa layanan filebeat menggunakan perintah di bawah ini.

systemctl status filebeat
tail -f /var/log/filebeat/filebeat

Pengirim filebeat aktif dan berjalan di bawah server CentOS 7.5.

Langkah 4 - Pengujian

Buka browser web Anda dan ketik nama domain elastic stack, milik saya adalah:'elastic-stack.io'.

Anda akan dimintai nama pengguna dan kata sandi dari otentikasi dasar ke Dasbor Kibana.

Ketik nama pengguna 'elastis' dengan kata sandi Anda.

Sekarang Anda akan mendapatkan dasbor kibana yang indah, klik tombol 'Atur pola indeks' di sebelah kanan.

Tentukan pola indeks 'filebeat-*' dan klik tombol 'Langkah berikutnya'.

Untuk 'nama bidang filter waktu', pilih '@timestamp' dan klik 'Buat pola indeks'.

Dan pola indeks filebeat telah dibuat.

Selanjutnya kita akan mencoba untuk mendapatkan informasi log untuk login SSH yang gagal pada setiap client server 'elk-client01' sistem Ubuntu dan sistem 'elk-client02' CentOS.

Di dalam Kibana Dashboard, klik menu 'Discover' untuk mendapatkan semua log server.

Atur 'beat.hostname' ke server 'elk-client01', 'source' adalah file '/var/log/auth.log', dan Anda akan mendapatkan hasil seperti gambar di bawah ini.

Dan berikut adalah contoh detail log untuk kata sandi gagal SSH dari file 'auth.log'.

Untuk server 'elk-client02' CentOS, atur 'beat.hostname' ke server 'elk-client02', 'source' adalah file '/var/log/secure', dan Anda akan mendapatkan hasilnya seperti yang ditunjukkan di bawah.

Dan berikut ini adalah contoh detail log untuk kata sandi gagal SSH dari file 'aman'.

Instalasi dan konfigurasi Elastic Stack dan Elastic Beat 'Filebeat' telah berhasil diselesaikan.


Ubuntu
  1. Cara menginstal Java 17 di Ubuntu 20.04

  2. Cara Menginstal Apache Hadoop di Ubuntu 16.04 LTS

  3. Cara Menginstal Java 17 LTS di Ubuntu 20.04

  1. Cara Menginstal Java di Ubuntu

  2. Cara Menginstal Java di Ubuntu 18.04

  3. Cara Menginstal Java di Ubuntu 18.04

  1. Cara Menginstal Elastic Stack di Ubuntu 18.04 LTS

  2. Cara Menginstal Elastic Stack di Ubuntu 16.04

  3. Cara Menginstal Java 8 di Ubuntu 18.04