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

Cara Menginstal ELK Stack di CentOS 7 / RHEL 7

Analisis log selalu menjadi bagian penting dari administrasi sistem tetapi ini adalah salah satu tugas yang paling membosankan dan melelahkan, terutama ketika berurusan dengan sejumlah sistem. Untungnya, tumpukan ELK telah meringankan tugas, tumpukan ELK sekarang digunakan untuk pemeriksaan/analisis log &merupakan kombinasi dari tiga produk sumber terbuka berikut

  •  ElasticSearch -Ini adalah database No-SQL yang mengindeks dan menyimpan informasi
  •  Logstash –  Ini adalah alat alur log yang mengumpulkan &mengurai log
  •  Kibana – Menyediakan GUI(Graphical User Interface) dan digunakan untuk visualisasi data &bekerja di atas elasticsearch.

ELK stack menerima log dari klien melalui protokol beats, dikirim dengan menggunakan beats client. Dalam tutorial ini, kita akan membuat ELK stack pada mesin Centos 7 &juga akan menginstal beat client bernama 'File Beat' pada Mesin Klien.

  • 192.168.0.180    tumpukan rusa (CentOS 7)
  • 192.168.0.70     klien (CentOS 7)

Prasyarat

Mesin tempat kita akan menginstal ELK harus memiliki Java versi 8 yang diinstal sebagai . Jadi pastikan java open-jdk versi 1.8.0_* telah terinstal dan berjalan dan jika belum terinstal, jalankan perintah yum di bawah untuk menginstal

[[email protected] ~]# yum install java-1.8.0-openjdk

[[email protected] ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
[[email protected] ~]#

Setel Nama Host dan perbarui file /etc/hosts

[[email protected] ~]# hostnamectl set-hostname "elk-stack.example.com"

Perbarui file /etc/hosts

192.168.0.180  elk-stack.example.com elk-stack

Langkah-Langkah Instalasi ELK Stack

Elasticsearch

Kita akan mulai dengan mengimpor kunci GPG untuk elasticsearch, kunci ini juga akan dibagikan dengan logstash &kibana. Untuk menginstal elasticsearch, jalankan

[[email protected] ~]# rpm –import https://packages.elastic.co/GPG-KEY-elasticsearch

[[dilindungi email] ~]#

Sekarang kita akan membuat repo untuk repositori elastic-search,

[[email protected] ~]# vi /etc/yum.repos.d/elasticsearch.repo

[elasticsearch]
name=Elasticsearch repository
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

Setelah repositori ditambahkan, instal elasticsearch menggunakan yum,

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

Sekarang kita memulai layanan &juga akan diatur untuk memulai saat boot

[[email protected] ~]# systemctl daemon-reload
[[email protected] ~]# systemctl start elasticsearch
[[email protected] ~]# systemctl enable elasticsearch

Izinkan port 9200 tcp di firewall OS. Jika Firewall sedang berjalan

[[email protected] ~]# firewall-cmd --permanent --add-port 9200/tcp

Kami sekarang akan menguji elasticsearch untuk memastikan bahwa ia merespons kueri

[[email protected] ~]# curl -X GET http://localhost:9200

Output dari perintah di atas harus seperti di bawah ini:

Logstash

Kami sekarang akan menambahkan repositori logstash,

[[email protected] ~]# vi /etc/yum.repos.d/logstash.repo

[logstash]
name=Logstash
baseurl=http://packages.elasticsearch.org/logstash/2.2/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1

Sekarang instal logstash,

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

Kibana

Sekarang kita akan membuat repositori untuk kibana,

[[email protected] ~]# vi /etc/yum.repos.d/kibana.repo

[kibana-4.5]
name=Kibana repository for 4.5.x packages
baseurl=http://packages.elastic.co/kibana/4.5/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

Sekarang instal kibana menggunakan yum,

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

Setelah instalasi, mulai layanan &aktifkan saat boot

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

Izinkan port 5601 di OS Firewall

[[email protected] ~]# firewall-cmd --permanent --add-port 5601/tcp
[[email protected] ~]# firewall-cmd --reload

Selanjutnya, kita akan mengakses halaman web untuk kibana untuk memastikannya berfungsi. Untuk melakukannya, buka browser web &masukkan url berikut

http://IP-Address:5601/

Pemasangan tumpukan ELK sekarang selesai &kami akan membuat konfigurasi yang diperlukan.

Konfigurasi

Sertifikat SSL untuk logstash

Setelah instalasi logstash, sekarang kita akan membuat sertifikat SSL untuk mengamankan komunikasi antara logstash &filebeat (klien). Karena kita akan menggunakan alamat IP untuk terhubung ke server, kita akan membuat sertifikat SSL untuk IP SAN.

Sebelum membuat sertifikat SSL, kami akan membuat entri IP kami di openssl.cnf,

[[email protected] ~]# vi /etc/pki/tls/openssl.cnf

dan cari parameter dengan 'subjectAltName' di bawah bagian [ v3_ca ]  &tambahkan IP server Anda ke dalamnya,

subjectAltName = IP: 192.168.0.180

Sekarang ubah direktori ke /etc/ssl &buat sertifikat SSL dengan validitas 365 hari,

[[email protected] ~]# cd /etc/ssl/
[[email protected] ssl]# openssl req -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash_frwrd.crt
Generating a 2048 bit RSA private key
.....+++
...........+++
writing new private key to 'logstash-forwarder.key'
-----
[[email protected] ssl]#

Setelah sertifikat siap, ini harus disalin ke semua klien menggunakan perintah scp.

Mengonfigurasi Logstash

Sekarang kita akan membuat file konfigurasi untuk logstash di bawah folder ‘/etc/logstash/conf.d '. File ini akan dibagi menjadi tiga bagian yaitu bagian input, filter &output

[[email protected] ~]# vi /etc/logstash/conf.d/logstash.conf

# input section
input {
 beats {
   port => 5044
   ssl => true
   ssl_certificate => "/etc/ssl/logstash_frwrd.crt"
   ssl_key => "/etc/ssl/logstash-forwarder.key"
   congestion_threshold => "40"
  }
}

Bagian ini membuat logstash untuk mendengarkan pada port 5044 untuk log masuk &juga menyediakan detail sertifikat SSL untuk koneksi yang aman.

Bagian berikutnya yaitu 'bagian filter' akan mengurai log sebelum mengirimnya ke elasticsearch ,

# Filter section
filter {
if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGLINE}" }
    }
    date {
match => [ "timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]

}
  }
}

Bagian terakhir adalah 'bagian keluaran'  &ini menentukan lokasi penyimpanan log,

# output section
output {
 elasticsearch {
  hosts => localhost
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
       }
stdout {
    codec => rubydebug
       }
}

Sekarang simpan file &keluar. Semua bagian ini juga dapat dibagi menjadi tiga file terpisah tetapi kami telah menggunakannya dalam satu file untuk kemudahan konfigurasi. Kami sekarang akan memulai layanan logstash &mengaktifkannya saat boot,

[[email protected] ~]# systemctl daemon-reload
[[email protected] ~]# systemctl start logstash
[[email protected] ~]# systemctl enable logstash

Izinkan port 5044 tcp di firewall OS dengan perintah berikut agar Logstash mendapatkan log dari Klien

[[email protected] conf.d]# firewall-cmd --permanent --add-port=5044/tcp
success
[[email protected] conf.d]# firewall-cmd --reload
success
[[email protected] conf.d]#

Menginstal Filebeat di Klien

Filebeat perlu diinstal pada setiap sistem yang kita perlukan untuk menganalisis log. Pertama-tama, Salin file sertifikat dari server elk-stack ke klien

[[email protected] ~]# scp /etc/ssl/logstash_frwrd.crt [email protected]:/etc/ssl

Untuk menginstal filebeat, pertama-tama kita akan menambahkan repo untuk itu,

[[email protected] ~]# vi /etc/yum.repos.d/filebeat.repo
[beats]
name=Elastic Beats Repository
baseurl=https://packages.elastic.co/beats/yum/el/$basearch
enabled=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
gpgcheck=1

Sekarang instal filebeat dengan menjalankan di bawah perintah

[[email protected] ~]# yum install filebeat

Kami sekarang akan membuat perubahan pada file konfigurasi untuk menghubungkan klien filebeat ke tumpukan ELK kami, tetapi sebelum kami melakukannya, pastikan bahwa sertifikat yang kami buat selama konfigurasi logstash disalin pada klien di bawah direktori '/etc/ssl'. Setelah selesai, kita akan memulai konfigurasi filebeat,

[[email protected] ~]# vi /etc/filebeat/filebeat.yml

Kita perlu membuat perubahan pada tiga bagian berikut,

.  .  .
       paths:
        - /var/log/*.log
        - /var/log/secure
        - /var/log/messages
.  .  .

Di bawah bagian ini, kita dapat mengizinkan log yang perlu dianalisis. Saya telah meninggalkannya secara default yaitu semua log tetapi Anda dapat memodifikasinya untuk mengirim hanya satu atau dua file log. Untuk bagian selanjutnya, ubah document_type menjadi ‘syslog’,

.  .  .
      document_type: syslog
.  .  .

&di bagian terakhir yaitu 'output', kami akan menentukan alamat IP &lokasi server tumpukan ELK kami untuk sertifikat ssl,

.   .   .
output:
  logstash:
    hosts: ["192.168.0.180:5044"]
    tls:
      certificate_authorities: ["/etc/ssl/logstash_frwrd.crt"]
.   .   .

Catatan:Nonaktifkan elasticsearch output, beri komentar pada entri “hosts:[“localhost:9200″]” jika diaktifkan.

Sekarang mulai layanan &aktifkan saat boot,

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

Itu saja, konfigurasi di kedua ujung server &ujung klien sekarang selesai. Sekarang kita dapat login ke antarmuka web kibana untuk mencari log yang dianalisis.

Buat Pola Indeks, ubah logstash-* ke filebeat-*

Klik Buat

Klik Discover lalu cari, kita akan mendapatkan log seperti di bawah ini

Itu saja dari artikel ini, Silakan bagikan umpan balik dan komentar Anda yang berharga.


Cent OS
  1. Cara Menginstal ownCloud di CentOS 7

  2. Cara Menginstal Drupal 8 Pada CentOS 7

  3. Cara Install Single Node OpenStack di CentOS 7

  1. Cara Install iRedMail (Mail Server) di CentOS 7 / RHEL 7

  2. Instal KVM Hypervisor di CentOS 7.x dan RHEL 7.x

  3. Cara Install Kolab 16 Groupware Server di CentOS 7 / RHEL 7

  1. Cara Menginstal dan Mengkonfigurasi Jenkins di CentOS 7 dan RHEL 7

  2. Cara Instal VirtualBox 5.1 di CentOS 7 / RHEL 7 / Fedora 26

  3. Cara Menginstal Tripleo (Openstack di Openstack) UnderCloud di CentOS 7