Instal ELK Stack di Ubuntu 20.04

Instal Elastis (ELK) Stack di Ubuntu 20.04

Selamat datang di panduan kami tentang cara menginstal ELK Stack di Ubuntu 20.04. ELK, saat ini dikenal sebagai Elastic Stack, adalah akronim untuk proyek sumber terbuka yang terdiri dari;

  • Elasticsearch: engine telusur dan analitik
  • Kibana: alat visualisasi data dan dash-boarding yang memungkinkan Anda menganalisis data yang disimpan di Elasticsearch.
  • Logstash: pipa pemrosesan data sisi server yang menyerap data dari berbagai sumber secara bersamaan, mengubahnya, dan kemudian menyimpannya di engine analitik pencarian seperti Elasticsearch
  • Beats di sisi lain adalah pengirim log yang mengumpulkan log dari titik akhir yang berbeda dan mengirimkannya ke Logstash atau langsung ke Elasticsearch.

Instal ELK Stack di Ubuntu 20.04

Pemasangan Elastic Stack mengikuti urutan tertentu. Berikut urutan pemasangan komponen Elastic Stack;

  • Instal Elasticsearch
  • Instal Kibana
  • Instal Logstash
  • Instal Beats

Jalankan pembaruan sistem

Sebelum Anda dapat memulai penginstalan, pastikan bahwa paket sistem sudah mutakhir.

Instal Elasticsearch di Ubuntu 20.04

Anda dapat menginstal Elasticsearch secara otomatis dari Elastic repo atau Anda dapat mengdownload paket biner Elasticsearch DEB dan menginstalnya. Namun, untuk menyederhanakan instalasi semua komponen Elastic Stack, kami akan membuat repo Elastic Stack;

Impor Kunci penandatanganan repositori PGP stack Elastis

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch --no-check-certificate | sudo apt-key add -

Instal Elasticsearch;

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

Perbarui cache paket dan instal Elasticsearch;

apt update
apt install elasticsearch

Konfigurasikan Elasticsearch di Ubuntu 20.04

Hanya ada beberapa perubahan konfigurasi yang akan kita buat pada tutorial ini. Pertama, kami mengonfigurasi ES untuk mendengarkan IP Interface tertentu untuk memungkinkan akses eksternal. Elasticsearch sedang mendengarkan localhost secara default.

vim /etc/elasticsearch/elasticsearch.yml

Anda dapat memilih untuk mengubah nama klaster default;

... # ---------------------------------- Cluster ----------------------------------- # # Use a descriptive name for your cluster: # #cluster.name: my-application cluster.name: kifarunix-demo...

Batalkan komentar dan ubah nilai network.host juga http.port baris di bawah bagian Pengaturan jaringan.

# ---------------------------------- Network ----------------------------------- # # Set the bind address to a specific IP (IPv4 or IPv6): # #network.host: 192.168.0.1 network.host: 10.10.9.9 # # Set a custom port for HTTP: # http.port: 9200 # # For more information, consult the network module documentation

Karena kami menjalankan satu simpul Elasticsearch, tentukan hal yang sama dalam konfigurasi dengan menambahkan baris, discovery.type: single-node di bawah bagian Pengaturan penemuan.

... # --------------------------------- Discovery ---------------------------------- # # Pass an initial list of hosts to perform discovery when this node is started: # default list of hosts is ["127.0.0.1", "[::1]"]...... #cluster.initial_master_nodes: ["node-1", "node-2"] # This is for Single Node Elastic stack discovery.type: single-node...

Simpan dan keluar dari konfigurasi.

Selanjutnya, konfigurasikan ukuran stack JVM ke tidak lebih dari setengah ukuran memori Anda. Dalam hal ini, server pengujian kami memiliki RAM 2G dan ukuran stack diatur ke 512M untuk ukuran maksimum dan minimum.

vim /etc/elasticsearch/jvm.options
... ################################################################ # Xms represents the initial size of total heap space # Xmx represents the maximum size of total heap space -Xms512m -Xmx512m...

Itu hanya beberapa perubahan yang akan kami buat di ES.

Menjalankan Elasticsearch

Mulai dan aktifkan Elasticsearch untuk berjalan pada boot sistem;

systemctl enable --now elasticsearch

Untuk memeriksa statusnya;

systemctl status elasticsearch

Anda juga dapat memverifikasi status ES menggunakan perintah curl. Ganti IP yang sesuai.

curl http://10.10.9.9:9200

Jika Anda mendapatkan output seperti itu, maka semuanya baik-baik saja.

{ "name" : "ubuntu20", "cluster_name" : "kifarunix-demo", "cluster_uuid" : "3RY1LTvyTD2Bie74xGw6Vg", "version" : { "number" : "7.6.2", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f", "build_date" : "2020-03-26T06:34:37.794943Z", "build_snapshot" : false, "lucene_version" : "8.4.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }

Instal Kibana di Ubuntu 20.04

Karena kita sudah menyiapkan repo Elastis, cukup instal Kibana dengan menjalankan perintah;

apt install kibana

Kibana diatur untuk dijalankan localhost:5601 secara default. Untuk mengizinkan akses eksternal, edit file konfigurasi dan ganti nilainya server.hostdengan IP interface.

vim /etc/kibana/kibana.yml
# Kibana is served by a back end server. This setting specifies the port to use. server.port: 5601... # To allow connections from remote users, set this parameter to a non-loopback address. #server.host: "localhost" server.host: "10.10.9.9"

Setel URL Elasticsearch

... # URLs of the Elasticsearch instances to use for all your queries. #elasticsearch.hosts: ["http://localhost:9200"] elasticsearch.hosts: ["http://10.10.9.9:9200"] 

Jika Anda perlu mengamankan Kibana dengan mem-proxy-nya dengan Nginx, Anda dapat memeriksa caranya di sebelumnya dengan mengikuti tautan di bawah ini;

Konfigurasi Nginx dengan SSL ke Proxy Kibana

Menjalankan Kibana

Setelah instalasi selesai, mulai dan aktifkan Kibana untuk berjalan pada boot sistem.

systemctl enable --now kibana

Akses Dasbor Kibana

Anda sekarang dapat mengakses Kibana dari browser Anda menggunakan url, http://<server-IP>:5601.

Jika UFW sedang berjalan, Buka port Kibana;

ufw allow 5601/tcp

Saat mengakses interface Kibana, di halaman selamat datang, Anda akan ditanya apakah akan memulai dengan data sampel Kibana karena kami belum memiliki data di cluster kami.

Instal Logstash di Ubuntu 20.04

Logstash membutuhkan Java 8 atau Java 11. Anda dapat menggunakan distribusi resmi Oracle atau distribusi sumber terbuka seperti OpenJDK. Untuk menginstal OpenJDK 11;

apt install openjdk-11-jdk -y
java --version
openjdk 11.0.7 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Kare
na kita sudah memiliki repo Elastis, instal Logstash dengan menjalankan perintah di bawah ini;

apt install logstash

Setelah penginstalan selesai, konfigurasikan Logstash untuk memproses data apa pun yang akan dikumpulkan dari host jarak jauh. Ikuti tautan di bawah ini untuk mempelajari cara mengonfigurasi Logstash.

Cara Mengonfigurasi pipa pemrosesan data Logstash

Instal Filebeat di Ubuntu 20.04

Filebeat adalah pengirim ringan untuk mengumpulkan, meneruskan, dan memusatkan data log peristiwa. Itu diinstal sebagai agen di server tempat Anda mengumpulkan log. Itu dapat meneruskan log yang dikumpulkannya ke Elasticsearch atau Logstash untuk pengindeksan.

Untuk menginstal Filebeat dari repo Elastis;

apt install filebeat

Setelah instalasi, ikuti tautan di bawah untuk mengonfigurasi Filebeat untuk pengumpulan data.

Konfigurasikan pengirim log Filebeat di Ubuntu

Verifikasi Penerimaan Data Indeks Elasticsearch

Setelah Anda mengonfigurasi Filebeat untuk mengirimkan log otentikasi ke Logstash untuk diproses, Anda dapat memverifikasi apakah ada data yang telah ditulis ke indeks yang ditentukan. Misalnya, dalam contoh penyiapan kami yang disediakan di tautan di atas, kami mengirim acara otentikasi SSH ke ssh_auth-YYYY.MMindex. Ini dapat diverifikasi dengan menanyakan status indeks ES.

curl -XGET http://10.10.9.9:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open.kibana_task_manager_1 BkfUXSstQdGhcOAD9EyhvQ 1 0 2 0 31.9kb 31.9kb green open.apm-agent-configuration duVPmKSWQj6k_hGzezyheg 1 0 0 0 283b 283b green open ilm-history-1-000001 pvdSCTQDQXWwlzdlEY1ykg 1 0 18 0 25.3kb 25.3kb green open.kibana_1 aU6EZ-c4RTGQOsH7coOUqg 1 0 8 0 22.7kb 22.7kb yellow open ssh_auth-2020.05 xVQyHuz2SWCEFMQFKYWVDA 1 1 186 0 248.5kb 248.5kb

Dari output, Anda dapat melihat bahwa indeks SSH kami memiliki data. Untuk status warna kesehatan, baca selengkapnya di Cluster Health API.

Untuk mengonfirmasi penerimaan data di Kibana, navigasikan ke dasbor Kibana di browser web dan buat indeks Anda. KlikManagement tab (on the left side panel) > Kibana> Index Patterns > Create Index Pattern. Masukkan wildcard untuk nama indeks Anda.

Klik Berikutnya dan pilih stempel waktu sebagai filter waktu.

Lalu klik Create Index pattern untuk membuat pola indeks Anda.

Lihat Data di Kibana

Setelah selesai, Anda sekarang dapat melihat data acara Anda di Kibana dengan mengklik tab temukan di panel kiri. Perluas rentang waktu Anda sesuai dengan itu.

Untuk memfilter peristiwa SSH yang baru saja diproses dengan Logstash, tambahkan bidang yang ditentukan pada pola filter grok Logstash;

Dan di sana Anda pergi. Anda sekarang dapat menyerap lebih banyak data dan membuat filter Logstash jika Anda memerlukan pemrosesan lebih lanjut sebelum peristiwa mencapai ES.

Itu menandai akhir dari panduan kami tentang cara menginstal ELK Stack di Ubuntu 20.04. Menikmati

Referensi

Memasang Stack Elastis

Tutorial Terkait

Menginstal ELK Stack di CentOS 8

Instal Elastic Stack 7 di Fedora 30/Fedora 29/CentOS 7

Instal Elastic Stack 7 di Ubuntu 18.04/Debian 9.8

Instal Icinga 2 dan Icinga Web 2 di Ubuntu 20.04