GNU/Linux >> Belajar Linux >  >> Linux

Cara Menginstal Elasticsearch Logstash Kibana (Elastic Stack) di Ubuntu 18.04

Dalam panduan ini, Anda akan belajar menginstal Elastic stack di Ubuntu 18.04. Tumpukan elastis , sebelumnya dikenal sebagai tumpukan ELK adalah kumpulan atau tumpukan perangkat lunak bebas dan sumber terbuka dari Elastic Company yang dirancang untuk logging terpusat.

Ini memungkinkan pencarian, analisis, dan visualisasi log dari berbagai sumber dalam berbagai format. Logging terpusat membantu mengidentifikasi masalah server atau aplikasi dari titik yang sama.

Komponen Tumpukan Elastis

Elastic Stack terdiri dari 4 komponen utama.

  1. Elasticsearch :Ini adalah mesin pencari RESTful yang menyimpan atau menyimpan semua data yang dikumpulkan
  2. Logstash :Ini adalah komponen yang memproses data dan menguraikannya ke pencarian elastis
  3. Kibana :Ini adalah antarmuka web yang memvisualisasikan log
  4. Mengalahkan :Ini adalah pengirim data ringan yang mengirimkan log dari ratusan/ribuan server ke server pusat tempat ELK dikonfigurasi.

Sekarang mari kita lihat bagaimana Anda dapat menginstal Elastic stack di Ubuntu 18.04.

Prasyarat

Sebelum Anda memulai penginstalan, pastikan Anda memiliki infrastruktur berikut.

  1. Server Ubuntu 18,04 LTS dengan akses root dan pengguna non-root plus firewall ufw. Berikut ini adalah persyaratan minimum server.
    • Ubuntu 18.04 LTS
    • RAM 4 GB
    • 2 CPU
  2. Java 8 diinstal pada sistem Anda yang akan dibutuhkan oleh Elasticsearch dan Logstash.
  3. NGINX terinstal di server Anda yang nantinya akan dikonfigurasi untuk menangani Kibana. Bacaan yang Disarankan:Instal Nginx di Ubuntu 18.04

Dengan itu, mari selami dan mulai pemasangan tumpukan Elastis di Ubuntu.

1. Instal Elasticsearch di Ubuntu

Pertama, kita akan mengimpor kunci GPG publik Elasticsearch ke APT. Paket tumpukan elastis biasanya ditandatangani dengan kunci penandatanganan Elasticsearch untuk melindungi sistem Anda dari spoofing paket. Selain itu, paket yang diautentikasi dianggap dipercaya oleh pengelola paket.

Untuk mengimpor kunci GPG, jalankan:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Selanjutnya, tambahkan repositori Elastis ke sources.list.d direktori menggunakan perintah di bawah ini.

echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Output dari kedua perintah tersebut adalah seperti yang ditunjukkan:

Keluaran

Sekarang perbarui repositori sistem menggunakan perintah di bawah ini.

sudo apt update

Contoh Keluaran

Sekarang, instal Elasticsearch menggunakan perintah di bawah ini.

sudo apt install elasticsearch

Keluaran

2. Konfigurasikan Elasticsearch di Ubuntu

Elasticsearch mendengarkan pada port 9200. Namun, kami akan membatasi akses luar sehingga pihak luar tidak dapat mengakses data dan mematikan klaster elastis. Karena itu, kita akan membuat beberapa modifikasi pada file konfigurasi Elasticsearch seperti yang ditunjukkan di bawah ini

sudo nano /etc/elasticsearch/elasticsearch.yml

Temukan network.host atribut dan batalkan komentarnya dan tambahkan localhost sebagai nilainya. Juga batalkan komentar http.port atribut.

Keluaran


network.host: localhost
http.port: 9200

Selanjutnya, mulai dan aktifkan layanan Elasticsearch seperti yang ditunjukkan.


sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Keluaran

Pada titik ini, Elasticsearch harus aktif dan berjalan. Anda dapat memverifikasi ini dengan menjalankan perintah di bawah ini.

systemctl status elasticsearch

Keluaran

Anda juga dapat menggunakan netstat perintah seperti yang ditunjukkan.

netstat -pnltu

Anda juga dapat menjalankan curl perintah seperti yang ditunjukkan.

curl -X GET "localhost:9200"

Keluaran

Besar! Kami telah menyelesaikan instalasi dan konfigurasi Elasticsearch. Selanjutnya, kita akan menginstal dan mengkonfigurasi Logstash.

3. Menginstal dan mengonfigurasi Logstash

Komponen kedua dari Elastic stack yang akan kita install adalah Logstash. Logstash akan bertanggung jawab untuk mengumpulkan dan memusatkan log dari berbagai server menggunakan pengirim data filebeat. Kemudian akan memfilter dan menyampaikan data syslog ke Elasticsearch.

Pertama, mari konfirmasikan bahwa OpenSSL sedang berjalan. Untuk melakukannya, jalankan.

openssl version -a

Keluaran

Untuk menginstal Logstash, jalankan perintah di bawah ini.

sudo apt install logstash -y

Keluaran

Selanjutnya, edit /etc/hosts file dan tambahkan yang berikut ini.

18.224.44.11  elk-master

Dimana 18.224.44.11 adalah alamat IP dari server masterELk.

Kami kemudian akan membuat kunci sertifikat SSL untuk mengamankan transfer data log dari filebeat klien ke server logstash.

Untuk melakukannya, pertama, buat direktori SSL baru di bawah direktori konfigurasi logstash ‘/etc/logstash’ dan navigasikan ke direktori tersebut.


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

Sekarang Anda dapat membuat sertifikat SSL seperti yang ditunjukkan 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

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 terakhir file 'output-elasticsearch.conf' untuk menentukan output Elasticsearch.

Arahkan ke direktori Logstash dan buat 'filebeat-input.conf' di direktori 'conf.d'.

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

Tempelkan konfigurasi berikut.

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 dari editor teks.

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 di bawah ini.


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 keluar dari editor teks.

Terakhir, buat file konfigurasi bernama 'output-elasticsearch.conf' untuk output elasticsearch.

vim conf.d/output-elasticsearch.conf

Tempel konten berikut.


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

Simpan dan keluar dari editor teks.

Ketika itu dikatakan dan dilakukan, aktifkan dan mulai layanan Logstash.

sudo systemctl enable logstash
sudo systemctl start logstash

Untuk memverifikasi bahwa Logstash berjalan, jalankan perintah.

sudo systemctl status logstash

Contoh Keluaran

Anda juga dapat menggunakan netstat perintah seperti yang ditunjukkan.

netstat -pnltu

4. Instal dan konfigurasikan Kibana di Ubuntu

Selanjutnya, kita akan menginstal Kibana menggunakan perintah di bawah ini.

sudo apt install kibana -y

Keluaran

Selanjutnya, kita akan membuat beberapa modifikasi pada file konfigurasi kibana.

vim /etc/kibana/kibana.yml

Cari dan batalkan komentar pada atribut berikut.


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

Simpan dan keluar dari editor teks.

Kemudian aktifkan dan mulai layanan Kibana:


sudo systemctl enable kibana
sudo systemctl start kibana

Keluaran

Anda dapat mengonfirmasi bahwa kibana berjalan pada port default 5601 menggunakan netstat perintah seperti yang ditunjukkan.

netstat -pnltu

Keluaran

5. Memasang dan mengonfigurasi NGINX sebagai proxy terbalik untuk Kibana

Kami menggunakan NGINX sebagai proxy terbalik untuk dasbor kibana. Anda perlu menginstal Nginx dan 'Apache2-utils' seperti yang ditunjukkan di bawah ini.

sudo apt install nginx apache2-utils -y

Keluaran

Selanjutnya, buat file host virtual baru bernama kibana.

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

Rekatkan konten berikut ke dalam file host virtual


server {
    listen 80;
 
    server_name localhost;
 
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.kibana-user;
 
    location / {
        proxy_pass https://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;
    }
}

Simpan dan keluar dari editor teks. Direkomendasikan Baca:Arahan lokasi NGINX.

Selanjutnya, buat otentikasi dasar untuk dasbor kibana menggunakan htpasswd perintah seperti yang ditunjukkan.

sudo htpasswd -c /etc/nginx/.kibana-user elastic
Type the elastic user password

Keluaran

Dalam contoh di atas, nama pengguna adalah elastis dan kata sandi akan menjadi apa yang Anda berikan.

Selanjutnya, aktifkan konfigurasi virtual host Kibana dan uji konfigurasi Nginx.

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

Keluaran

Tanpa kesalahan, aktifkan dan mulai ulang server Nginx.


systemctl enable nginx
systemctl restart nginx

6. Memasang dan Mengonfigurasi Filebeat

Pada langkah ini, kita akan mengonfigurasi pengirim data filebeat di server elk-master kita. Ini akan menyampaikan semua pesan syslog ke logstash yang akan diproses dan divisualisasikan oleh kibana.

Untuk menginstal filebeat, jalankan:

sudo apt install filebeat

Selanjutnya, buka file konfigurasi filebeat.

sudo vim /etc/filebeat/filebeat.yml

Kami akan menggunakan Logstash untuk melakukan pemrosesan tambahan pada data yang dikumpulkan oleh Filebeat. Filebeat tidak akan diperlukan untuk mengirim data apa pun langsung ke Elasticsearch. Oleh karena itu, cari dan Komentari bagian elasticsearch seperti yang ditunjukkan.


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

Selanjutnya, buka bagian Logstash dan batalkan komentar seperti yang ditunjukkan.


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

Aktifkan filebeat prospectors dengan mengubah nilai baris 'enabled' menjadi 'true'.

enabled: true

Tentukan file log sistem yang akan dikirim ke server logstash. Dalam contoh ini, kita akan menambahkan file log ssh ‘auth.log’ dan file syslog.


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

Simpan dan Keluar.

Terakhir, salin file sertifikat logstash – logstash-forwarder.crt – ke /etc/filebeat direktori.

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

Sekarang mulai dan aktifkan filebeat.


systemctl start filebeat
systemctl enable filebeat

Untuk memeriksa status filebeat run:

systemctl status filebeat

Keluaran

7. Menguji Elasticsearch Stack

Untuk menguji tumpukan Elastis kami, Buka browser Anda dan jelajahi IP server Anda diikuti dengan port 5601 yang merupakan port yang didengarkan kibana.

ip-address:5601

Masukkan nama pengguna dan kata sandi dan kemudian, layar berikut akan ditampilkan.

Klik pada tab 'temukan' dan klik 'Filebeat' Antarmuka berikut akan muncul memberikan Anda streaming langsung dari data yang divisualisasikan.

Selamat! Anda telah berhasil menginstal dan mengonfigurasi The Elastic Stack dan 'Filebeat' Elastic Beat di sistem Ubuntu 18.04 Anda.


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

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

  3. Cara menginstal dan mengkonfigurasi Elasticsearch di Ubuntu 18.04

  1. Cara menginstal Elasticsearch dan Kibana di Linux

  2. Cara Menginstal Elasticsearch di Ubuntu 18.04

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

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

  2. Cara Menginstal Elasticsearch di Ubuntu 20.04

  3. Cara Menginstal Elastic Stack di Ubuntu 18.04 LTS