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

Dalam panduan ini, kita akan mempelajari cara menginstal Elastic Stack 7 di Fedora 30/Fedora 29/CentOS 7. Elastic Stack terdiri dari:

  • Elasticsearch adalah engine telusur dan analitik
  • Kibana adalah visualisasi data dan alat dash-boarding yang memungkinkan Anda menganalisis data yang disimpan di Elasticsearch.
  • Logstash adalah 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 Elastic Stack 7 di Fedora 30/Fedora 29/CentOS 7

Komponen Elastic Stack harus dipasang dengan urutan sebagai berikut.

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

Menginstal Elasticsearch 7 di Fedora 30/Fedora 29/CentOS 7

Instalasi Elasticsearch 7.0 pada Fedora 30/Fedora 29/CentOS 7 telah dibahas dalam panduan kami sebelumnya. Lihat tautan di bawah ini;

Instal Elasticsearch 7 di Fedora 30

Instal Elasticsearch 7.x di CentOS 7/Fedora 29

Konfigurasikan Interface Pengikatan Elasticsearch

Jika Anda perlu terhubung ke Elasticsearch secara eksternal, Anda harus mengikatnya ke interface non-loopback. Oleh karena itu, edit file konfigurasi dan tetapkan nilainetwork.hostke interface non-loopback atau interface itu sendiri. Lihat   Nilai khusus untuk network.host.

vim /etc/elasticsearch/elasticsearch.yml
... # ---------------------------------- Network ----------------------------------- # # Set the bind address to a specific IP (IPv4 or IPv6): # #network.host: 192.168.0.1 network.host: 192.168.43.75...

Konfigurasikan Elasticsearch Single Node Discovery

Jika Anda menjalankan Elasticsearch di lingkungan non-produksi (lingkungan non-cluster) dan ingin mengikat transport ke interface non-loopback, seperti dalam demo ini, Anda perlu mengatur mode penemuan ke single node. Jika tidak, Anda mungkin mendapatkan error pemeriksaan bootstrap yang gagal.

Oleh karena itu tambahkan baris, discovery.type: single-node, di bawah bagian Discovery dari file konfigurasi Elasticsearch untuk mengaktifkan single node discovery.

... # --------------------------------- 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]"] # #discovery.seed_hosts: ["host1", "host2"] # # Bootstrap the cluster using an initial set of master-eligible nodes: # #cluster.initial_master_nodes: ["node-1", "node-2"] # discovery.type: single-node # For more information, consult the discovery and cluster formation module documentation. # # ---------------------------------- Gateway -----------------------------------

Simpan file konfigurasi dan mulai ulang Elasticsearch.

systemctl restart elasticsearch.service

Verifikasi apakah Elasticsearch mendengarkan pada interface non-loop seperti yang didefinisikan di atas.

ss -alnpt | grep 9200 LISTEN 0 128 [::ffff:192.168.43.103]:9200 *:* users:(("java",pid=30625,fd=213))

Anda juga dapat memeriksanya sebagai berikut.

curl -XGET http://192.168.43.103:9200 { "name" : "elkstack.example.com", "cluster_name" : "elasticsearch", "cluster_uuid" : "f_Au_kWoQ4CjVvghdtIW2w", "version" : { "number" : "7.2.0", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "508c38a", "build_date" : "2019-06-20T15:54:18.811730Z", "build_snapshot" : false, "lucene_version" : "8.0.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }

Instal Kibana 7 di Fedora 30/Fedora 29/CentOS 7

Untuk menginstal Kibana 7, Anda perlu membuat repo Elastis. Namun, jika Anda mengikuti panduan di atas, kami telah membuat repo RPM Elastic Stack. Oleh karena itu, Anda cukup menjalankan perintah di bawah ini untuk menginstal Kibana 7.

Namun Anda dapat membuat repo Elastic 7.x dengan menjalankan perintah di bawah ini;

  • Impor kunci penandatanganan GPG Repo Elastis
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
  • Buat Repo 7.x Elastis
cat > /etc/yum.repos.d/elastic-7.x.repo << EOF [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF

Catatan, karena manajer paket YUM bekerja pada Fedora dan CentOS, kami akan menggunakan YUM untuk instalasi paket. Namun Anda dapat menggunakan DNF pada sistem Fedora.

yum install kibana

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

systemctl start kibana systemctl enable kibana

Kibana diatur untuk dijalankan localhost:5601secara default. Sebagai lapisan keamanan, kita akan masuk ke Nginx dan mengonfigurasinya untuk mem-proxy koneksi ke Kibana melalui IP interface yang dapat diakses publik.

Instal Nginx

yum install nginx

Perhatikan bahwa Anda perlu menginstal EPEL repo di CentOS 7 untuk menginstal Nginx.

yum install epel-release

Konfigurasi Nginx dengan SSL ke Proxy Kibana

Hasilkan sertifikat SSL/TLS untuk koneksi proxy SSL Nginx dan buat file konfigurasi Nginx untuk menentukan pengaturan Kibana. Dalam panduan ini, kami menggunakan sertifikat yang ditandatangani sendiri. Anda juga dapat memperoleh sertifikat CA tepercaya dari penyedia pilihan Anda.

Hasilkan sertifikat SSL/TLS yang ditandatangani sendiri

mkdir /etc/ssl/private
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/kibana-selfsigned.key -out /etc/ssl/certs/kibana-selfsigned.crt

Buat konfigurasi Kibana Nginx. Anda dapat menggunakan rekomendasi dari Cipherli.st saat mengkonfigurasi SSL.

vim /etc/nginx/conf.d/kibana.conf
server { 	listen 80; 	server_name elastic.example.com; 	return 301 https://$host$request_uri; } server { 	listen 443 ssl; 	server_name elastic.example.com; 	root /usr/share/nginx/html; 	index index.html index.htm index.nginx-debian.html; 	ssl_certificate /etc/ssl/certs/kibana-selfsigned.crt; 	ssl_certificate_key /etc/ssl/private/kibana-selfsigned.key; 	ssl_protocols TLSv1.2 TLSv1.3; 	ssl_prefer_server_ciphers on; 	ssl_dhparam /etc/ssl/certs/dhparam.pem; 	ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384; 	ssl_ecdh_curve secp384r1; 	ssl_session_timeout 10m; 	ssl_session_cache shared:SSL:10m; 	resolver 192.168.43.1 8.8.8.8 valid=300s; 	resolver_timeout 5s; 	add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; 	add_header X-Frame-Options DENY; 	add_header X-Content-Type-Options nosniff; 	add_header X-XSS-Protection "1; mode=block"; 	access_log /var/log/nginx/kibana_access.log; 	error_log /var/log/nginx/kibana_error.log; 	auth_basic "Authentication Required"; 	auth_basic_user_file /etc/nginx/.kibana-auth; 	location / { 	 proxy_pass http://127.0.0.1:5601; 	proxy_http_version 1.1; 	 proxy_set_header Upgrade $http_upgrade; 	proxy_set_header Connection 'upgrade'; 	 proxy_set_header Host $host; 	proxy_cache_bypass $http_upgrade; 	} }

Hasilkan grup Defie-Hellman di lokasi yang ditentukan oleh ssl_dhparam parameter.

openssl dhparam -out /etc/ssl/certs/dhparam.pem
2048

Atur nilai types_hash_max_size menjadi 4096.

sed -i 's/types_hash_max_size 2048/types_hash_max_size 4096/' /etc/nginx/nginx.conf

Konfigurasikan Otentikasi Nginx

Untuk mengonfigurasi otentikasi Pengguna Nginx, Anda perlu membuat user dan passwordnya. Detail otentikasi ini akan disimpan dalam file,/etc/nginx/.kibana-auth, ditentukan oleh auth_basic_user_file parameter dalam file konfigurasi Nginx.

Kamu dapat memakai opensslperintah untuk menghasilkan kredensial otentikasi seperti yang ditunjukkan di bawah ini. Ganti USERNAME dan PASSWORD yang sesuai;

printf "USERNAME:$(openssl passwd -crypt PASSWORD)n" > /etc/nginx/.kibana-auth

Verifikasi sintaks Nginx dan reload jika semuanya baik-baik saja.

nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Mulai dan aktifkan Nginx untuk berjalan pada boot sistem.

systemctl start nginx systemctl enable nginx

Jika Firewalld sedang berjalan, izinkan koneksi Nginx, baik HTTP maupun HTTPS.

firewall-cmd --add-service={http,https} --permanent firewall-cmd --reload

Jika SELinux sedang berjalan, konfigurasikan agar Nginx dapat terhubung ke jaringan.

setsebool -P httpd_can_network_connect 1

Konfigurasikan Kibana

Karena kami mengatur proxy ke alamat IP loopback alih-alih localhost, Anda perlu mengkonfigurasi Kibana untuk menggunakan alamat IP loopback.

vim /etc/kibana/kibana.yml
server.host: "127.0.0.1"

Juga, Jika Elasticsearch dikonfigurasi untuk mendengarkan pada alamat IP yang berbeda, Anda perlu mengkonfigurasi URL Elasticsearch di Kibana.

elasticsearch.hosts: ["http://192.168.43.75:9200"]

Akses Dasbor Kibana

Anda sekarang seharusnya dapat mengakses dasbor Kibana melalui nama host server yang sepenuhnya memenuhi syarat, https://elastic.example.compada kasus ini. Terima risiko menggunakan sertifikat yang ditandatangani sendiri dan lanjutkan. Sebelum Anda dapat mengakses dasbor Kibana, Anda akan diminta untuk memberikan kredensial autentikasi yang ditetapkan di atas.

Setelah otentikasi, Anda akan mendarat di dasbor Kibana. Karena kami belum memiliki data, Anda akan melihat layar di bawah ini. KlikExplore My Own untuk melanjutkan ke dasbor Kibana.

Kibana sekarang terinstal di Fedora 30/Fedora 29/CentOS 7. Langkah selanjutnya adalah menginstal Logstash, engine pengolah data dan pengirim data Filebeat. Lihat cara menginstal Logstash dan Filebeat dengan mengikuti tautan di bawah ini;

Instal Logstash 7 di Fedora 30/Fedora 29/CentOS 7

Instal Filebeat di Fedora 30/Fedora 29/CentOS 7

Buat Pola Indeks Kibana

Sekarang Filebeat Anda mengirim acara ke stack Elastic Anda, Anda perlu menambahkan indeks Elasticsearch Anda ke Kibana. Oleh karena itu, Klik settings gear icon di panel kiri Kibana dan arahkan ke Index Patters di bawah Kibana > Create Index Patterns.

Lanjutkan ke langkah Berikutnya dan atur nama bidang waktu ke timestamp. Setelah selesai, klikCreate Index Pattern.

Selanjutnya, klik tab Discover di panel kiri Kibana untuk melihat data event yang telah diurai.

SSH berhasil Login

SSH gagal login

Seperti yang Anda lihat, kami memiliki bidang yang diekstraksi menggunakan filter grok kami yang ditentukan dalam konfigurasi Logstash kami di Fedora 30/Fedora 29/CentOS 7.

Anda sekarang dapat melanjutkan untuk mengumpulkan acara dari sumber lain dan mendorongnya ke Elastic Stack Anda. Menikmati.

Referensi;

Panduan Pengguna Kibana

Tutorial Terkait:

Instal dan Konfigurasikan Logstash 7 di Ubuntu 18/Debian 9.8

Instal dan Konfigurasi Filebeat 7 di Ubuntu 18.04/Debian 9.8

Instal Elastic Stack 7 di Ubuntu 18.04/Debian 9.8

Instal Elasticsearch 7.x di Ubuntu 18.04/Debian 9.8