Tutorial ELK Stack: Kibana, Logstash & Elasticsearch

โšก Ringkasan Cerdas

ELK Stack menggabungkan tiga alat sumber terbuka โ€” Elasticsearch, Logstash, dan Kibana โ€” untuk mengumpulkan, menyimpan, mencari, dan memvisualisasikan data mesin, memberikan tim teknik pencatatan terpusat dan analitik waktu nyata untuk pemecahan masalah yang lebih cepat di seluruh server dan aplikasi.

  • ๐Ÿงฉ Peran tumpukan: Elasticsearch menyimpan dan mengindeks data, Logstash Kibana memproses dan mencatat log pengiriman, dan memvisualisasikan hasilnya.
  • ๐Ÿ”Ž Pencarian elastis: Mesin pencari NoSQL berbasis Lucene yang mengindeks data heterogen dan mengembalikan hasil teks lengkap hampir secara real-time melalui API REST.
  • ๏ธ Logstash: Sebuah pipeline yang menyerap, menyaring, dan mengubah log dari berbagai sumber sebelum memasukkannya ke Elasticsearch.
  • ๐Ÿ“Š Kibana: Dasbor web yang mengubah data terindeks menjadi bagan, peta, dan grafik interaktif untuk eksplorasi cepat.
  • ๐Ÿ“ฆ Tumpukan Elastis: Perangkat pengiriman Beats yang ringan mengumpulkan data di edge, yang menyebabkan Elastic mengganti nama ELK menjadi Elastic Stack.
  • ๐Ÿข Penggunaan produksi: NetflixLinkedIn dan Medium menjalankan ELK di seluruh klaster besar untuk pencatatan log, keamanan, dan pemantauan.
  • ๏ธ ELK versus Splunk: ELK gratis dan bersifat open source, sedangkan Splunk adalah platform komersial dengan pemrosesan yang lebih cepat dan integrasi yang lebih luas.

Arsitektur ELK Stack yang menunjukkan bagaimana Kibana, Logstash, dan Elasticsearch bekerja sama untuk pencatatan dan analisis terpusat.

ELK Stack adalah salah satu solusi open-source yang paling banyak digunakan untuk pencatatan terpusat dan analitik log. Tutorial ELK Stack ini menjelaskan apa itu Elasticsearch, Logstash, dan Kibana, bagaimana ketiga alat tersebut saling terkait, dan di mana platform tersebut digunakan dalam pekerjaan pemantauan dan observabilitas di dunia nyata.

Apa itu Tumpukan ELK?

The Tumpukan ELK adalah kumpulan dari tiga produk sumber terbuka โ€” Elasticsearch, Logstash, dan Kibana. Ini menyediakan pencatatan terpusat yang membantu Anda mengidentifikasi masalah pada server atau aplikasi dengan memungkinkan Anda mencari semua log Anda di satu tempat. Ini juga membantu Anda mengkorelasikan log di beberapa server dalam jangka waktu tertentu.

  • E singkatan dari Elasticsearch: digunakan untuk menyimpan log.
  • L singkatan Logstash: digunakan untuk kapalping, memproses, dan menyimpan log.
  • K singkatan dari Kibana: sebuah alat visualisasi (antarmuka web) yang dihosting melalui Nginx atau Apache.

Elasticsearch, Logstash, dan Kibana semuanya dikembangkan, dikelola, dan dipelihara oleh sebuah perusahaan bernama Elastis.

Secara keseluruhan, ELK Stack dirancang untuk memungkinkan pengguna mengambil data dari sumber mana pun, dalam format apa pun, lalu mencari, menganalisis, dan memvisualisasikan data tersebut secara real-time.

Tumpukan ELK Architekstur

Setelah Anda memahami apa itu stack, bagian ini menjelaskan arsitektur ELK dan bagaimana data mengalir antar komponen.

Alur kerja ELK mengikuti urutan yang jelas di mana setiap alat memiliki tugas khusus:

  • Log: Log server yang perlu dianalisis telah diidentifikasi.
  • Logstash: Mengumpulkan data log dan peristiwa, kemudian mengurai dan mengubahnya.
  • Pencarian elastis: Data yang ditransformasikan oleh Logstash disimpan, dicari, dan diindeks.
  • Kibana: Menggunakan basis data Elasticsearch untuk mengeksplorasi, memvisualisasikan, dan berbagi wawasan.

Namun, komponen keempat bernama Beats sering ditambahkan untuk pengumpulan data. Beats adalah pengirim data ringan yang diinstal pada server, dan penambahan komponen ini menyebabkan Elastic mengubah nama ELK menjadi Elastic Stack.

Diagram arsitektur ELK Stack yang menunjukkan LogstashAlur data Elasticsearch dan Kibana

Saat Anda menangani data dalam jumlah sangat besar, Anda dapat menambahkan Kafka atau RabbitMQ di depan pipeline untuk buffering dan ketahanan.

Untuk keamanan tambahan, reverse proxy seperti Nginx dapat ditempatkan di depan tumpukan.

Arsitektur ELK Stack dengan penambahan Beats untuk pengumpulan data.

Dengan mempertimbangkan arsitektur tersebut, bagian-bagian berikut akan mengulas lebih detail setiap produk sumber terbuka dalam tumpukan teknologi ini.

Apa itu Elasticsearch?

Elasticsearch adalah a Basis data NoSQL Berbasis pada mesin pencari Lucene dan dibangun dengan API RESTful. Ia menawarkan penyebaran yang sederhana, keandalan tinggi, dan manajemen yang mudah, serta menyimpan semua data Anda secara terpusat sehingga Anda dapat menjalankan kueri tingkat lanjut dan pencarian dokumen dengan cepat.

Elasticsearch juga memungkinkan Anda untuk menyimpan, mencari, dan menganalisis data dalam jumlah besar. Elasticsearch paling sering digunakan sebagai mesin dasar yang mendukung aplikasi dengan kebutuhan pencarian yang tinggi.

Karena menambahkan analitik dan banyak fitur canggih di atas pencarian cepat, Elasticsearch telah banyak diadopsi dalam platform pencarian untuk aplikasi web dan seluler modern.

Fitur-fitur Elasticsearch

Elasticsearch menawarkan serangkaian kemampuan yang kaya untuk pengindeksan dan pencarian data:

  • Server pencarian sumber terbuka yang ditulis dalam Java.
  • Mampu mengindeks semua jenis data heterogen.
  • Menyediakan antarmuka web REST API dengan output JSON.
  • Pencarian teks lengkap.
  • Pencarian mendekati waktu nyata (NRT).
  • Penyimpanan dokumen JSON yang terbagi (sharded), direplikasi, dan dapat dicari.
  • Penyimpanan dokumen terdistribusi berbasis REST dan JSON tanpa skema.
  • Dukungan multibahasa dan geolokasi.

Keuntungan dari Elasticsearch

  • Menyimpan data tanpa skema dan juga dapat membuat skema untuk data Anda.
  • Memungkinkan Anda memanipulasi data satu per satu menggunakan API multi-dokumen.
  • Mendukung penyaringan dan kueri data Anda untuk mendapatkan wawasan.
  • Berbasis pada Apache Lucene dan menyediakan API RESTful.
  • Menghadirkan skalabilitas horizontal, keandalan, dan kemampuan multi-tenant untuk pengindeksan waktu nyata dan pencarian yang lebih cepat.
  • Membantu Anda menskalakan baik secara vertikal maupun horizontal.

Tabel di bawah ini menjelaskan istilah-istilah kunci yang akan Anda temui saat bekerja dengan Elasticsearch:

Istilah penggunaan
Cluster Klaster adalah kumpulan node yang bersama-sama menyimpan data Anda dan menyediakan kemampuan pengindeksan dan pencarian gabungan.
Node Sebuah node adalah sebuah instance Elasticsearch tunggal. Node ini dibuat ketika sebuah instance Elasticsearch dimulai.
Indeks Indeks adalah kumpulan dokumen yang memiliki karakteristik serupa, seperti data pelanggan atau katalog produk. Indeks berguna untuk operasi pengindeksan, pencarian, pembaruan, dan penghapusan, dan Anda dapat mendefinisikan banyak indeks dalam satu klaster.
Dokumen Dokumen adalah unit informasi dasar yang dapat diindeks. Dokumen dinyatakan sebagai pasangan kunci-nilai JSON, dan setiap dokumen dikaitkan dengan tipe dan ID unik.
Beling Setiap indeks dapat dibagi menjadi beberapa shard untuk mendistribusikan data. Shard adalah bagian atomik dari sebuah indeks dan dapat disebar ke seluruh klaster saat Anda menambahkan lebih banyak node.

Apa itu Logstash?

Logstash adalah alat pipeline pengumpulan data dari stack tersebut. Alat ini mengumpulkan input data dan memasukkannya ke Elasticsearch, mengumpulkan semua jenis data dari berbagai sumber dan membuatnya tersedia untuk penggunaan lebih lanjut.

Logstash Dapat menyatukan data dari berbagai sumber dan menormalkannya ke tujuan yang Anda pilih. Ini memungkinkan Anda membersihkan dan mendemokratisasi semua data Anda untuk berbagai kasus penggunaan analitik dan visualisasi.

Ini terdiri dari tiga komponen:

  • Memasukkan: Meneruskan data log dan mengubahnya menjadi format yang dapat dibaca mesin.
  • filter: serangkaian kondisi yang memicu tindakan tertentu pada suatu peristiwa.
  • Keluaran: Pengambil keputusan yang mengarahkan setiap peristiwa atau log yang diproses.

Fitur Logstash

Logstash mencakup beberapa fitur yang membuat pemrosesan log menjadi fleksibel:

  • Peristiwa-peristiwa melewati setiap fase menggunakan antrian internal.
  • Memungkinkan input yang berbeda untuk log Anda.
  • Mendukung penyaringan dan penguraian log Anda.

Keuntungan Logstash

  • Memusatkan pemrosesan data Anda.
  • Menganalisis berbagai macam data dan peristiwa terstruktur maupun tidak terstruktur.
  • Menawarkan plugin untuk terhubung dengan berbagai jenis sumber input dan platform.

Apa itu Kibana?

Kibana adalah alat visualisasi data yang melengkapi ELK Stack. Kibana digunakan untuk memvisualisasikan dokumen Elasticsearch dan membantu pengembang mendapatkan wawasan cepat tentang data mereka melalui diagram interaktif, data geospasial, dan grafik yang membuat kueri kompleks mudah dipahami.

Anda dapat menggunakan Kibana untuk mencari, melihat, dan berinteraksi dengan data yang tersimpan di indeks Elasticsearch. Kibana juga membantu Anda melakukan pencarian tingkat lanjut. analisis data dan sajikan data Anda dalam berbagai tabel, grafik, dan peta.

Kibana mendukung beberapa metode untuk mencari data Anda. Jenis pencarian yang paling umum tercantum di bawah ini:

Pencarian Tipe penggunaan
Pencarian teks gratis Digunakan untuk mencari string tertentu.
Pencarian tingkat lapangan Digunakan untuk mencari string dalam bidang tertentu.
Pernyataan logis Digunakan untuk menggabungkan pencarian menjadi pernyataan logis.
Pencarian kedekatan Digunakan untuk mencari istilah dalam rentang karakter tertentu.

Kibana juga menawarkan sejumlah fitur canggih untuk menjelajahi data yang diindeks:

  • Dasbor antarmuka pengguna yang canggih yang memvisualisasikan informasi yang diindeks dari klaster Elasticsearch.
  • Memungkinkan pencarian informasi terindeks secara real-time.
  • Memungkinkan Anda untuk mencari, melihat, dan berinteraksi dengan data yang tersimpan di Elasticsearch.
  • Menjalankan kueri pada data dan memvisualisasikan hasilnya dalam grafik, tabel, dan peta.
  • Dasbor yang dapat dikonfigurasi untuk menganalisis data secara mendalam. Logstash log di Elasticsearch.
  • Menyediakan data historis dalam bentuk grafik, bagan, dan lainnya.
  • Menawarkan dasbor waktu nyata yang mudah dikonfigurasi.

Keuntungan dan Kerugian Kibana

Seperti halnya perangkat lunak lainnya, Kibana memiliki keunggulan yang jelas yang menjelaskan popularitasnya:

  • Visualisasi data yang mudah.
  • Terintegrasi penuh dengan Elasticsearch.
  • Berfungsi sebagai alat visualisasi khusus.
  • Menawarkan analisis, pembuatan grafik, rangkuman, dan debugging secara real-time.
  • Menyediakan antarmuka yang intuitif dan ramah pengguna.
  • Memungkinkan berbagi cuplikan (snapshot) dari log yang telah Anda telusuri.
  • Memungkinkan penyimpanan dan pengelolaan beberapa dasbor.

Selain itu, ada beberapa keterbatasan yang perlu diingat:

  • Ini hanya berfungsi dengan Elasticsearch sebagai sumber datanya.
  • Membangun dan menyempurnakan dasbor yang kompleks dapat melibatkan kurva pembelajaran yang curam.

Mengapa Analisis Log?

Dalam infrastruktur berbasis cloud, kinerja dan isolasi sangat penting.

Performa mesin virtual di cloud dapat bervariasi tergantung pada beban spesifik, lingkungan, dan jumlah pengguna aktif, sehingga keandalan dan kegagalan node dapat menjadi masalah yang signifikan.

A platform manajemen log dapat memantau semua masalah ini. Ia juga dapat memproses log sistem operasi, log server web Nginx dan IIS untuk analisis lalu lintas, log aplikasi, dan log yang dihasilkan di AWS (Amazon Layanan Web).

Pada akhirnya, manajemen log membantu DevOps Para insinyur dan administrator sistem dapat membuat keputusan yang lebih baik dan berbasis data. Inilah mengapa analisis log melalui Elastic Stack atau alat serupa menjadi sangat penting.

Rusa besar vs. Splunk

Pertanyaan umum yang sering muncul adalah bagaimana perbandingan ELK Stack dengan Splunk, sebuah alternatif komersial yang populer. Tabel di bawah ini merangkum perbedaan utamanya:

RUSA BESAR Splunk
ELK adalah alat sumber terbuka. Splunk adalah alat komersial.
ELK tidak menawarkan Solaris portabilitas berkat Kibana. Penawaran Splunk Solaris portabilitas.
Kecepatan pemrosesan sangat dibatasi. Menawarkan pemrosesan yang akurat dan cepat.
ELK adalah tumpukan teknologi yang dibuat dari kombinasi Elasticsearch, Logstash, dan Kibana. Splunk adalah alat berpemilik yang menyediakan solusi baik untuk instalasi di lokasi (on-premise) maupun di cloud.
Di ELK, pencarian, analisis, dan visualisasi hanya dimungkinkan setelah tumpukan (stack) diatur. Splunk adalah paket manajemen data lengkap yang siap digunakan.
ELK menawarkan integrasi bawaan yang terbatas dengan alat lain. Splunk berguna untuk membuat integrasi dengan alat-alat lain.

Studi Kasus

Banyak perusahaan ternama mengandalkan ELK Stack untuk menjalankan pencatatan log dan analitik dalam skala besar. Contoh-contoh di bawah ini menunjukkan bagaimana ELK Stack digunakan dalam lingkungan produksi.

Netflix

Netflix Perusahaan sangat bergantung pada ELK Stack untuk memantau dan menganalisis log keamanan operasi layanan pelanggannya. Platform ini memungkinkan Netflix mengindeks, menyimpan, dan mencari dokumen di lebih dari lima belas klaster yang terdiri dari sekitar 800 node.

LinkedIn

Situs jejaring profesional LinkedIn menggunakan ELK Stack untuk memantau kinerja dan keamanan. Tim mereka mengintegrasikan ELK dengan Kafka untuk menangani beban secara real-time, dan operasi ini mencakup lebih dari 100 klaster di enam pusat data.

Tripwire

Tripwire, penyedia Security Information and Event Management (SIEM) di seluruh dunia, menggunakan ELK Stack untuk mendukung analisis log paket informasi.

Medium

Medium, platform penerbitan blog yang populer, menggunakan ELK Stack untuk men-debug masalah produksi dan untuk mendeteksi DynamoDB titik panas. Tumpukan teknologi ini membantu perusahaan mendukung 25 juta pembaca unik dan ribuan postingan baru setiap minggu.

Keuntungan dan Kerugian ELK Stack

Kelebihan

ELK Stack menawarkan beberapa manfaat yang menjelaskan adopsinya yang luas:

  • Sistem ini bekerja paling baik ketika log dari berbagai aplikasi suatu perusahaan terkumpul dalam satu instance ELK.
  • Hal ini memberikan wawasan mendalam dari satu contoh tunggal dan menghilangkan kebutuhan untuk masuk ke ratusan sumber data terpisah.
  • Instalasi cepat di lokasi.
  • Mudah diterapkan dan dapat diskalakan baik secara vertikal maupun horizontal.
  • Elastic menawarkan banyak klien bahasa pemrograman, termasuk Ruby, PythonPHP, Perl, .NET, Java, dan JavaNaskah.
  • Tersedia pustaka untuk berbagai bahasa pemrograman dan skrip.

Kekurangan

Terlepas dari kelebihannya, ELK Stack memiliki beberapa kekurangan yang perlu dipertimbangkan:

  • Berbagai komponen tersebut dapat menjadi sulit dikelola saat Anda beralih ke pengaturan yang lebih kompleks.
  • Ada kurva pembelajaran yang cukup curam, jadi bersiaplah untuk beberapa proses coba-coba saat Anda mendapatkan pengalaman.

Pertanyaan Umum Demo Slot

Beats adalah pengirim data sumber terbuka yang ringan dan diinstal sebagai agen di server. Filebeat meneruskan file log dan Metricbeat mengumpulkan metrik sistem. Mereka mengirim data langsung ke Elasticsearch atau melalui LogstashPenambahan Beats untuk pengumpulan data menyebabkan Elastic mengganti nama ELK Stack menjadi Elastic Stack.

ELK adalah singkatan dari Elasticsearch, Logstash, dan Kibana. Ketika Elastic menambahkan Beats, rangkaian pengirim data ringan mereka, produk gabungan tersebut berganti nama menjadi Elastic Stack. Oleh karena itu, Elastic Stack menggambarkan tiga alat yang sama ditambah Beats dan fitur tambahan seperti keamanan dan pembelajaran mesin.

Ya. Elasticsearch, LogstashElasticsearch dan Kibana dapat diunduh secara gratis. Sejak tahun 2024, Elastic menawarkan Elasticsearch dan Kibana di bawah lisensi open-source AGPLv3, bersamaan dengan SSPL dan Lisensi Elastic. Fitur-fitur canggih seperti pembelajaran mesin dan sistem peringatan memerlukan langganan berbayar.

Elasticsearch adalah penyimpanan NoSQL berorientasi dokumen yang fleksibel secara skema, dibangun di atas Apache Lucene dan diakses melalui API REST. Basis data relasional menggunakan tabel, baris, dan SQL tetap dengan transaksi ACID. Elasticsearch dioptimalkan untuk pencarian teks lengkap dan analitik mendekati waktu nyata, bukan untuk konsistensi transaksional yang ketat.

Node produksi biasanya membutuhkan setidaknya 16 GB RAM, dengan heap JVM diatur sekitar 50 persen dari memori dan dijaga agar tetap di bawah sekitar 30 GB. Pengaturan pengujian kecil atau mandiri berjalan dengan RAM yang lebih sedikit. Beats dan Logstash membutuhkan sumber daya yang jauh lebih sedikit daripada Elasticsearch.

Grok adalah sebuah Logstash Plugin filter yang mengurai baris log yang tidak terstruktur menjadi bidang terstruktur dan bernama menggunakan pola yang dapat digunakan kembali yang dibangun berdasarkan ekspresi reguler. Plugin ini banyak digunakan untuk mengekstrak data.tracMengumpulkan stempel waktu, alamat IP, dan kode status dari log server web dan aplikasi sebelum mengindeksnya di Elasticsearch.

Elasticsearch menyertakan pembelajaran mesin bawaan yang memodelkan perilaku log normal dan secara otomatis menandai anomali. Fitur AIOps ini mengelompokkan pesan yang serupa, mendeteksi volume yang tidak biasa, dan mempercepat analisis akar penyebab, sehingga mengurangi waktu rata-rata penyelesaian masalah. Namun, para insinyur tetap harus meninjau peristiwa yang ditandai sebelum mengambil tindakan.

Ya. Alat-alat seperti ChatGPT ke Kopilot GitHub dapat menyusun draf Logstash Pelajari pola grok, Elasticsearch Query DSL, dan pengaturan Kibana dari perintah singkat. Selalu uji pipeline yang dihasilkan, karena AI mungkin merujuk pada nama field yang sudah usang atau sintaks yang sudah tidak digunakan lagi.

Ringkaslah postingan ini dengan: