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

Cara Mengatur Multi Node Elastic Stack Cluster di RHEL 8 / CentOS 8

Tumpukan elastis secara luas dikenal sebagai tumpukan ELK , ini adalah grup produk sumber terbuka seperti Elasticsearch , Logstash dan Kibana . Elastis Stack dikembangkan dan dikelola oleh perusahaan Elastis. Dengan menggunakan elastic stack, seseorang dapat memasukkan log sistem ke Logstash, ini adalah mesin pengumpul data yang menerima log atau data dari semua sumber dan menormalkan log dan kemudian meneruskan log ke Elasticsearch untuk menganalisis , pengindeksan , menelusuri dan menyimpan dan terakhir menggunakan Kibana seseorang dapat merepresentasikan data visualisasi, dengan menggunakan Kibana kita juga dapat membuat grafik dan diagram interaktif berdasarkan kueri pengguna.

Pada artikel ini kami akan mendemonstrasikan cara mengatur cluster multi node elastic stack (ELK Stack) di server RHEL 8 / CentOS 8. Berikut adalah detail untuk Elastic Stack Cluster saya:

Elasticsearch:
  • Tiga Server dengan Minimal RHEL 8 / CentOS 8
  • IP &Hostname – 192.168.56.40 (elasticsearch1.linuxtechi. local), 192.168.56.50 (elasticsearch2.linuxtechi. local), 192.168.56.60 (elasticsearch3.linuxtechi. local)
Logstash:
  • Dua Server dengan RHEL 8 / CentOS 8 minimal
  • IP &Nama Inang – 192.168.56.20 (logstash1.linuxtechi. lokal), 192.168.56.30 (logstash2.linuxtechi. lokal)
Kibana:
  • Satu Server dengan minimal RHEL 8 / CentOS 8
  • Nama host – kibana.linuxtechi.local
  • IP – 192.168.56.10
Filebeat:
  • Satu Server dengan CentOS 7 minimal
  • IP &nama host – 192.168.56.70 (server web)

Mari kita mulai dengan penyiapan cluster Elasticsearch,

Siapkan 3 node Elasticsearch cluster

Seperti yang telah saya nyatakan bahwa saya telah menyimpan node untuk cluster Elasticsearch, login ke setiap node, atur nama host dan konfigurasikan repositori yum/dnf.

Gunakan perintah hostnamectl di bawah ini untuk mengatur nama host pada masing-masing node,

[[email protected] ~]# hostnamectl set-hostname "elasticsearch1.linuxtechi. local"[[email protected] ~]# exec bash[[email protected] ~]#[[email protected] ~]# hostnamectl set -hostname "elasticsearch2.linuxtechi. local"[[email protected] ~]# exec bash[[email protected] ~]#[[email protected] ~]# hostnamectl set-hostname "elasticsearch3.linuxtechi. local"[[email protected] ] ~]# exec bash[[email protected] ~]#

Untuk Sistem CentOS 8 kami tidak perlu mengkonfigurasi repositori paket OS apa pun dan untuk Server RHEL 8, jika Anda memiliki langganan yang valid dan kemudian berlangganan dengan Red Hat untuk mendapatkan repositori paket. Jika Anda ingin mengonfigurasi repositori yum/dnf lokal untuk paket OS, lihat url di bawah ini:

Cara Menyetel Repositori Yum/DNF Lokal di Server RHEL 8 Menggunakan File DVD atau ISO

Konfigurasikan repositori paket Elasticsearch di semua node, buat file elastic.repo  di bawah folder /etc/yum.repos.d/ dengan konten berikut

~]# vi /etc/yum.repos.d/elastic.repo[elasticsearch-7.x]name=Elasticsearch repositori untuk 7.x packagesbaseurl=https://artifacts.elastic.co/packages/7. x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md

simpan &keluar dari file

Gunakan perintah rpm di bawah pada ketiga node untuk mengimpor kunci penandatanganan publik Elastic

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

Tambahkan baris berikut di file /etc/hosts di ketiga node,

192.168.56.40            elasticsearch1.linuxtechi.local192.168.56.50           elasticsearch2.linuxtechi.local192.168.56.60           elasticsearch3.linuxtechi.local

Instal Java di ketiga Node menggunakan perintah yum / dnf,

[[email protected] ~]# dnf install java-openjdk -y[[email protected] ~]# dnf install java-openjdk -y[[email protected] ~]# dnf install java-openjdk -y 

Instal Elasticsearch menggunakan perintah dnf di bawah pada ketiga node,

[[email protected] ~]# dnf install elasticsearch -y[[email protected] ~]# dnf install elasticsearch -y[[email protected] ~]# dnf install elasticsearch -y

Catatan: Jika firewall OS diaktifkan dan berjalan di setiap node Elasticsearch, maka izinkan port berikut menggunakan perintah di bawah firewall-cmd,

~]# firewall-cmd --permanent --add-port=9300/tcp~]# firewall-cmd --permanent --add-port=9200/tcp~]# firewall-cmd --reload 

Konfigurasi Elasticsearch, edit file “/etc/elasticsearch/elasticsearch.yml ” pada ketiga node dan tambahkan berikut ini,

~]# vim /etc/elasticsearch/elasticsearch.yml…………………………………………cluster.name:opn-clusterode.name:elasticsearch1.linuxtechi.localnetwork.host:192.168 .56.40http.port:9200discovery.seed_hosts:["elasticsearch1.linuxtechi.local", "elasticsearch2.linuxtechi.local", "elasticsearch3.linuxtechi.local"]cluster.initial_master_nodes:["elasticsearch1.linuxtechi.local", "elasticsearch2 .linuxtechi.local", "elasticsearch3.linuxtechi.local"]……………………………………………

Catatan: pada Setiap node, tambahkan hostname yang benar di parameter node.name dan alamat ip di parameter network.host dan parameter lainnya akan tetap sama.

Sekarang Mulai dan aktifkan layanan Elasticsearch pada ketiga node menggunakan perintah systemctl berikut,

~]# systemctl daemon-reload~]# systemctl aktifkan elasticsearch.service~]# systemctl start elasticsearch.service

Gunakan perintah 'ss' di bawah ini untuk memverifikasi apakah simpul elasticsearch mulai mendengarkan pada port 9200,

[[email protected] ~]# ss -tunlp | grep 9200tcp   DENGARKAN  0      128       [::ffff:192.168.56.40]:9200            *:*     pengguna:(("java",pid=2734,fd=256))          [dilindungi] 

Gunakan perintah curl berikut untuk memverifikasi status cluster Elasticsearch

[[email protected] ~]# curl  http://elasticsearch1.linuxtechi.local:9200[[email protected] ~]# curl -X GET  http://elasticsearch2.linuxtechi.local:9200/_cluster/health ?cantik

Output perintah di atas akan menjadi seperti di bawah ini,

Output di atas mengkonfirmasi bahwa kami telah berhasil membuat 3 node cluster Elasticsearch dan status cluster juga hijau.

Catatan: Jika Anda ingin mengubah ukuran heap JVM maka Anda harus mengedit file “/etc/elasticsearch/jvm.options ” dan ubah parameter di bawah ini yang sesuai dengan lingkungan Anda,

  • -Xms1g
  • -Xmx1g

Sekarang mari kita pindah ke node Logstash,

Instal dan Konfigurasikan Logstash

Lakukan langkah-langkah berikut pada kedua node Logstash,

Login ke kedua node atur hostname menggunakan perintah hostnamectl berikut,

[[email protected] ~]# hostnamectl set-hostname "logstash1.linuxtechi.local"[[email protected] ~]# exec bash[[email protected] ~]#[[email protected] ~]# hostnamectl set -hostname "logstash2.linuxtechi.local"[[email protected] ~]# exec bash[[email protected] ~]#

Tambahkan entri berikut di file /etc/hosts di kedua node logstash

~]# vi /etc/hosts192.168.56.40            elasticsearch1.linuxtechi.local192.168.56.50           elasticsearch2.linuxtechi.local192.168.56.60           elasticsearch3.linuxpre>~]# vi /etc/hosts192.168.56.40           elasticsearch. 

Simpan dan keluar dari file

Konfigurasikan repositori Logstash di kedua node, buat file logstash.repo di bawah folder /ete/yum.repos.d/ dengan konten berikut,

~]# vi /etc/yum.repos.d/logstash.repo[elasticsearch-7.x]name=Elasticsearch repositori untuk 7.x packagesbaseurl=https://artifacts.elastic.co/packages/7. x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md

Simpan dan keluar dari file, jalankan perintah rpm berikut untuk mengimpor kunci penandatanganan

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

Instal Java OpenJDK di kedua node menggunakan perintah dnf berikut,

~]# dnf install java-openjdk -y

Jalankan perintah dnf berikut dari kedua node untuk menginstal logstash,

[[email protected] ~]# dnf install logstash -y[[email protected] ~]# dnf install logstash -y

Sekarang konfigurasikan logstash, lakukan langkah-langkah di bawah ini pada kedua node logstash,

Buat file conf logstash, untuk itu pertama kita salin contoh file logstash di bawah ‘/etc/logstash/conf.d/’

# cd /etc/logstash/# cp logstash-sample.conf conf.d/logstash.conf

Edit file conf dan perbarui konten berikut,

# vi conf.d/logstash.confinput {  beats {    port => 5044  }}output {  elasticsearch {    hosts => ["http://elasticsearch1.linuxtechi.local:9200", "http://elasticsearch2. linuxtechi.local:9200", "http://elasticsearch3.linuxtechi.local:9200"]    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+ YYYY.MM.dd}"    #user => "elastis"    #password => "changeme"  }}

Di bawah bagian output, dalam parameter hosts, tentukan FQDN dari ketiga node Elasticsearch, parameter lain dibiarkan apa adanya.

Izinkan port logstash “5044” di firewall OS menggunakan perintah firewall-cmd berikut,

~ # firewall-cmd --permanent --add-port=5044/tcp~ # firewall-cmd –reload

Sekarang mulai dan aktifkan layanan Logstash, jalankan perintah systemctl berikut di kedua node

~]# systemctl start logstash~]# systemctl mengaktifkan logstash

Gunakan perintah ss di bawah ini untuk memverifikasi apakah layanan logstash mulai mendengarkan pada 5044,

[[email protected] ~]# ss -tunlp | grep 5044tcp   DENGARKAN  0      128                     *:5044             *:*     pengguna:(("java",pid=2416,fd=96)      dilindungi]     dilindungi 

Output di atas mengonfirmasi bahwa logstash telah diinstal dan berhasil dikonfigurasi. Mari beralih ke instalasi Kibana.

Instal dan Konfigurasi Kibana

Masuk ke node Kibana, atur nama host dengan hostnameectl perintah,

[[email protected] ~]# hostnamectl set-hostname "kibana.linuxtechi.local"[[email protected] ~]# exec bash[[email protected] ~]#

Edit file /etc/hosts dan tambahkan baris berikut

192.168.56.40            elasticsearch1.linuxtechi.local192.168.56.50           elasticsearch2.linuxtechi.local192.168.56.60           elasticsearch3.linuxtechi.local

Siapkan repositori Kibana menggunakan yang berikut,

[[email protected] ~]# vi /etc/yum.repos.d/kibana.repo[elasticsearch-7.x]name=Elasticsearch repositori untuk 7.x packagesbaseurl=https://artifacts.elastic.co /packages/7.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md[[email protected] ~]# rpm --import https:// artefak.elastic.co/GPG-KEY-elasticsearch

Jalankan perintah dnf di bawah ini untuk menginstal kibana,

[[email protected] ~]# yum install kibana -y

Konfigurasi Kibana dengan mengedit file “/etc/kibana/kibana.yml

[[email protected] ~]# vim /etc/kibana/kibana.yml…………server.host:"kibana.linuxtechi.local"server.name:"kibana.linuxtechi.local"elasticsearch.hosts:["http://elasticsearch1.linuxtechi.local:9200", "http://elasticsearch2.linuxtechi.local:9200", "http://elasticsearch3.linuxtechi.local:9200"]…………

Mulai dan aktifkan layanan kibana

[[email protected] ~]# systemctl start kibana[[email protected] ~]# systemctl enable kibana

Izinkan port Kibana '5601' di firewall OS,

[[email protected] ~]# firewall-cmd --permanent --add-port=5601/tcpsuccess[[email protected] ~]# firewall-cmd --reloadsuccess[[email protected] ~]# 

Akses portal / GUI Kibana menggunakan URL berikut:

http://kibana.linuxtechi.local:5601

Dari dasbor, kami juga dapat memeriksa status cluster Elastic Stack kami

Ini mengonfirmasi bahwa kami telah berhasil menyiapkan cluster Elastic Stack multi node di RHEL 8 / CentOS 8.

Sekarang mari kita mengirim beberapa log ke node logstash melalui filebeat dari server Linux lain, Dalam kasus saya, saya memiliki satu Server CentOS 7, saya akan mendorong semua log penting dari server ini ke logstash melalui filebeat.

Masuk ke server CentOS 7 dan instal paket filebeat menggunakan perintah rpm berikut,

[[email protected] ~]# rpm -ivh https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.1-x86_64.rpmRetrieving https://artifacts.elastic.co/downloads /beats/filebeat/filebeat-7.3.1-x86_64.rpmMempersiapkan...                      #################################### [100%]Memperbarui / menginstal...   1:filebeat-7.3.1-1               ################################################### ## [100%][[email protected] ~]#

Edit file /etc/hosts dan tambahkan entri berikut,

192.168.56.20            logstash1.linuxtechi.local192.168.56.30           logstash2.linuxtechi.local

Sekarang konfigurasikan filebeat agar dapat mengirim log ke node logstash menggunakan teknik load balancing, edit file “/etc/filebeat/filebeat.yml ” dan tambahkan parameter berikut,

Di bawah 'filebeat.inputs: ' perubahan bagian 'diaktifkan:false ‘ menjadi ‘diaktifkan:benar ‘ dan di bawah “jalur ” parameter menentukan file log lokasi yang dapat kami kirim ke logstash, Di bagian output Elasticsearch, beri komentar “output.elasticsearch ” dan host parameter. Di bagian keluaran Logstash, hapus komentar untuk “output.logstash: ” dan “host: ” dan tambahkan kedua node logstash di parameter host dan juga “loadbalance:true ”.

[[email protected] ~]# vi /etc/filebeat/filebeat.yml……………………….filebeat.inputs:- type:log  diaktifkan:true  paths:    - /var/log/messages - /var/log/dmesg    - /var/log/maillog    - /var/log/boot.log#output.elasticsearch:  #  hosts:["localhost:9200"]output.logstash:    hosts:["logstash1.linuxtechi. local:5044", "logstash2.linuxtechi.local:5044"]    loadbalance:true………………………………………

Mulai dan aktifkan layanan filebeat menggunakan perintah systemctl di bawah,

[[email protected] ~]# systemctl start filebeat[[email protected] ~]# systemctl enable  filebeat

Sekarang buka Kibana GUI, verifikasi apakah indeks baru terlihat atau tidak,

Pilih opsi Manajemen dari bilah sisi kiri lalu klik Manajemen Indeks di bawah Elasticsearch,

Seperti yang kita lihat di atas, indeks terlihat sekarang, mari kita buat pola indeks,

Klik "Pola Indeks" dari Bagian Kibana, itu akan meminta kita untuk membuat pola baru, klik "Buat Pola Indeks ” dan tentukan nama pola sebagai “filebeat

Klik Langkah Berikutnya

Pilih “Stempel waktu ” sebagai filter waktu untuk pola indeks lalu klik “Buat pola indeks”

Sekarang Klik Temukan untuk melihat pola indeks filebeat waktu nyata,

Ini mengonfirmasi bahwa agen Filebeat telah berhasil dikonfigurasi dan kami dapat melihat log waktu nyata di dasbor Kibana.

Itu saja dari artikel ini, jangan ragu untuk membagikan umpan balik dan komentar Anda jika langkah-langkah ini membantu Anda untuk mengatur Cluster Elastic Stack multi node pada sistem RHEL 8 / CentOS 8.


Cent OS
  1. Cara Setup SysLog Server di CentOS 7 / RHEL 7

  2. Cara Setup Server NFS di CentOS 7 / RHEL 7

  3. Cara Setup Icinga Web 2 di CentOS 7 / RHEL 7

  1. Cara menginstal node.js di RHEL 8 / CentOS 8 Linux

  2. Cara Mengatur Penyimpanan GlusterFS di CentOS 7 / RHEL 7

  3. Cara Mengatur mutt di CentOS/RHEL

  1. Cara Install Kubernetes (k8s) 1.7 di CentOS 7 / RHEL 7

  2. Konfigurasi Cluster Squid Dua Node menggunakan Alat Pacu Jantung di CentOS 7 / RHEL 7

  3. Cara Setup Server NFS di CentOS 8 / RHEL 8