Elastic Stack

Berke Sayın
5 min readMay 30, 2023

“The Elastic Stack reliably and securely take data from any source, in any format, then search, analyze, and visualize in real time.”

Günlük hayatımızı devam ettirirken alışveriş yapmak, yemek siparişi vermek, sosyal medyada paylaşım yapmak ve birçok işimizi halletmek için mobil ve web tabanlı uygulamaları kullanıyoruz. Uygulamalar içerisinde geçirdiğimiz vakit arttıkça yaptığımız işlemler doğrultusunda veri (data) üretilmeye ve saklanmaya devam ediyor. Data ve data management kavramları ise müşteri memnuniyetini sağlayabilmek ve doğru reklam stratejisi geliştirebilmek adına bu uygulamaların sahibi olan şirketler için oldukça önemli noktaya geldi. Elastic Stack tools, verilerin saklanması, analiz edilmesi, bir sonucu ifade ederek görselleştirilmesi, kullanıcıların aradığı ürünle ilgili sonuçlara hızlı ve doğru şekilde ulaşabilmesi gibi durumlar için birçok şirket tarafından kullanılıyor. Peki Elastic Stack tam olarak nedir? Elasticstack ürünleri verinin saklanması, hızlı şekilde ulaşılması ve görselleştirilmesini nasıl sağlıyor?

Görsel İçin Kaynak: https://medium.com/data-hackers/introdu%C3%A7%C3%A3o-ao-elastic-stack-914a89b5f07c

Herkese merhaba. Bu yazımda Elastic Stack ifadesinden bahsedip hangi durumlarda ne gibi işlemler için nasıl kullanıldığını açıklamaya çalışacağım. Keyifli okumalar :)

Konular

  • Elastic Stack (Elasticsearch, Kibana, Logstash, Beats)
  • Elastic Stack Kullanım Durumları (Logging, Metrics, Security Analytics, Bussiness Analytics, Full-Text Search)

Elastic Stack

Elastic Stack, birbirleriyle entegre şekilde çalışan, verinin bir kaynaktan alınıp saklanması, analiz edilmesi, görselleştirilmesi, search işlemi sırasında hızlı ve doğru şekilde getirilmesi gibi işlemler için kullanılan açık kaynak bir grup Elastic ürünlerinin geneline verilen isimdir.

Bu ifade ilk başta ELK Stack olarak adlandırılıp Elasticsearch, Logstash ve Kibana ürünlerini kapsıyordu. Daha sonra ise dördüncü ürün olan Beats de stack’e eklendi ve Elastic Stack kavramı daha sık kullanılmaya başlandı.

  • Elasticsearch: Store, search, analyze
  • Kibana: Explore, visualize, engage
  • Logstash: Collect, transform, centralize
  • Beats: Collect, ship, monitor

Şimdi bu ürünleri kısaca inceleyelim.

Elasticsearch (Distributed Search and Analyze Engine)

Elasticsearch Java programlama dilinde yazılmış, dağıtık mimariye (distributed) sahip açık kaynak kodlu bir projedir. Shay Banon, Elasticsearch’ün ilk versiyonunu 2010 yılında piyasaya sürmüştür. Shay, Elasticsearch’ü oluştururken Lucene adlı Java tabanlı metin arama kütüphanesinden yararlanmış ve onu dağıtık ve ölçeklenebilir (scalable) bir arama ve analiz motoruna dönüştürmüştür.

Kibana (Data Visualization and Exploration Tool)

Kibana, açık kaynaklı veri görselleştirme ve analiz aracıdır. Elasticsearch ile entegre çalışarak verileri analiz etmeye ve görselleştirmeye yarar. Kibana’nın sağladığı arayüz (UI) ile verileri grafikler, tablolalar, metrik panoları gibi görselleştirme araçlarıyla daha iyi anlayıp yorumlayabiliriz ve o verilerle ilgili sonuca daha rahat şekilde ulaşabiliriz.

Logstash (Data Collection Engine)

Logstash, Elastic Stack’in bir diğer ürünü olan açık kaynaklı bir veri işleme ve yönlendirme aracıdır. Logstash, çeşitli veri kaynaklarından (log files, veritabanları, mesajlaşma sistemleri, API’ler vb.) veri toplar, bu verileri işler, dönüştürür ve hedef sistemlere yönlendirir.

Beats Family (Data Shippers)

Beats ailesinin amacı; görevlerine ait log’ların toplanıp işlenmesi gerekenleri logstash’e, işlenmeye gerek duyulmayan kısımları Elasticsearch’e yönlendirerek log’ların Kibana üzerinde görünmesini sağlamaktır.

Elastic Stack Kullanım Durumları

Burada ise Elastic Stack ürünlerinin hangi durumlarda kullanıldığına örnekler vermek istiyorum.

Use Cases:

  • Logging
  • Metrics
  • Security Analytics
  • Bussiness Analytics
  • Full-Text Search

Use Case: Logging

Elastic Stack ürünleri, log verilerinin toplanması, depolanması, analiz edilmesi ve görselleştirilmesi için güçlü bir platform sunar. Bu sebeple bu amaçlar doğrultusunda birçok şirket tarafından kullanılır. Burada bir oyun şirketi olan Activision Blizzard’ı örnek olarak paylaşmak istiyorum. Activision Blizzard, gamer ve server event’lerini analiz etmek için Elastic Stack ürünlerini kullanıyor. Biraz daha detaylı olması için şu senaryoyu örnek gösterebilirim:

Sorun Tespiti ve Sorun Giderme: Oyun için log verilerinin Elastic Stack üzerinde toplanması, hataları ve sorunları tespit etmek için değerli bir kaynak sağlar. Oyuncuların karşılaştığı hataları, bağlantı sorunlarını, performans düşüklüklerini veya oyun bağlantısının stabil olmadığı durumları analiz edip sorun gidermek için kullanılır.

Use Case: Metrics

Elasticsearch, çeşitli sistem ve uygulama metriklerini depolamak ve analiz etmek için kullanılabilir. Beats veya Metricbeat aracılığıyla toplanan metrik verileri Elasticsearch’e gönderilerek izlenebilir, metrik tabloları oluşturulup istatistikler elde edilebilir.

Bu case için Mars Curiosity Rover örneğini vermek istiyorum. Mars Curiosity Rover (Curiosity), NASA tarafından 2011 yılında Mars keşif misyonu için gönderilen bir uzay aracıdır. Curiosity, Mars yüzeyinde jeolojik ve iklimsel özellikleri incelemek ve Mars’ın keşfedilmemiş alanlarını keşfetmek amacıyla tasarlanmıştır.

Curiosity, üzerinde bulunan sensörler aracılığıyla çeşitli metrikleri toplar. Örneğin, aracın konumu, hızı, enerji tüketimi, Mars’ta sıcaklık gibi veriler metrikler olarak kaydedilebilir. Bu metrik verileri Elastic Stack’de tutulur. Daha sonra ise, toplanan metrik verileri Kibana aracılığıyla görselleştirilir ve analiz edilir. Böylece Curiosity’nin topladığı veriler Elastic Stack’de işlenerek ilgili konularda Mars ile ilgili bilgi toplanır.

Elastic Stack’in metrik verilerini toplamasıyla ilgili bir de Infrastructure Monitoring (sistem ve altyapı takibi) örneği vermek istiyorum. Elastic Stack; ağ altyapısı, sunucular, veritabanları ve diğer IT bileşenleri üzerinde izleme ve sorun giderme için kullanılabilir. Sistem performansı, kaynak kullanımı, ağ trafiği, hatalar ve uyarılar izlenip log ve metrik verileri Elastic Stack’de toplanarak analiz edilebilir.

Use Case: Security Analytics

Elastic Stack ile güvenlik durumları ve tehditleri analiz edilebilir. Burada yine az önceki oyun şirketi örneği üzerinden ilerlemek istiyorum. Oyun şirketleri için güvenlik önemli bir konudur. Elastic Stack’in güçlü arama ve analiz yapabilmesi sayesinde oyun şirketleri, güvenlik olaylarını izlemek ve dolandırıcılık girişimlerini tespit etmek için log verilerini kullanabilir. Potansiyel saldırılar, hesap ihlalleri, hile kullanımı veya diğer güvenlik tehditleri log verileri üzerinde analiz edilebilir ve önlemler alınabilir.

Bir diğer örnek olarak da Slack’i paylaşmak istiyorum. İşte veya kişisel görüşme amacıyla daha önce Slack kullanmış olabilirsiniz. Slack kanallar üzerinde güvenli iletişimi sağlamak amacıyla Elastic Stack ürünlerini kullanmaktadır.

Use Case: Bussiness Analytics

Elasticsearch’ün, büyük miktardaki verileri depolamak, analiz etmek ve sorgulamak için kullanılabildiğinden bahsetmiştim. Burada da bir E-Ticaret şirketi örneği üzerinden ilerlemek istiyorum. Elasticsearch, veri tabanı entegrasyonu, filtreleme, sorgulama ve metrik hesaplamaları gibi özellikleriyle iş analitiğine (bussiness analytics) yardımcı olur.

Kibana ise Dashboard’lar aracılığıyla Elasticsearch üzerindeki iş verilerini görselleştirmek, analiz etmek ve raporlamak için kullanılır.

Böylelikle belirli bir dönem aralığındaki belirli ürünlere ait satış verileri Elasticsearch üzerinde depolanarak Kibana ile analiz edilebilir ve pazarlama stratejisi bu doğrultuda geliştirilerebilir.

Use Case: Full-Text Search

Elasticsearch, güçlü bir metin tabanlı arama motorudur. Elastic Stack, metin verilerini indeksleyerek hızlı ve etkili bir şekilde arama yapma imkanı sunar. Content management systems (CMS — İçerik Yönetim Sistemleri), sosyal medya uygulamaları, online alışveriş uygulamaları, haber siteleri ve diğer uygulamalar Elastic Stack’i tam metin arama için kullanabilir.

Sonuç

Big Data: Twitter, Netflix, LinkedIn gibi milyonlarca kullanıcısı olup büyük dataset’lere sahip şirketler data management için Elastic Stack ürünlerini kullanıyorlar.

Complex Search İşlemleri: Online alışveriş uygulamalarında birçok kategori ve markaya ait binlerce ürün bulunuyor. Kullanıcıların bulmak istedikleri ürünle ilgili olan ürünlerin kısa süre içerinde gelmesi müşteri memnuniyeti için oldukça önemli. Complex search işlemlerinin yapıldığı uygulamalarda Elastic Stack ürünleri kullanılıyor.

Öne Çıkan Diğer Kullanımlar: Uygulama içi güvenlik ve bussiness analiz durumlarında, log ve metrik verilerini toplayıp analiz ederek belirli sonuçlara ulaşmak için ve monitoring gibi işlemlerde Elastic Stack ürünleri kullanılıyor.

--

--