GNU/Linux >> Belajar Linux >  >> Ubuntu

Tutorial ELK Stack:Memulai dengan Elasticsearch, Logstash, Kibana, &Beats

Pendahuluan

Tumpukan Elastis , sebelumnya dikenal sebagai ELK tumpukan , adalah rangkaian alat yang populer untuk mencerna, melihat, dan mengelola file log. Sebagai perangkat lunak sumber terbuka, Anda dapat mengunduh dan menggunakannya secara gratis (meskipun versi berbayar dan yang dihosting di awan juga tersedia).

Tutorial ini memperkenalkan penggunaan dan fungsionalitas ELK Stack dasar.

Prasyarat

  • Sistem dengan Elasticsearch terinstal

Apa itu ELK Stack?

ELK adalah singkatan dari Elasticsearch, Logstash, dan Kibana. Di versi sebelumnya, komponen inti dari ELK Stack adalah:

  • Elasticsearch – Komponen inti ELK. Ini berfungsi sebagai database yang dapat dicari untuk file log.
  • Logstash – Sebuah pipa untuk mengambil data. Itu dapat dikonfigurasi untuk mengambil data dari berbagai sumber dan kemudian mengirim ke Elasticsearch.
  • Kibana – Alat visualisasi. Ini menggunakan antarmuka browser web untuk mengatur dan menampilkan data.

Paket perangkat lunak tambahan yang disebut Beats adalah tambahan yang lebih baru. Ini adalah aplikasi pengumpulan data yang lebih kecil, khusus untuk tugas individu. Ada banyak aplikasi Beats yang berbeda untuk tujuan yang berbeda. Misalnya, Filebeat digunakan untuk mengumpulkan file log, sedangkan Packetbeat digunakan untuk menganalisis lalu lintas jaringan.

Karena akronim ELK berkembang pesat, Elastic Stack menjadi pilihan yang lebih memuaskan dan terukur untuk nama tersebut. Namun, ELK dan Elastic Stack digunakan secara bergantian.

Mengapa Menggunakan ELK Stack?

Tumpukan ELK menciptakan lingkungan penguraian data yang fleksibel dan andal. Organisasi, terutama yang memiliki infrastruktur berbasis cloud, mendapat manfaat dari penerapan Elastic stack untuk mengatasi masalah berikut:

  • Bekerja di berbagai server dan aplikasi menghasilkan sejumlah besar data log, yang tidak dapat dibaca manusia. Tumpukan ELK berfungsi sebagai platform terpusat yang kuat untuk mengumpulkan dan mengelola informasi tidak terstruktur , mengubahnya menjadi aset yang berguna dalam proses pengambilan keputusan.
  • Stack ELK dengan fitur dasar adalah open source, yang membuatnya menjadi hemat biaya solusi untuk perusahaan rintisan dan bisnis mapan.
  • Elastic stack menyediakan platform yang kuat untuk pemantauan kinerja dan keamanan, memastikan waktu kerja maksimal dan kepatuhan terhadap peraturan .

Tumpukan Elastis mengatasi kesenjangan industri dengan data log. Perangkat lunak ini dapat dengan andal mengurai data dari berbagai sumber ke dalam basis data terpusat yang skalabel, memungkinkan analisis historis dan real-time.

Bagaimana Elastis Stack Bekerja?

Tumpukan Elastis mengikuti langkah-langkah logis tertentu, yang semuanya dapat dikonfigurasi.

1. Komputer atau server membuat file log. Semua komputer memiliki file log yang mendokumentasikan kejadian pada sistem dalam format yang sulit dibaca. Beberapa sistem, seperti cluster server, menghasilkan sejumlah besar file log.

Namun, Elastic Stack dirancang untuk membantu mengelola jumlah data yang dapat diskalakan.

2. Berbagai file informasi yang tersedia dikumpulkan oleh Beats aplikasi. Detak yang berbeda menjangkau berbagai bagian server, membaca file, dan mengirimkannya.

Beberapa pengguna mungkin melewatkan Beats sama sekali dan menggunakan Logstash secara langsung. Orang lain dapat menghubungkan Beats langsung ke Elasticsearch.

3. Logstash dikonfigurasi untuk menjangkau dan mengumpulkan data dari Beats different yang berbeda aplikasi (atau langsung dari berbagai sumber).

Dalam konfigurasi yang lebih besar, Logstash dapat memfilter data dari beberapa sistem, dan mengumpulkan informasi ke dalam satu lokasi.

4. Elasticsearch digunakan sebagai basis data yang dapat diskalakan dan dapat dicari untuk menyimpan data. Elasticsearch adalah gudang tempat Logstash atau Mengalahkan pipa semua data.

5. Terakhir, Kibana menyediakan antarmuka yang mudah digunakan bagi Anda untuk meninjau data yang telah dikumpulkan.

Ini sangat dapat dikonfigurasi, sehingga Anda dapat menyesuaikan metrik agar sesuai dengan kebutuhan Anda. Kibana juga menyediakan grafik dan alat lain untuk memvisualisasikan dan menafsirkan pola dalam data.

Aplikasi Pendukung ELK Stack

Aplikasi pihak ketiga tambahan meningkatkan Elastic Stack, memberikan kemungkinan kasus penggunaan yang lebih luas. Beberapa aplikasi eksternal yang didukung oleh tumpukan ELK adalah:

  • Apache Kafka

Kafka adalah platform distribusi streaming real-time. Itu berarti dapat membaca beberapa sumber data sekaligus. Kafka bertindak sebagai buffer data dan membantu mencegah kehilangan atau gangguan data saat streaming file dengan cepat.

  • Merah

Redis adalah database nilai kunci NoSQL dengan kecepatan baca/tulis yang luar biasa dan berbagai tipe data. Saat ditambahkan ke tumpukan Elastis, Redis sering berfungsi sebagai buffer untuk lonjakan aliran data, memastikan tidak ada data yang hilang.

  • Hadoop

Hadoop adalah sistem penyimpanan data pemrosesan batch besar. Mengindeks data dari Hadoop ke dalam mesin Elasticsearch real-time menciptakan platform visualisasi dan penemuan data dua arah yang interaktif.

Dukungan Hadoop hadir melalui Konektor Elasticsearch-Hadoop, yang menawarkan dukungan penuh untuk Spark, Streaming, Hive, Storm, MapReduce, dan alat lainnya.

  • RabbitMQ

RabbitMQ adalah platform perpesanan. Pengguna Elastic Stack menggunakan perangkat lunak ini untuk membangun antrian file log yang stabil dan buffered.

  • Nginx

Nginx paling dikenal sebagai server web yang juga dapat diatur sebagai proxy terbalik. Ini dapat digunakan untuk mengelola lalu lintas jaringan atau untuk membuat penyangga keamanan antara server Anda dan internet.

Keuntungan dan Kerugian ELK Stack

Tumpukan Elastis hadir dengan keuntungan dan kerugian tertentu.

Keuntungan

  • Elastic stack dan komponennya bebas untuk dicoba dan digunakan.
  • ELK menawarkan banyak opsi hosting, baik lokal atau disebarkan sebagai layanan terkelola.
  • Kemampuan untuk memusatkan logging dari lingkungan cloud yang kompleks memungkinkan pencarian lanjutan dan menciptakan korelasi dari berbagai sumber pada satu platform.
  • Analisis dan visualisasi real-time mengurangi waktu yang dibutuhkan untuk menemukan insight, sehingga memungkinkan pemantauan berkelanjutan.
  • Dukungan klien untuk beberapa bahasa pemrograman, termasuk JavaScript, Python, Perl, Go, dll.

Kekurangan

  • Menyebarkan tumpukan adalah proses yang kompleks dan bergantung pada persyaratan. Lihat tutorial kami untuk menerapkan tumpukan Elastis di Kubernetes.
  • Menumbuhkan dan memelihara tumpukan ELK memakan biaya dan memerlukan komputasi dan penyimpanan data berdasarkan volume data dan waktu penyimpanan.
  • Stabilitas dan waktu aktif menjadi masalah karena volume data bertambah karena tidak adanya batas pengindeksan.
  • Retensi dan pengarsipan data memerlukan banyak node, daya komputasi, dan sumber daya secara umum.

Ikhtisar Elasticsearch

Elasticsearch adalah inti dari Elastic Stack. Ia memiliki dua pekerjaan utama:

  • Penyimpanan dan pengindeksan data.
  • Mesin telusur untuk mengambil data.

Detail Elasticsearch Teknis meliputi:

  • Dukungan bahasa pemrograman yang kuat untuk klien (Java, PHP, Ruby, C#, Python).
  • Menggunakan REST API – Aplikasi yang ditulis untuk Elasticsearch memiliki kompatibilitas yang sangat baik dengan aplikasi Web.
  • Hasil responsif – Pengguna melihat data hampir secara real-time.
  • Arsitektur terdistribusi – Elasticsearch dapat menjalankan dan menghubungkan antara banyak server yang berbeda. Elastic Stack dapat diskalakan dengan mudah seiring pertumbuhan infrastruktur.
  • Pengindeksan terbalik – Elasticsearch mengindeks berdasarkan kata kunci, seperti indeks dalam buku. Ini membantu mempercepat kueri ke kumpulan data besar.
  • Pecahan – Jika data Anda terlalu besar untuk server Anda, Elasticsearch dapat memecahnya menjadi beberapa bagian yang disebut Pecahan .
  • Non-relasional (NoSQL) – Elasticsearch menggunakan database non-relasional untuk membebaskan diri dari batasan penyimpanan data terstruktur/tabular.
  • Apache Lucene – Ini adalah mesin pencari dasar yang menjadi dasar Elasticsearch.

Ikhtisar Logstash

Logstash adalah alat untuk mengumpulkan dan menyortir data dari berbagai sumber. Logstash dapat menjangkau server jarak jauh, mengumpulkan kumpulan log tertentu, dan mengimpornya ke Elasticsearch.

Itu dapat mengurutkan, memfilter, dan mengatur data. Selain itu, ini mencakup beberapa konfigurasi default, atau Anda dapat membuatnya sendiri. Ini sangat membantu untuk menyusun data dengan cara yang seragam (atau dapat dibaca).

Fitur teknis logstash:

  • Menerima berbagai format dan sumber data – Ini membantu mengonsolidasikan kumpulan data yang berbeda ke dalam satu lokasi terpusat.
  • Memanipulasi data secara real-time – Saat data dibaca dari sumbernya, Logstash menganalisisnya dan segera merestrukturisasinya.
  • Keluaran fleksibel – Logstash dibuat untuk Elasticsearch, tetapi seperti banyak proyek sumber terbuka, logstash dapat dikonfigurasi ulang untuk diekspor ke utilitas lain.
  • Dukungan plugin – Beragam add-on dapat ditambahkan untuk menyempurnakan fitur Logstash.

Ikhtisar Kibana

Anda dapat menggunakan Elasticsearch dari baris perintah hanya dengan menginstalnya. Namun Kibana memberi Anda antarmuka grafis untuk menghasilkan dan menampilkan data secara lebih intuitif.

Berikut beberapa detail teknisnya:

  • Antarmuka dasbor – Mengonfigurasi grafik, sumber data, dan metrik sekilas.
  • Menu yang dapat dikonfigurasi – Buat visualisasi data dan menu untuk menavigasi atau menjelajahi kumpulan data dengan cepat.
  • Plug-in – Menambahkan plug-in seperti Canvas memungkinkan Anda menambahkan tampilan terstruktur dan pemantauan waktu nyata ke antarmuka grafis Anda.

Pelajari cara menggunakan Kibana dalam panduan kami Tutorial Kibana Lengkap untuk Memvisualisasikan dan Mengkueri Data.

Ikhtisar Beats

Beats berjalan pada sistem yang dipantaunya. Ini mengumpulkan dan mengirimkan data ke tujuan, seperti Logstash atau Elasticsearch.

Anda dapat menggunakan Beats untuk mengimpor data langsung ke Elasticsearch jika Anda menjalankan kumpulan data yang lebih kecil.

Atau, Beats dapat digunakan untuk memecah data menjadi aliran yang dapat dikelola, lalu diurai menjadi Logstash, untuk dibaca oleh Elasticsearch.

Untuk satu server, Anda dapat menginstal Elasticsearch, Kibana, dan beberapa Beats. Setiap Beats mengumpulkan data dan mengirimkannya ke Elasticsearch. Anda kemudian melihat hasilnya di Kibana.

Atau, Anda dapat menginstal Beats di beberapa server jarak jauh, lalu mengonfigurasi Logstash untuk mengumpulkan dan mengurai data dari server. Data tersebut dikirim ke Elasticsearch dan kemudian menjadi terlihat di Kibana.

Mengalahkan Pengambilan Data Deskripsi
Auditbeat Audit data Versi Linux yang diauditd. Itu dapat berinteraksi langsung dengan sistem Linux Anda sebagai pengganti yang telah diaudit proses. Jika Anda sudah memiliki aturan auditd, Auditbeat akan membaca dari konfigurasi Anda yang ada.
Filebeat File log Membaca dan mengirimkan file log sistem. Ini berguna untuk log server, seperti peristiwa perangkat keras atau log aplikasi.
Functionbeat Data awan Mengirimkan data dari infrastruktur tanpa server atau cloud. Jika Anda menjalankan layanan yang dihosting cloud, gunakan untuk mengumpulkan data dari cloud dan mengekspornya ke Elasticsearch.
Detak jantung Ketersediaan Menampilkan waktu aktif dan waktu respons. Gunakan ini untuk mengawasi server penting atau sistem lain, untuk memastikan mereka berjalan dan tersedia.
Journalbeat Jurnal bersistem Meneruskan, memusatkan, dan mengirimkan log jurnal sistem.
Metricbeat Metrik Membaca data metrik - penggunaan CPU, memori, penggunaan disk, bandwidth jaringan. Gunakan ini sebagai monitor sumber daya sistem supercharged.
Packetbeat Lalu lintas jaringan Menganalisis lalu lintas jaringan. Gunakan untuk memantau latensi dan daya tanggap, atau penggunaan dan pola lalu lintas.
Winlogbeat Log peristiwa Windows Mengirimkan data dari Windows Event Log. Lacak peristiwa masuk, peristiwa penginstalan, bahkan kesalahan perangkat keras atau aplikasi.

Kasus Penggunaan Tumpukan ELK

Pemantauan log waktu-nyata dari berbagai sumber memberikan tumpukan Elastis dengan banyak kasus penggunaan kreatif.

  • Pemantauan dan peringatan keamanan . Sistem pemantauan dan peringatan server adalah aplikasi keamanan penting untuk tumpukan ELK. Memeriksa permintaan yang tidak biasa atau mendeteksi serangan server dengan sistem peringatan waktu nyata dapat membantu mengurangi kerusakan segera setelah muncul.
  • Solusi e-niaga . Pencarian teks lengkap, pengindeksan, agregasi, dan respons cepat menciptakan pengalaman pengguna yang lebih baik. Memantau tren dan perilaku penelusuran secara visual membantu meningkatkan analisis tren.
  • Pengikisan web . Kemampuan untuk mengumpulkan, mengindeks, dan menelusuri data tidak terstruktur dari berbagai sumber memudahkan pengumpulan dan visualisasi informasi web yang digores.
  • Pemantauan lalu lintas . Memantau data lalu lintas situs web membantu menunjukkan bahwa satu server kelebihan beban. Terapkan aplikasi penyeimbang beban (seperti Nginx) untuk mengalihkan lalu lintas ke server lain.
  • Deteksi kesalahan . Jika Anda menerapkan aplikasi baru, Anda dapat memantau kesalahan untuk aplikasi tersebut. Ini dapat membantu dengan cepat mengidentifikasi area untuk memperbaiki bug atau meningkatkan desain aplikasi.

Elastic Stack menghasilkan data yang dapat Anda gunakan untuk memecahkan masalah dan membuat keputusan bisnis yang tepat.


Ubuntu
  1. Menginstal tumpukan ELK di Ubuntu 14.04

  2. Cara menginstal Elasticsearch, Logstash dan Kibana 4 di Ubuntu 14.04 / 15.04

  3. Pengantar pemantauan menggunakan ELK Stack

  1. Bagaimana Memulai Terjemahan?

  2. Bagaimana Memulai Dengan Juju?

  3. Mulai dengan Server Cloud

  1. Tutorial Kibana Lengkap untuk Memvisualisasikan dan Mengkueri Data

  2. Cara Menginstal ELK Stack (Elasticsearch, Logstash, dan Kibana) di Ubuntu 18.04 / 20.04

  3. Cara Menginstal Elasticsearch, Logstash, dan Kibana (ELK Stack) di CentOS 8