Pendahuluan
Tumpukan ELK adalah sekelompok paket perangkat lunak sumber terbuka yang digunakan untuk mengelola log. Ini biasanya digunakan untuk log server tetapi juga fleksibel (elastis) untuk proyek apa pun yang menghasilkan kumpulan data yang besar.
Panduan ini menunjukkan cara menginstal tumpukan ELK (Elasticsearch, Logstash, dan Kibana) di server CentOS 8.
Prasyarat
- Sistem dengan CentOS 8 terinstal
- Akses ke jendela terminal/baris perintah (Telusuri > Terminal )
- Akun pengguna dengan sudo atau akar hak istimewa
- Java versi 8 atau 11 (diperlukan untuk Logstash)
Apa Arti ELK Stack?
ELK adalah singkatan dari Elasticsearch, Logstash, dan Kibana. Mereka adalah tiga komponen tumpukan ELK.
Elasticsearch (data indeks) – Ini adalah inti dari perangkat lunak Elastis. Elasticsearch adalah mesin telusur dan analitik yang digunakan untuk menyortir data.
Logstash (mengumpulkan data) – Paket ini menghubungkan ke berbagai sumber data, menyusunnya, dan mengarahkannya ke penyimpanan. Seperti namanya, ia mengumpulkan dan "menyimpan" file log Anda.
Kibana (memvisualisasikan data) – Kibana adalah alat grafis untuk memvisualisasikan data. Gunakan untuk menghasilkan bagan dan grafik untuk memahami data mentah dalam database Anda.
Langkah 1:Instal OpenJDK 8 Java
Jika Anda sudah menginstal Java 8 (atau 11) di sistem Anda, Anda dapat melewati langkah ini.
Jika tidak, buka jendela terminal, dan masukkan berikut ini:
sudo yum install java-1.8.0-openjdk
Sistem akan memeriksa repositori, kemudian meminta Anda untuk mengonfirmasi instalasi. Ketik Y
lalu Masuk . Biarkan prosesnya selesai.
Langkah 2:Tambahkan Repositori Elasticsearch
Tumpukan ELK dapat diunduh dan diinstal menggunakan manajer paket YUM. Namun, perangkat lunak tidak disertakan dalam repositori default.
Impor Kunci PGP Elasticsearch
Buka jendela terminal, lalu masukkan kode berikut:
sudo rpm ––import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Ini akan menambahkan kunci penandatanganan publik Elasticsearch ke sistem Anda. Kunci ini akan memvalidasi perangkat lunak Elasticsearch saat Anda mengunduhnya.
Tambahkan Repositori RPM Elasticsearch
Anda perlu membuat file konfigurasi repositori di /etc/yum.repos.d/ . Mulailah dengan pindah ke direktori:
cd /etc/yum.repos.d/
Selanjutnya, buat file konfigurasi di editor teks pilihan Anda (kami menggunakan Vim):
sudo vim elasticsearch.repo
Ketik atau salin baris berikut:
[elasticstack]
name=Elastic 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
Jika menggunakan Vim, tekan Esc lalu ketik :wq
dan tekan Enter .
Terakhir, perbarui daftar paket repositori Anda:
dnf update
Langkah 3:Instal dan Siapkan Elasticsearch
Urutan pemasangan itu penting. Mulailah dengan menginstal Elasticsearch.
Di jendela terminal, ketik perintah:
sudo dnf install elasticsearch
Ini akan memindai semua repositori Anda untuk paket Elasticsearch.
Sistem akan menghitung ukuran unduhan, lalu meminta Anda untuk mengonfirmasi penginstalan. Ketik Y
lalu Masuk .
Konfigurasi Elasticsearch
Setelah penginstalan selesai, buka dan edit /etc/elasticsearch/elasticsearch.yml
file konfigurasi menggunakan editor teks:
sudo vim /etc/elasticsearch/elasticsearch.yml
Gulir ke bawah ke bagian berlabel NETWORK
. Di bawah entri itu, Anda akan melihat baris berikut:
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#network.host: 192.168.0.1
#
# Set a custom port for HTTP:
#
#http.port: 9200
Sesuaikan network.host
ke alamat IP server Anda atau setel ke localhost jika menyiapkan satu node secara lokal. Sesuaikan http.port
juga.
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: localhost
#
# Set a custom port for HTTP:
#
http.port: 9200
Untuk lebih jelasnya, lihat gambar di bawah ini:
Jika menggunakan Vim, tekan ESC
, ketik :wq
dan tekan Enter
untuk menyimpan perubahan dan keluar.
Mulai Elasticsearch
Nyalakan ulang sistem agar perubahan diterapkan:
sudo reboot
Setelah sistem dimulai ulang, mulai elasticsearch layanan:
sudo systemctl start elasticsearch
Tidak akan ada output jika perintah dijalankan dengan benar.
Sekarang, atur layanan untuk diluncurkan saat boot:
sudo systemctl enable elasticsearch
Uji Elasticsearch
Uji perangkat lunak untuk memastikannya merespons koneksi:
curl -X GET "localhost:9200"
Sistem harus menampilkan seluruh daftar informasi. Pada baris kedua, Anda akan melihat bahwa cluster_name
disetel ke elasticsearch
. Ini mengonfirmasi bahwa Elasticsearch sedang berjalan, dan mendengarkan di Port 9200 .
Langkah 4:Instal dan Siapkan Kibana
Kibana adalah antarmuka grafis untuk mengurai dan menafsirkan file log.
Kibana menggunakan kunci GPG yang sama dengan Elasticsearch, jadi Anda tidak perlu mengimpor ulang kunci tersebut. Selain itu, paket Kibana berada di repositori tumpukan ELK yang sama dengan Elasticsearch. Oleh karena itu, tidak perlu membuat file konfigurasi repositori lain.
Untuk menginstal Kibanra, buka jendela terminal, masukkan berikut ini:
sudo dnf install kibana
Sistem akan memindai repositori, lalu meminta konfirmasi. Ketik y
lalu Masuk dan biarkan prosesnya selesai.
Konfigurasi Kibana
Seperti Elasticsearch, Anda harus mengedit .yml file konfigurasi untuk Kibana.
Buka kibana.yml file untuk diedit:
sudo vim /etc/kibana/kibana.yml
Temukan baris berikut, dan hapus # tanda dari awal baris:
#server.port: 5601
#server.host: "localhost"
#elasticsearch.hosts: ["http://localhost:9200"]
Garis-garisnya sekarang akan terlihat sebagai berikut:
server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]
Untuk lebih jelasnya, lihat gambar di bawah ini.
Untuk menetapkan nama khusus, edit server.name
baris.
Lakukan pengeditan lain sesuai keinginan. Simpan file dan keluar (tekan Esc , ketik :wq
dan tekan Enter ).
Mulai dan Aktifkan Kibana
Selanjutnya, mulai dan aktifkan layanan Kibana:
sudo systemctl start kibana
sudo systemctl enable kibana
Izinkan Lalu Lintas di Port 5601
Jika firewalld diaktifkan di sistem CentOS Anda, Anda harus mengizinkan lalu lintas di port 5601 . Di jendela terminal, jalankan perintah berikut:
firewall-cmd --add-port=5601/tcp --permanent
Selanjutnya, muat ulang layanan firewalld:
firewall-cmd --reload
Tindakan di atas merupakan prasyarat jika Anda ingin mengakses dasbor Kibana dari mesin eksternal.
Uji Kibana
Buka browser web, dan masukkan alamat berikut:
http://localhost:5601
Sistem akan mulai memuat dasbor Kibana.
Langkah 5:Instal dan Siapkan Logstash
Logstash adalah alat yang mengumpulkan data dari berbagai sumber. Data yang dikumpulkan diurai oleh Kibana dan disimpan di Elasticsearch.
Seperti bagian lain dari tumpukan ELK, Logstash menggunakan kunci dan repositori GPG Elastis yang sama.
Untuk menginstal logstash di CentOS 8, di jendela terminal masukkan perintah:
sudo dnf install logstash
Ketik Y
dan tekan Enter untuk mengonfirmasi pemasangan.
Konfigurasikan Logstash
Simpan semua file konfigurasi khusus di /etc/logstash/conf.d/ direktori. Konfigurasi sangat bergantung pada kasus penggunaan dan plugin yang Anda gunakan.
Untuk contoh konfigurasi khusus, lihat Contoh Konfigurasi Logstash.
Mulai Logstash
Mulai dan aktifkan layanan Logstash:
sudo systemctl start logstash
sudo systemctl enable logstash
Anda sekarang harus memiliki instalasi Elasticsearch yang berfungsi, bersama dengan dasbor Kibana dan jalur pengumpulan data Logstash.
Langkah 6:Instal Filebeat
Untuk menyederhanakan pencatatan, instal modul ringan bernama Filebeat . Filebeat adalah pengirim untuk log yang memusatkan streaming data.
Untuk menginstal Filebeat, buka jendela terminal dan jalankan perintah:
sudo yum install filebeat
Selanjutnya, tambahkan sistem modul, yang akan memeriksa log sistem lokal:
sudo filebeat modules enable system
Selanjutnya, jalankan pengaturan Filebeat:
sudo filebeat setup
Sistem akan melakukan beberapa pekerjaan, memindai sistem Anda dan menghubungkan ke dasbor Kibana Anda.
Mulai layanan Filebeat:
sudo service filebeat start
Luncurkan dasbor Kibana Anda di browser dengan mengunjungi alamat berikut:
http://localhost:5601
Di kolom kiri, klik Log tab. Temukan dan klik Streaming langsung tautan. Anda sekarang akan melihat aliran data langsung untuk file log lokal Anda.