GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Memasang Elastic Stack (Elasticsearch, Logstash dan Kibana) di CentOS 8

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 dengan skema dokumen JSON. Elasticsearch adalah mesin pencari scalable 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 sumber terbuka 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, kami akan menunjukkan kepada Anda langkah demi langkah menginstal dan mengonfigurasi 'Elastic Stack' di server CentOS 8. Kami akan menginstal dan mengatur Elasticsearch, Logstash, dan Kibana. Dan kemudian atur 'filebeat' Beats di sistem Ubuntu dan CentOS klien.

Prasyarat

  • CentOS 8 64 bit dengan RAM 4GB - elk-master
  • CentOS 8 64 bit dengan 1 GB RAM - client01
  • Ubuntu 18.04 64 bit dengan 1GB RAM - client02

Apa yang akan kami lakukan:

  • Tambahkan Repositori Elastis ke Server CentOS 8
  • Instal dan Konfigurasi Elasticsearch
  • Memasang dan Mengonfigurasi Dasbor Kibana
  • Siapkan Nginx sebagai Proksi Terbalik untuk Kibana
  • Instal dan Konfigurasikan Logstash
  • Instal dan Konfigurasi Filebeat
  • Pengujian

Langkah 1 - Tambahkan Repositori Elastis

Pertama, kita akan menambahkan kunci dan repositori Elasticsearc ke server CentOS 8. Dengan penyimpanan elasticsearch yang disediakan oleh elastic.co, kami dapat memasang produk elastis termasuk Elasticsearch, Logstash, Kibana, dan Beats.

Tambahkan kunci elastis ke sistem menggunakan perintah berikut.

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

Setelah itu, masuk ke direktori '/etc/yum.repos.d' dan buat file repositori baru 'elasticsearch.repo'.

cd /etc/yum.repos.d/
vim elasticsearch.repo

Tempel repositori elasticsearch di bawah.

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Simpan dan tutup.

Sekarang periksa semua repositori yang tersedia di sistem menggunakan perintah dnf di bawah ini.

dnf repolist

Dan Anda akan mendapatkan repositori elasticsearch yang telah ditambahkan ke server CentOS 8.

Hasilnya, Anda dapat menginstal produk Elastic seperti Elasticsearch, Logstash, dan Kibana, dll.

Langkah 2 - Instal dan Konfigurasi Elasticsearch

Pada langkah ini, kita akan menginstal dan mengkonfigurasi Elasticsearch.

Instal paket Elasticsearch menggunakan perintah dnf di bawah ini.

sudo dnf install elasticsearch -y

Setelah instalasi selesai, buka direktori '/etc/elasticsearch' dan edit file konfigurasi 'elasticsearch.yml' menggunakan editor vim.

cd /etc/elasticsearch/
vim elasticsearch.yml

Batalkan komentar pada baris berikut dan ubah nilainya untuk setiap baris seperti di bawah ini.

network.host: 127.0.0.1
http.port: 9200

Simpan dan tutup.

Opsional:

Anda dapat menyetel elasticsearch dengan mengedit file konfigurasi JVM 'jvm.options' dan mengatur ukuran heap berdasarkan jumlah memori yang Anda miliki.

Edit konfigurasi JVM 'jvm.options' menggunakan editor vim.

vim jvm.options

Ubah ukuran heap min/maks melalui konfigurasi Xms dan Xmx seperti di bawah ini.

-Xms512m
-Xmx512m

Simpan dan tutup.

Selanjutnya, muat ulang konfigurasi systemd manager dan tambahkan layanan elasticsearch ke waktu boot.

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch

Kemudian mulai layanan elasticsearch.

sudo systemctl start elasticsearch

Akibatnya, elasticsearch aktif dan berjalan di belakang alamat IP lokal '127.0.0.1' dengan port default '9200' di server CentOS 8.

Anda dapat memeriksa elasticsearch menggunakan perintah curl di bawah ini.

curl -XGET 'http://127.0.0.1:9200/?pretty'

Dan di bawah ini adalah hasil yang akan Anda dapatkan.

Langkah 3 - Instal dan Konfigurasikan Dasbor Kibana

Setelah menginstal elasticsearch, kita akan menginstal dan mengkonfigurasi Kibana Dashboard di server CentOS 8.

Instal dasbor Kibana menggunakan perintah dnf di bawah ini.

sudo dnf install kibana

Setelah instalasi selesai, buka direktori '/etc/kibana' dan edit file konfigurasi 'kibana.yml'.

cd /etc/kibana/
vim kibana.yml

Batalkan komentar dan ubah beberapa konfigurasi baris seperti di bawah ini.

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

Simpan dan tutup.

Selanjutnya, tambahkan layanan kibana ke boot sistem dan mulai layanan kibana.

sudo systemctl enable kibana
sudo systemctl start kibana

Layanan Kibana aktif dan berjalan di server CentOS 8, periksa menggunakan perintah berikut.

systemctl status kibana
netstat -plntu

Dan Anda akan mendapatkan hasil seperti di bawah ini.

Akibatnya, layanan Kibana aktif dan menjalankan port TCP default '5601'.

Langkah 4 - Siapkan Nginx sebagai Proxy Terbalik untuk Kibana

Pada langkah ini, kita akan menginstal server web Nginx dan menyiapkannya sebagai proxy terbalik untuk Dasbor Kibana.

Instal Nginx dan httpd-tools menggunakan perintah dnf di bawah ini.

sudo dnf install nginx httpd-tools

Setelah instalasi selesai, masuk ke direktori '/etc/nginx/conf.d' dan buat file konfigurasi baru 'kibana.conf'.

cd /etc/nginx/conf.d/
vim kibana.conf

Tempelkan konfigurasi berikut.

server {
    listen 80;
 
    server_name elk.hakase-labs.io;
 
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.kibana-user;
 
    location / {
        proxy_pass http://127.0.0.1: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;
    }
}

Simpan dan tutup.

Selanjutnya, kita perlu membuat otentikasi dasar untuk mengamankan akses Kibana. Ubah pengguna 'hakase' dengan milik Anda dan jalankan perintah htpasspwd seperti di bawah ini.

sudo htpasswd -c /etc/nginx/.kibana-user hakase
TYPE YOUR PASSWORD

Ketik kata sandi Anda dan uji konfigurasi nginx.

nginx -t

Pastikan tidak ada kesalahan.

Sekarang tambahkan layanan nginx ke boot sistem dan mulai layanan nginx.

systemctl enable nginx
systemctl start nginx

Hasilnya, instalasi dan konfigurasi Nginx sebagai proxy terbalik untuk Kibana Dashboard telah selesai.

Langkah 5 - Instal dan Konfigurasikan Logstash

Pada langkah ini, kita akan menginstal dan mengonfigurasi logstash sebagai pengirim log. Kami akan menginstal logstash, mengatur ketukan input, mengatur penyaringan syslog menggunakan plugin logstash yang disebut 'grok', dan kemudian mengatur output ke elasticsearch.

Instal logstash menggunakan perintah dnf di bawah ini.

sudo dnf install logstash

Setelah instalasi selesai, buka direktori '/etc/logstash' dan edit file konfigurasi JVM 'jvm.options' menggunakan editor vim.

cd /etc/logstash/
vim jvm.options

Ubah ukuran heap min/maks melalui konfigurasi Xms dan Xmx seperti di bawah ini.

-Xms512m
-Xmx512m

Simpan dan tutup.

Selanjutnya, masuk ke direktori '/etc/logstash/conf.d' dan buat file konfigurasi untuk input beats bernama 'input-beat.conf'.

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

Tempelkan konfigurasi berikut.

input {
  beats {
    port => 5044
  }
}

Simpan dan tutup.

Sekarang buat file konfigurasi 'syslog-filter.conf'.

vim syslog-filter.conf

Tempelkan konfigurasi berikut.

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}" ]
    }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

Simpan dan tutup.

Kemudian buat konfigurasi output untuk elasticsearch 'output-elasticsearch.conf'.

vim output-elasticsearch.conf

Tempelkan konfigurasi berikut.

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

Simpan dan tutup.

Selanjutnya, tambahkan layanan logstash ke boot sistem dan mulai layanan logstash.

systemctl enable logstash
systemctl start logstash

Layanan logstash aktif dan berjalan, periksa menggunakan perintah berikut.

systemctl status logstash
netstat -plntu

Dan Anda akan mendapatkan hasil seperti di bawah ini.

Akibatnya, pengirim log logstash aktif dan berjalan di server CentOS 8 dengan port TCP default '5044'. Dan instalasi Elastic Stack dasar telah selesai, dan kami siap mengirimkan dan memantau log kami ke server Elastic (ELK Stack).

Langkah 6 - Instal Filebeat di Klien

Pada langkah ini, kami akan menunjukkan cara mengatur filebeat di sistem Ubuntu dan CentOS. Kami akan menginstal filebeat dan mengonfigurasi untuk mengirimkan log dari kedua server ke Logstash di server elastic.

- Instal Filebeat di CentOS 8

Tambahkan kunci elasticsearch ke sistem CentOS 8 menggunakan perintah berikut.

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

Sekarang masuk ke direktori '/etc/yum.repos.d' dan buat file 'elasticsearch.repo' menggunakan editor vim.

cd /etc/yum.repos.d/
vim elasticsearch.repo

Tempelkan konfigurasi berikut.

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Simpan dan tutup.

Sekarang instal filebeat menggunakan perintah dnf di bawah ini.

sudo dnf install filebeat

Tunggu hingga penginstalan filebeat selesai.

- Instal Filebeat di Ubuntu 18.04

Pertama, instal paket apt-transport-https.

sudo apt install apt-transport-https

Setelah itu, tambahkan kunci elasticsearch dan repositori menggunakan perintah berikut.

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

Sekarang perbarui semua repositori dan instal filebeat ke sistem ubuntu menggunakan perintah apt di bawah ini.

sudo apt update
sudo apt install filebeat

Tunggu hingga penginstalan filebeat selesai.

- Konfigurasi Filebeat

Konfigurasi filebeat terletak di direktori '/etc/filebeat'. Buka direktori filebeat dan edit file konfigurasi 'filebeat.yml'.

cd /etc/filebeat/
vim filebeat.yml

Sekarang nonaktifkan output elasticsearch default seperti di bawah ini.

#output.elasticsearch:
  # Array of hosts to connect to.
  #  hosts: ["127.0.0.1:9200"]

Kemudian aktifkan output logstash dan tentukan alamat IP host logstash.

output.logstash:
  # The Logstash hosts
  hosts: ["10.5.5.25:5044"]

Simpan dan tutup.

Selanjutnya, kita perlu mengaktifkan modul filebeat. Jalankan perintah filebeat di bawah ini untuk mendapatkan daftar modul filebeat.

filebeat modules list

Aktifkan modul 'sistem' menggunakan perintah berikut.

filebeat modules enable system

Modul sistem filebeat telah diaktifkan dengan file konfigurasi 'modules.d/system.yml'.

Edit konfigurasi modul sistem menggunakan editor vim.

cd /etc/filebeat/
vim modules.d/system.yml

Batalkan komentar jalur file syslog dan file otorisasi ssh.

Untuk sistem CentOS:

  # Syslog
  syslog:
    enabled: true
    var.paths: ["/var/log/messages"]

  # Authorization logs
  auth:
    enabled: true
    var.paths: ["/var/log/secure"]

Untuk sistem Ubuntu:

  # Syslog
  syslog:
    enabled: true
    var.paths: ["/var/log/syslog"]

  # Authorization logs
  auth:
    enabled: true
    var.paths: ["/var/log/auth.log"]

Simpan dan tutup.

Sekarang tambahkan layanan filebeat ke boot sistem dan mulai layanan.

systemctl enable filebeat
systemctl start filebeat

Layanan filebeat aktif dan berjalan, Anda dapat memeriksa menggunakan perintah berikut.

systemctl status filebeat

Dan Anda akan diperlihatkan hasilnya seperti di bawah ini.

Di bawah ini adalah hasil dari server CentOS 8.

Dan di bawah ini dari Ubuntu Server 18.04.

Akibatnya, koneksi antara filebeat dan layanan logstash pada alamat IP server tumpukan elastis '10.5.5.12' telah dibuat.

Langkah 7 - Pengujian

Buka browser web Anda dan ketik nama domain instalasi Elastic Stack di bilah alamat.

http://elk.hakase-labs.io/

Sekarang masuk ke Dasbor Kibana menggunakan akun otentikasi dasar yang telah Anda buat.

Dan Anda akan mendapatkan Dashboard Kibana seperti di bawah ini.

Sekarang hubungkan ke data indeks elasticsearch yang secara otomatis dibuat setelah filebeat terhubung ke logstash. Klik 'Hubungkan ke indeks Elasticsearch Anda ' tautan.

Buat 'filebeat-* ' pola indeks dan klik 'Langkah berikutnya '.

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

Dan 'filebeat-* ' pola indeks telah dibuat, klik 'Temukan ' menu di sebelah kiri.

Dan Anda akan mendapatkan data log dari klien filebeat seperti di bawah ini.

Log untuk sistem CentOS 8.

Masuk untuk sistem Ubuntu.

Akibatnya, data log yang ditentukan pada modul sistem filebeat telah dikirim ke server tumpukan elastis.

Dan instalasi dan konfigurasi Elastic Stack pada CentOS 8 telah berhasil diselesaikan.


Cent OS
  1. Cara menginstal Elasticsearch, Logstash dan Kibana 4 di CentOS 7 / RHEL 7

  2. Cara menginstal Elasticsearch, Logstash dan Kibana 4 di Ubuntu 14.04 / 15.04

  3. Cara Memasang ELK Stack di CentOS 7

  1. Cara menginstal Elasticsearch dan Kibana di Linux

  2. Cara Menginstal ELK Stack (Elasticsearch, Logstash, dan Kibana) di Ubuntu 18.04 / 20.04

  3. Instal Elasticsearch, Logstash, Dan Kibana Di Ubuntu 20.04

  1. Cara Menginstal dan Mengkonfigurasi Nginx di CentOS 7

  2. Cara Menginstal Elasticsearch, Logstash, dan Kibana (ELK Stack) di CentOS 8

  3. Cara Menginstal Elasticsearch di CentOS 7