ELK Stack adalah platform pengurusan log paling popular di dunia. Ini adalah koleksi produk sumber terbuka termasuk Elasticsearch, Logstash, dan Kibana. Ketiga-tiga produk ini dibangunkan, diurus dan dikendalikan oleh Elastic.
ELK Stack adalah platform sumber terbuka dan kuat yang dapat menguruskan sejumlah besar data log. Log input umumnya dari antara muka web grafik (GUI).
- Elasticsearch adalah mesin carian dan analitik berasaskan JSON yang bertujuan untuk skala mendatar dan pengurusan yang lebih mudah.
- Logstash adalah antara muka pemprosesan data sisi pelayan yang mempunyai keupayaan untuk mengumpulkan data dari beberapa sumber secara serentak. Ia kemudian mengubahnya, dan kemudian mengirimkan data ke simpanan yang anda inginkan. Ini adalah aplikasi sumber terbuka.
- Kibana digunakan untuk memvisualisasikan data anda dan menavigasi Elastic Stack. Ia juga merupakan alat sumber terbuka.
Pasang dan konfigurasikan ELK Stack di Ubuntu
Dalam tutorial ini, kita akan menggunakan filebeat untuk menghantar data log ke Logstash. Beats adalah pengirim data ringan dan sebagai permulaan, kita harus memasang ejen di pelayan.
Langkah 1) Memasang Java 8
ElasticSearch menyokong Java 8 dan 9, tetapi masalahnya adalah Logstash hanya serasi dengan Java 8. Java 9 belum disokong. Oleh itu, kami akan memasang Oracle Java 8.
Lancarkan Terminal dan tambahkan repositori Oracle Java 8, diikuti dengan kemas kini sistem, dan pemasangan sebenarnya.
sudo add-apt-repository ppa: webupd8team / java
sudo apt-get kemas kini
sudo apt install oracle-java8-set-default
Perhatikan Terminal. Anda harus bersetuju untuk tetingkap perjanjian lesen dan pilih "ya" untuk meneruskan. Setelah pemasangan selesai, anda boleh memeriksa versi java dengan menggunakan arahan berikut:
.sudo java -versi
sudo bergema $ JAVA_HOME
Langkah 2) Memasang dan Mengkonfigurasi Elasticsearch
Mari mulakan dengan wget arahan untuk memuat turun Elasticsearch diikuti dengan kunci tandatangan awam:
sudo wget -qO - https: // artifak.elastik.co / GPG-KEY-elasticsearch | sudo apt-key tambah -
Kedua, pasang pakej apt-transport-https (distro berdasarkan Debian memerlukan ini).
sudo apt-get install apt-transport-https
Tambahkan repositori:
echo "deb https: // artifak.elastik.co / pakej / 6.x / apt stabil utama "| sudo tee -a / etc / apt / sumber.senarai.d / elastik-6.x.senarai
Kemas kini senarai repo dan pasang pakej:
sudo apt-get kemas kini
sudo apt-get install elasticsearch
Mari ubah "elasticsearch.fail yml ":
sudo vim / etc / elasticsearch / elasticsearch.yml
Rangkaian "Komen".hos ”dan“ http.pelabuhan ”. Konfigurasi berikut harus ditambah:
rangkaian.hos: localhost http.pelabuhan: 9200
Seterusnya, simpan dan tutup fail.
Untuk memastikan ElasticSearch berfungsi dengan lancar, aktifkan semasa boot dan Mulakan ElasticSearch.
sudo systemctl membolehkan elasticsearch.perkhidmatan
sudo systemctl mulakan elasticsearch.perkhidmatan
Periksa pemasangan:
sudo curl -XGET 'localhost: 9200 /?cantik '
Langkah 3) Memasang Kibana
Mari mulakan pemasangan Kibana sekarang dan ubah tetapan Kibana:
sudo apt-get install kibana
sudo vim / etc / kibana / kibana.yml
Ketidakpuasan berikut:
pelayan.port: pelayan 5601.hos: elastik carian "localhost".url: "http: // localhost: 9200"
Simpan dan keluar dari Fail.
Dayakannya semasa boot dan mulakan perkhidmatan Kibana:
sudo systemctl mengaktifkan kibana.perkhidmatan
sudo systemctl mulakan kibana.perkhidmatan
Langkah 4) Mengkonfigurasi Nginx sebagai Proksi Berbalik untuk Kibana
Dalam baris yang serupa, mari pasang Nginx, konfigurasikannya, dan mulakan perkhidmatan. Gunakan perintah berikut satu demi satu:
sudo apt-get install nginx apache2-utils
Konfigurasikan hos maya:
sudo vim / etc / nginx / sites-available / elk
Tambahkan konfigurasi berikut ke fail:
pelayan dengar 80; pelayan_name elk.fosslinux.com; auth_basic "Akses Terhad"; auth_basic_user_file / etc / nginx /.elkusersecret; lokasi / proxy_pass http: // localhost: 5601; proksi_http_versi 1.1; proxy_set_header Naik taraf $ http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $ host; proxy_cache_bypass $ http_upgrade;
Buat fail pengguna dan kata laluan untuk pengesahan penyemak imbas web:
sudo htpasswd -c / etc / nginx /.elkusersecret elkusr
Masukkan kata laluan dan ulangi. Periksa Konfigurasi Nginx:
sudo nginx -t
Dayakan Nginx pada boot sistem dan mulakan semula perkhidmatan:
sudo systemctl aktifkan nginx.perkhidmatan
sudo systemctl mulakan semula nginx.perkhidmatan
Langkah 5) Memasang dan Mengkonfigurasi Logstash
Pasang Logstash:
sudo apt-get install logstash
Di sini kita akan menghasilkan kunci sijil SSL untuk menjamin pemindahan log dari klien pemukul fail. Ubah fail "host" sebelum membuat sijil SSL.
sudo vim / etc / host
Tambahkan baris berikut ke fail. Pastikan untuk menukar nama IP dan pelayan menjadi milik anda.
172.31.31.158 pelayan elk-pelayan
Setelah selesai, simpan dan keluar fail.
Sekarang ubah direktori ke Logstash.
sudo cd / etc / logstash /
Buat folder untuk SSL:
sudo mkdir ssl
Hasilkan sijil SSL. Tukar pelayan elk ke nama pelayan anda dalam arahan di bawah.
sudo openssl req -subj '/ CN = elk-server /' -x509 -days 3650 -batch -nodes -newkey rsa: 2048 -keyout ssl / logstash-forwarder.key -out ssl / logstash-forwarder.crt
Buat fail berikut di dalam "/ etc / logstash / conf.d ”.
sudo cd / etc / logstash / conf.d /
buat fail input filebeat menggunakan vim.
sudo vim filebeat-input.pengesahan
Tambahkan baris berikut kepadanya.
masukan beats port => 5443 type => syslog ssl => true ssl_certificate => "/ etc / logstash / ssl / logstash-forwarder.crt "ssl_key =>" / etc / logstash / ssl / logstash-forwarder.kunci "
Simpan dan tutup fail dan buat fail konfigurasi baru.
sudo vim syslog-filter.pengesahan
Tambahkan isi berikut.
tapis if [type] == "syslog" grok match => "message" => "% SYSLOGTIMESTAMP: syslog_timestamp% SYSLOGHOST: syslog_hostname% DATA: syslog_program (?: \ [% POSINT: syslog_pid \])?:% GREEDYDATA: syslog_message " add_field => [" diterima_at ","% @ timestamp "] add_field => [" diterima_dari ","% host "] tarikh match => [" syslog_timestamp " , "MMM d HH: mm: ss", "MMM dd HH: mm: ss"]
Simpan dan keluar fail. Buat carian elastik fail keluaran.
sudo vim output-elasticsearch.pengesahan
Tambahkan baris berikut kepadanya.
output elasticsearch hosts => ["localhost: 9200"] host => "localhost: 9200" management_template => false index => "% [@ metadata] [beat] -% + YYYY.MM.dd "document_type =>"% [@ metadata] [type] "
Mari aktifkan Logstash semasa boot dan mulakan perkhidmatan:
sudo systemctl mengaktifkan logstash.perkhidmatan
sudo systemctl mulakan logstash.perkhidmatan
Langkah 6) Memasang dan Mengkonfigurasi Filebeat pada pelayan Pelanggan
Mulakan dengan menyunting tuan rumah fail untuk menambah entri hos elk. Pastikan untuk mengganti IP dan nama dengan anda.
sudo vim / etc / host
172.31.31.158 pelayan elk
Simpan dan keluar fail.
Muat turun dan pasang Kunci Tandatangan Awam:
sudo wget -qO - https: // artifak.elastik.co / GPG-KEY-elasticsearch | sudo apt-key tambah -
Pasang "apt-transport-https" dan tambahkan repo.
sudo apt-get install apt-transport-https
sudo echo "deb https: // artifak.elastik.co / pakej / 6.x / apt stabil utama "| sudo tee -a / etc / apt / sumber.senarai.d / elastik-6.x.senarai
Kemas kini repo dan pasang Filebeat.
sudo apt-get kemas kini
sudo apt-get install filebeat
Ubah konfigurasi Filebeat.
sudo vim / etc / filebeat / filebeat.yml
Cari baris berikut dan ubah nilai menjadi "benar".
didayakan: benar
Di sini kita tidak mengubah laluan log dan Filebeat akan meneruskan semua log di dalam folder "var / log"
laluan: - / var / log / *.balak
Tolak baris berikut:
pengeluaran.logstash: # Host Logstash menghoskan: ["elk-server: 5443"] ssl.sijil_kuasa: ["/ etc / filebeat / logstash-forwarder.crt "]
Komen Pencarian elastik:
#pengeluaran.elasticsearch: # Array hos untuk dihubungkan. # hos: ["localhost: 9200"]
Simpan dan keluar fail.
Sekarang pergi ke pelayan ELK dan dapatkan “logstash-forwarder.kandungan crt ”
sudo cat / etc / logstash / ssl / logstash-forwarder.crt
salin output dan kemudian pergi ke Elk client-server.
Buat fail sijil
sudo vim / etc / filebeat / logstash-forwarder.crt
masukkan output yang disalin dan simpan & keluar.
Aktifkan filebeat pada boot sistem filebeat perkhidmatan.
sudo systemctl mengaktifkan filebeat.perkhidmatan
sudo systemctl mulakan filebeat.perkhidmatan
Langkah 7) Melayari Papan Pemuka Kibana
Lancarkan penyemak imbas web kegemaran anda dan masukkan nama domain diikuti dengan nama pengguna dan kata laluan.
http: // rusa.fosslinux.com
Masukkan nama pengguna dan kata laluan yang dibuat. Anda mesti melihat halaman Selamat Datang Kibana. Klik butang "Terokai Milik Saya".
Anda harus diarahkan ke Laman Utama Kibana.
Klik "Discover" di sebelah kiri. Klik "Buat corak indeks".
Kemudian tentukan corak indeks "filebeat- *".
Klik seterusnya dan pilih @timestamp 'dan klik' Buat corak indeks '.
Corak indeks harus dibuat.
Klik Menu "Discover" untuk melihat log pelayan.
Log akan ditunjukkan mengikut cap waktu. Klik pada sebarang cap waktu untuk mengembangkannya dan lihat kandungan fail log dan perinciannya.
Sekiranya anda sampai di sini, ini menunjukkan anda berjaya memasang dan mengkonfigurasi ELK stack dengan filebeat. Ada masalah? Jangan ragu untuk memberitahu kami dalam komen di bawah.