GNU/Linux >> Belajar Linux >  >> Ubuntu

Setup ELK Stack di Ubuntu 16.04 – Instal ElasticSearch, Logstash, dan Kibana di Ubuntu 16.04

ELK adalah tumpukan analisis data berfitur lengkap, terdiri dari Elasticsearch , Logstash, dan Kibana yang membantu Anda menyimpan dan mengelola log secara terpusat dan menawarkan kemampuan untuk menganalisis masalah dengan menghubungkan peristiwa pada waktu tertentu.

Panduan ini membantu Anda menginstal ELK stack di Ubuntu 16.04.

Komponen

Logstash – Ini memproses (Mengumpulkan, memperkaya, dan mengirimkannya ke Elasticsearch) dari log masuk yang dikirim oleh ketukan (forwarder).

Elasticsearch – Ini menyimpan log masuk dari Logstash dan menyediakan kemampuan untuk mencari log/data secara real time

Kibana – Menyediakan visualisasi log.

Beats – Diinstal di mesin klien, kirim log ke Logstash melalui protokol beats.

Prasyarat

Beralih ke pengguna root.

su -

ATAU

sudo su -

Karena Elasticsearch berbasis Java, Anda harus memiliki OpenJDK atau Oracle JDK diinstal pada mesin Anda.

BACA :Cara menginstal Oracle Java 8 di Ubuntu 16.04 / LinuxMint 18

Di sini, saya memilih untuk menginstal OpenJ P K .

apt-get updateapt-get install -y openjdk-8-jdk wget

Periksa versi JAVA.

java -versi

Keluaran:

openjdk versi "1.8.0_131"OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)OpenJDK 64-Bit Server VM (build 25.131-b11, mode campuran)

Instal Elasticsearch

Elasticsearch adalah server pencarian sumber terbuka, menawarkan pencarian dan analisis terdistribusi real-time dengan antarmuka web RESTful.

Elasticsearch menyimpan semua data yang dikirim oleh logstash dan ditampilkan melalui kibana atas permintaan pengguna.

Topik ini mencakup pengaturan konfigurasi yang diperlukan untuk ELK. Anda juga dapat menggunakan  Instal Elasticsearch di CentOS 7 / Ubuntu 16.04 / Linux Mint 18 untuk instruksi lebih lanjut.

Siapkan repositori Elasticsearch.

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

Instal Elasticsearch.

apt-get updateapt-get install -y elasticsearch

Konfigurasikan Elasticsearch untuk memulai selama startup sistem.

systemctl aktifkan elasticsearchsystemctl start elasticsearch

Elastisearch seharusnya sekarang mendengarkan pada 9200 untuk memproses permintaan HTTP; kita dapat menggunakan CURL untuk mendapatkan tanggapan.

curl -X DAPATKAN http://localhost:9200

Keluaran:

{ "name" :"gf5QYAn", "cluster_name" :"elasticsearch", "cluster_uuid" :"S6gZNkMERpSr-MGXqEFUJw", "version" :{ "number" :"5.5.2", "build_hash" :" b2f0c09", "build_date" :"2017-08-14T12:33:14.154Z", "build_snapshot" :false, "lucene_version" :"6.6.0" }, "tagline" :"Kamu Tahu, untuk Pencarian"} 

Instal Logstash

Logstash adalah alat open source, mengumpulkan log, mengurai dan menyimpannya di Elasticsearch untuk pencarian. Lebih dari 160+ plugin tersedia untuk Logstash, yang menyediakan kemampuan untuk memproses berbagai jenis peristiwa tanpa kerja ekstra.

Instal Logstash menggunakan perintah apt-get.

apt-get install -y logstash

Buat sertifikat SSL

Forwarder (filebeat) yang akan diinstal pada server klien menggunakan sertifikat SSL untuk memvalidasi identitas server Logstash untuk komunikasi yang aman.

Buat sertifikat SSL baik dengan nama host atau IP SAN.

Opsi 1:(Nama Inang FQDN)

Jika Anda menggunakan nama host dalam konfigurasi beats (forwarder), pastikan Anda memiliki A record untuk server logstash; memastikan bahwa mesin klien dapat menyelesaikan nama host server logstash.

Jika Anda tidak memiliki server nama di lingkungan Anda; pastikan Anda menambahkan entri host untuk server logstash di mesin klien serta di server logstash.

sudo nano /etc/hosts192.168.12.10 server.itzgeek.local

Buka direktori OpenSSL.

cd /etc/ssl/

Sekarang, buat sertifikat SSL. Ganti “hijau ” satu dengan nama host dari server logstash Anda yang sebenarnya.

openssl req -x509 -nodes -newkey rsa:2048 -days 365 -keyout logstash-forwarder.key -out logstash-forwarder.crt -subj /CN=server.itzgeek.local 

Opsi 2:(Alamat IP)

Jika Anda berencana menggunakan alamat IP alih-alih nama host, ikuti langkah-langkah untuk membuat sertifikat SSL untuk IP SAN.

Sebagai prasyarat, kita perlu menambahkan alamat IP server logstash ke SubjectAltName di file konfigurasi OpenSSL.

nano /etc/ssl/openssl.cnf

Cari bagian “[ v3_ca ]” dan ganti “hijau ” satu dengan IP server logstash Anda.

subjectAltName =IP:192.168.12.10 

Buka direktori OpenSSL.

cd /etc/ssl/

Sekarang,  buat sertifikat SSL dengan menjalankan perintah berikut.

openssl req -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash-forwarder.crt

Logstash-forwarder.crt ini harus disalin ke semua server klien yang mengirim log ke server logstash.

Konfigurasikan Logstash

Konfigurasi logstash dapat ditemukan di /etc/logstash/conf.d/. Jika file tidak ada, buat yang baru. file konfigurasi logstash terdiri dari tiga bagian input, filter, dan output; ketiga bagian dapat ditemukan baik dalam satu file atau setiap bagian akan memiliki file terpisah yang diakhiri dengan .conf.

Saya menyarankan Anda untuk menggunakan satu file untuk menempatkan bagian input, filter, dan output.

nano /etc/logstash/conf.d/logstash.conf

Di bagian pertama, kami akan memasukkan entri untuk konfigurasi input. Konfigurasi berikut mengatur Logstash untuk mendengarkan pada port 5044 untuk log masuk dari ketukan (forwarder) yang ada di mesin klien. Juga, tambahkan detail sertifikat SSL di bagian input untuk komunikasi yang aman.

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

Di bagian saringan. Kami akan menggunakan Grok untuk mengurai log sebelum mengirimkannya ke Elasticsearch. Filter grok berikut akan mencari log berlabel “syslog” dan mencoba menguraikannya untuk membuat indeks terstruktur.

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

Untuk pola filter lainnya, lihat halaman grokdebugger.

Di bagian output, kami akan menentukan lokasi penyimpanan log; jelas, itu harusnya Elasticsearch.

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

Sekarang mulai dan aktifkan logstash.

systemctl start logstashsystemctl aktifkan logstash

Anda dapat memecahkan masalah apa pun dengan melihat log di bawah ini.

cat /var/log/logstash/logstash-plain.log

Selanjutnya, kami akan mengonfigurasi ketukan untuk mengirimkan log ke server logstash.

Instal Filebeat

Ada empat klien beats yang tersedia.

  1. Packetbeat – Menganalisis data paket jaringan.
  2. Filebeat – Wawasan real-time tentang data log.
  3. Topbeat – Dapatkan insight dari data infrastruktur.
  4. Metricbeat – Mengirimkan metrik ke Elasticsearch.

Pada mesin Klien:

Untuk menganalisis log sistem, kami akan menggunakan filebeat di sini. Anda dapat mengunduh filebeat dari situs web resmi , atau Anda dapat menggunakan perintah berikut untuk menginstalnya.

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

Instal Filebeat.

apt-get update apt-get install -y filebeat

Filebeat (beats) menggunakan sertifikat SSL untuk memvalidasi identitas server logstash, jadi salin logstash-forwarder.crt dari server logstash ke klien.

$ scp -pr [email protected]:/etc/ssl/logstash-forwarder.crt /etc/ssl

Konfigurasi Filebeat

Sekarang, saatnya menghubungkan filebeat dengan Logstash; ikuti langkah-langkah di bawah ini untuk mengonfigurasi filebeat dengan tumpukan ELK.

File konfigurasi Filebeat dalam format YAML, yang berarti lekukan sangat penting. Pastikan Anda menggunakan jumlah spasi yang sama dengan yang digunakan dalam panduan.

Buka file konfigurasi filebeat.

nano /etc/filebeat/filebeat.yml

Di atas, Anda akan melihat Prospektor Filebeat. Di sini, Anda perlu menentukan file apa saja yang harus dikirim ke logstash dan bagaimana penanganannya. Setiap pencari emas dimulai dengan karakter.

Untuk tujuan pengujian, kami akan mengonfigurasi filebeat untuk mengirim /var/log/syslog ke server Logstash. Untuk melakukannya, ubah prospektor yang ada di bawah jalur bagian. Komentari – /var/log/*.log untuk menghindari pengiriman semua .log file yang ada di direktori itu ke Logstash.

. . . jalur:        - /var/log/syslog # - /var/log/*.log. . .

Di bagian Keluaran , beri komentar di bagian output.elasticsearch: karena kami tidak akan menyimpan log langsung ke Elasticsearch.

Sekarang, cari baris “output.logstash: ” dan ubah entri seperti di bawah ini. Bagian ini mendefinisikan filebeat untuk mengirim log ke server logstash “server.itzgeek.local ” pada port “5044 ” dan sebutkan jalur tempat salinan sertifikat SSL ditempatkan.

Catatan:Ganti “server.itzgeek.local ” dengan alamat IP jika Anda menggunakan IP SAN.

. . .output.logstash:# Host Logstash menghosting:["server.itzgeek.local:5044 "] # SSL opsional. Secara default dimatikan. # Daftar sertifikat root untuk verifikasi server HTTPS ssl.certificate_authorities:["/etc/ssl/logstash-forwarder.crt "].   .   .

Mulai ulang layanan.

systemctl restart filebeatsystemctl aktifkan filebeat

Log ketukan biasanya ditemukan di file lognya.

cat /var/log/filebeat/filebeat

Instal &Konfigurasi Kibana

Kibana menyediakan visualisasi log yang disimpan di elasticsearch, unduh dari situs web resmi atau gunakan perintah berikut untuk mengatur repositori.

apt-get install -y kibana

Edit file kibana.yml.

nano /etc/kibana/kibana.yml

Secara default, Kibana mendengarkan di localhost yang berarti Anda tidak dapat mengakses antarmuka Kibana dari mesin luar. Untuk mengaktifkannya, edit baris di bawah ini dengan IP mesin Anda.

server.host:"192.168.12.10 "

Batalkan komentar pada baris berikut dan perbarui dengan URL instance Elasticsearch. Dalam kasus saya, ini adalah localhost.

elasticsearch.url:"http://localhost:9200"

Mulai dan aktifkan kibana saat startup sistem.

systemctl start kibanasystemctl aktifkan kibana

Akses Kibana menggunakan URL berikut.

http://alamat-ip-Anda:5601/

ATAU

http://nama-layanan-Anda:5601

Pada login pertama Anda, Anda harus memetakan indeks filebeat.

Ketik yang berikut di Nama atau pola indeks kotak.

filebeat-*

Pilih @stempel waktu lalu klik buat.

@timestamp

Telusuri pola indeks dan pemetaannya.

Klik Temukan di navigasi kiri untuk melihat log masuk dari mesin klien.

Itu saja. Anda telah berhasil mengatur tumpukan ELK di Ubuntu 16.04


Ubuntu
  1. Menginstal tumpukan ELK di Ubuntu 14.04

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

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

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

  2. Menginstal Filebeat, Logstash, ElasticSearch, dan Kibana di Ubuntu 14.04

  3. Cara Menginstal dan Mengonfigurasi Elasticsearch di Ubuntu 20.04

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

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

  3. Cara Menginstal Elastic Stack di Ubuntu 16.04