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

Cara menginstal Elasticsearch, Logstash dan Kibana 4 di CentOS 7 / RHEL 7

Tutorial ini untuk ELK Stack versi lama, beberapa tautan rusak dan mungkin tidak berfungsi sebagaimana mestinya. Versi baru tersedia di sini:Diperbarui:Instal ELK Stack di CentOS 7 / RHEL 7.

Dalam posting ini, akan terlihat cara menginstal Elasticsearch, Logstash dan Kibana 4 di CentOS 7 / RHEL 7. ELK stack ini membantu kita untuk menyimpan dan mengelola log di lokasi terpusat. Tumpukan ELK terdiri dari empat komponen penting yang membuat tumpukan luar biasa untuk menganalisis masalah dengan menghubungkan peristiwa pada waktu tertentu.

Memusatkan log akan membuat kehidupan admin sistem lebih mudah untuk menganalisis masalah dan masalah tanpa pergi ke setiap mesin untuk log, dan memvisualisasikan log tersebut ke manajemen untuk kebutuhan bisnis.

Komponen:

Logstash – Ini memproses (Mengumpulkan, mengurai, dan mengirimkannya ke Elasticsearch) dari log yang masuk.

Elasticsearch – Menyimpan log yang berasal dari Logstash.

Kibana 4 – Antarmuka web untuk memvisualisasikan log (memiliki antarmuka sendiri).

Tiga di atas diinstal pada server.

Logstash-forwarder – Diinstal pada mesin klien, mengirimkan log ke Logstash melalui protokol penebang pohon.

Versi aplikasi:

Artikel ini menggunakan versi perangkat lunak untuk ELK stack di bawah ini.

Elastisearch 1.5.0

logstash-1.4.2

Kibana 4

logstash-forwarder-0.4.0

Prasyarat:

1. Kita perlu menginstal openJDK atau Oracle JDK, Disarankan untuk menginstal Oracle JDK. Verifikasi versi java dengan menggunakan perintah berikut.

# java -versionjava version "1.8.0_11"Java(TM) SE Runtime Environment (build 1.8.0_11-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mode campuran)

2. Konfigurasi repositori EPEL di CentOS 7 / RHEL 7.

3. Instal wget.

# yum -y install wget

Instal Elasticsearch:

Elasticsearch adalah server pencarian open source, ia menawarkan pencarian dan analitik terdistribusi realtime dengan antarmuka web RESTful. Elasticsearch menyimpan semua log yang dikirim oleh server logstash dan menampilkan pesan ketika kibana4 meminta untuk memenuhi permintaan pengguna melalui antarmuka web. Topik ini mencakup pengaturan konfigurasi yang diperlukan untuk ELK, Anda juga dapat melihat Instal Elasticsearch di CentOS 7 / Ubuntu 14.10 / Linux Mint 17.1 untuk instruksi terperinci.

Mari kita instal Elasticsearch, itu dapat diunduh dari situs web resmi. Anda dapat menggunakan perintah berikut untuk mengunduh melalui terminal dan menginstalnya.

# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.5.0.noarch.rpm# rpm -Uvh elasticsearch-1.5.0.noarch.rpm

Konfigurasikan Elasticsearch untuk memulai selama startup sistem.

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

Tunggu, setidaknya satu menit untuk membiarkan Elasticsearch dimulai ulang sepenuhnya, jika tidak, pengujian akan gagal. Elastisearch sekarang harus mendengarkan pada 9200 untuk memproses permintaan HTTP, kita dapat menggunakan CURL untuk mendapatkan respons.

# curl -X DAPATKAN http://localhost:9200{"status" :200,"name" :"Delphi","cluster_name" :"elasticsearch","version" :{"number" :"1.5. 0","build_hash" :"544816042d40151d3ce4ba4f95399d7860dc2e92","build_timestamp" :"23-2015-23T14:30:58Z","build_snapshot" :false,"lucene_version" :"4.10.4"},"tagline" :"Anda Tahu, untuk Penelusuran"}

Instal Logstash:

Logstash adalah alat sumber terbuka, yang digunakan untuk mengumpulkan log, menguraikan, dan menyimpannya dalam pencarian. Ya, logstash hadir dengan antarmuka web (kibana3 built-in) untuk memvisualisasikan log yang tidak akan kita bahas di sini sebagai gantinya kita menggunakan kibana4. Pemrosesan berbagai jenis acara dapat diperpanjang dengan menambahkan plugin ke dalamnya, lebih dari 160 plugin tersedia sampai sekarang. Mari kita langsung ke instalasi.

# wget https://download.elasticsearch.org/logstash/logstash/packages/centos/logstash-1.4.2-1_2c0f5a1.noarch.rpm# rpm -Uvh logstash-1.4.2-1_2c0f5a1.noarch.rpm 

Setelah server logstash terinstal, mari beralih ke bagian berikutnya

Buat sertifikat SSL:

Logstash-forwarder yang akan diinstal pada client-server untuk mengirimkan log memerlukan sertifikat SSL untuk memvalidasi identitas server logstash. Kami memiliki dua opsi untuk membuat sertifikat SSL dan itu tergantung pada konfigurasi logstash-forwarder; jika nama host ( "server":[ "itzgeek:5050" ]) digunakan, nama subjek SSL harus cocok dengan "itzgeek". Jika Anda menggunakan ( "server":[ "10.0.0.26:5050" ]) alamat ip, Anda harus membuat sertifikat SSL dengan IP SAN dengan nilai 10.0.0.26.

Ikuti salah satu metode untuk membuat sertifikat SSL.

Opsi 1:(Nama Inang FQDN)

Sebelum membuat sertifikat, pastikan Anda memiliki catatan A untuk server logstash; memastikan bahwa server klien dapat menyelesaikan nama host dari server logstash. Jika Anda tidak memiliki DNS, silakan tambahkan entri host untuk server logstash; di mana 10.0.0.26 adalah alamat ip server logstash dan itzgeek adalah nama host server logstash Anda.

# vi /etc/hosts10.0.0.26 itzgeek

Mari buat sertifikat SSL.

Buka direktori OpenSSL.

# cd /etc/pki/tls

Jalankan perintah berikut untuk membuat sertifikat SSL, ganti yang “merah” dengan server logstash asli Anda.

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

Opsi 2:(Alamat IP)

Sebelum membuat sertifikat SSL, kita perlu menambahkan alamat ip server logstash ke SubjectAltName di file konfigurasi OpenSSL.

# vi /etc/pki/tls/openssl.cnf

Buka bagian “[ v3_ca ]” dan ganti yang “merah” dengan ip server logstash Anda.

subjectAltName =IP:10.0.0.26

Buka direktori OpenSSL.

# cd /etc/pki/tls

Jalankan perintah berikut untuk membuat sertifikat SSL.

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

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

Konfigurasikan Logstash:

File konfigurasi logstash dapat ditemukan di /etc/logstash/conf.d/, hanya folder kosong. Kita perlu membuat file, 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.

Di sini kita akan menggunakan satu file untuk menempatkan bagian input, filter, dan output.

# vi /etc/logstash/conf.d/logstash_syslogs.conf

Di bagian pertama, kami akan memasukkan entri untuk konfigurasi input. Konfigurasi berikut mengatur penebang untuk mendengarkan pada port 5050 untuk log masuk dari logstash-forwarder yang berada di server klien, juga akan menggunakan sertifikat SSL yang kita buat sebelumnya.

input {penebang kayu {port => 5050type => "logs"ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"ssl_key => "/etc/pki/tls/private/logstash- forwarder.key"}}

Di bagian kedua, kami akan memasukkan entri untuk konfigurasi filter. Grok adalah filter di logstash, yang melakukan penguraian log sebelum mengirimkannya ke Elasticsearch untuk disimpan. Filter grok berikut akan mencari log yang diberi label sebagai '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" ]}  }}

Pertimbangkan untuk mengunjungi grokdebugger untuk pola filter.

Di bagian ketiga, kami akan memasukkan entri konfigurasi output. Bagian ini menentukan lokasi di mana log disimpan; jelas itu seharusnya Elasticsearch.

keluaran {elasticsearch { host => localhost index => "logstash-%{+YYYY.MM.dd}" }stdout { codec => rubydebug }}

Sekarang mulai layanan logstash.

# systemctl start logstash.service

Log server logstash disimpan dalam file berikut, akan membantu kami memecahkan masalah.

# cat /var/log/logstash/logstash.log

Selanjutnya kita akan mengkonfigurasi logstash-forwarder untuk mengirimkan log ke server logstash.

Konfigurasikan Logstash-forwarder.

Logstash-forwarder adalah perangkat lunak klien yang mengirimkan log ke server logstash, harus diinstal pada semua server klien. Logstash-forwarder dapat diunduh dari situs web resmi atau Anda dapat menggunakan perintah berikut untuk mengunduhnya di terminal dan menginstalnya.

# wget https://download.elasticsearch.org/logstash-forwarder/binaries/logstash-forwarder-0.4.0-1.x86_64.rpm# rpm -Uvh logstash-forwarder-0.4.0-1.x86_64. rpm

Logstash-forwader menggunakan sertifikat SSL untuk memvalidasi identitas server logstash, jadi salin logstash-forwarder.crt yang kita buat sebelumnya dari server logstash ke klien. Buka file konfigurasi.

# vi /etc/logstash-forwarder.conf

Di bagian "jaringan", sebutkan server logstash dengan nomor port dan jalur ke sertifikat penerusan logstash yang Anda salin dari server logstash. Bagian ini mendefinisikan logstash-forwarder untuk mengirim log ke server logstash “itzgeek” pada port 5050 dan klien memvalidasi identitas server dengan bantuan sertifikat SSL.

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

"server":[ "itzgeek:5050" ],"ssl ca":"/etc/pki/tls/certs/logstash-forwarder.crt","timeout":15

Di bagian "file", konfigurasikan semua file yang akan dikirim. Pada artikel ini kita akan mengkonfigurasi sebuah logstash-forwarder untuk mengirim log (/var/log/messages) ke server logstash dengan tipe “syslog”.

{"paths":["/var/log/messages"],"fields":{ "type":"syslog" }}

Mulai ulang layanan.

# systemctl start logstash-forwarder.service

Anda dapat melihat file log jika ada masalah.

# cat /var/log/logstash-forwarder/logstash-forwarder.err

Konfigurasikan Kibana 4:

Kidbana menyediakan visualisasi log, unduh dari situs resminya. Gunakan perintah berikut untuk mengunduhnya di terminal.

wget https://download.elasticsearch.org/kibana/kibana/kibana-4.0.2-linux-x64.tar.gz

Ekstrak dan pindahkan ke /opt/

tar -zxvf kibana-4.0.2-linux-x64.tar.gzmv kibana-4.0.2-linux-x64 /opt/kibana4

Aktifkan file PID untuk Kibana, ini diperlukan untuk membuat file init systemd.

# sed -i 's/#pid_file/pid_file/g' /opt/kibana4/config/kibana.yml

Kibana dapat dimulai dengan menjalankan /opt/kibana4/bin/kibana, untuk menjalankan kibana sebagai server kita akan membuat file systemd.

# vi /etc/systemd/system/kibana4.service[Unit]Description=Kibana 4 Web InterfaceAfter=elasticsearch.serviceAfter=logstash.service[Service]ExecStartPre=rm -rf /var/run/kibana.pidExecStart=/ opt/kibana4/bin/kibana/ExecReload=kill -9 $(cat /var/run/kibana.pid) &&rm -rf /var/run/kibana.pid &&/opt/kibana4/bin/kibana/ExecStop=kill -9 $(cat /var/run/kibana.pid)[Install]WantedBy=multi-user.target

Mulai dan aktifkan kibana untuk memulai secara otomatis saat startup sistem.

# systemctl start kibana4.servicesystemctl aktifkan kibana4.service

Akses portal kibana Anda dengan mengunjungi tautan berikut

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

Anda akan mendapatkan halaman berikut di mana Anda harus memetakan indeks logstash untuk menggunakan kibana. Gulir ke bawah pada Nama bidang waktu dan pilih

@timestamp

Setelah Anda memilih, itu akan mengarahkan Anda ke halaman utama kibana.

Kibana tidak hadir dengan segala jenis akses yang dilindungi kata sandi ke portal. Dengan Nginx, kita dapat mengkonfigurasi sedemikian rupa sehingga pengguna harus memenuhi mekanisme otentikasi sebelum masuk ke portal.

Itu saja, Anda telah berhasil mengonfigurasi tumpukan ELK untuk manajemen log terpusat.

Tutorial ini untuk ELK Stack versi lama, beberapa tautan rusak dan mungkin tidak berfungsi seperti yang diharapkan. Versi baru tersedia di sini:Cara Menginstal ELK Stack di CentOS 7 / RHEL 7.
Cent OS
  1. Cara menginstal Graylog2 di CentOS 7 / RHEL 7

  2. Cara Menginstal Python 3.5 di CentOS/RHEL dan Fedora

  3. Cara Menginstal Elasticsearch di CentOS/RHEL 8

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

  2. Cara Instal Elasticsearch di CentOS 8 / RHEL 8

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

  1. Cara menginstal dan mengkonfigurasi samba di RHEL 8 / CentOS 8

  2. Cara Menginstal Elasticsearch di CentOS 7

  3. Cara Menginstal Elasticsearch di CentOS 8