16 Aralık 2024

LogsDB: Elasticsearch ile Log Yönetiminde Yeni Bir Dönem

Elasticsearch'ün yeni LogsDB indeks mode’u, yüksek hacimli log verilerini hızlı bir şekilde işlemek, depolama maliyetlerini optimize etmek ve verimli analiz yapmak için tasarlandı. Log data stream oluşturma adımları ve LogsDB’ye geçiş rehberiyle log yönetiminizi bir üst seviyeye taşıyın.

Log verisi, modern uygulamaların ve altyapıların nabzını tutar. Bir uygulamanın ne zaman hata verdiğini, bir kullanıcının hangi işlemleri yaptığını veya bir sistemin ne kadar yük altında olduğunu öğrenmenin en etkili yolu log verilerini doğru bir şekilde toplamaktan ve analiz etmekten geçer. Diğer yandan, log hacmi büyüdükçe saklanan verilerin yönetimi ve maliyeti ciddi bir zorluk haline gelir.

Elasticsearch’in 8.17 sürümüyle genel kullanıma sunduğu LogsDB, tam da bu sorunu çözmek için tasarlanmış özel bir indeksleme modudur. Log verilerini daha hızlı işlemek, depolama maliyetlerini düşürmek ve daha verimli sorgular gerçekleştirmek için optimize edilen LogsDB, log yönetiminde devrim niteliğinde bir yaklaşım sunuyor. LogsDB indeks modu, depolama gereksinimi %65‘e varan oranlarda düşürür.

Bu yazıda, Elasticsearch LogsDB indeks modunun avantajlarını, log data stream’lerin nasıl oluşturulacağını ve mevcut data stream’lerin LogsDB’ye nasıl dönüştürüleceğini inceleyerek, log yönetim stratejinizi bir üst seviyeye taşımanın yollarını keşfedeceğiz.

Logs Data Stream Nasıl Oluşturulur?

Logs data stream oluşturmak için aşağıdaki adımları izleyebilirsiniz:

1. Indeks Şablonu Tanımlama

Elasticsearch’te bir logs data stream oluşturmanın yolu öncelikle bir index template tanımından geçmektedir. Aşağıda örneklendiği şekilde bir indeks şablonu oluşturulabilir.

				
					PUT _index_template/indeks-sablonu
{
  "index_patterns": ["logs-*"],
  "data_stream": {},
  "template": {
    "settings": {
      "index.mode": "logsdb"
    }
  },
  "priority": 101
}
				
			

Burada dikkat edilmesi gereken önemli bir nokta, Elasticsearch’ün varsayılan olarak logs-* ile başlayan desenler için bir şablon içerdiğidir. Dikkat edecek olursanız index.mode olarak  logsdb verilmiştir. Oluşturduğunuz şablonu varsayılan şablonun üzerine yazabilmek için öncelikli şablonunuzun priority alanının değerini 101 gibi varsayılan şablonun öncelik değerinden daha yüksek bir değere ayarlamanız gerekmektedir.

2. Veri Akışını Kullanma

Şablon oluşturulduktan sonra bu şablonu kullanan yeni indeksler logs data stream olarak yapılandırılacaktır. Yukarıdaki örneğimizden devam edecek olursak, logs- ifadesi ile başlayan tüm indeksler logs data stream olarak yapılandırılacaktır. Bu akışlara veri indekslemeye başlayabilirsiniz.

Mevcut Data Stream'leri LogsDB’ye Dönüştürme

Elasticsearch’teki mevcut bir data stream de logs data stream’e dönüştürülebilir. Mevcut data stream’i logsdb moduna dönüştürmek için aşağıdaki adımları takip etmeniz yeterli olacaktır.

1. Data Stream Kontrolü

Mevcut bir Data Stream’i Logs Data Stream’e dönüştürmek için öncelikli olarak mapping ve sorting yapılandırmaları kontrol edilmelidir. Data Stream’in sıralamada kullandığı alanları arasında host.name bulunuyorsa, bu alan logsdb modunda otomatik olarak keyword türüne dönüştürülecektir. Mevcuttaki host.name alanının farklı bir türde olması durumununda mapping hataları oluşacağı için sorun yaşayacaksınız.

2. İndeks Şablonunu Güncelleme

Mevcut bir data stream’i Logs Data Stream’e dönüştürmek için mevcut Data Stream’le ilişkili indeks şablonunda index.mode değeri olarak  logsdb belirtilmelidir. Örneğin;

				
					{
  "template": {
    ...
    "settings": {
      "index.mode": "logsdb"
      ...
    }
    ...
  }
}
				
			

3. İndeks Rollover

İndeks şablonunda yapılan bu değişiklik ancak yeni oluşturulan indekslerde devreye alınacaktır. Bu nedenle yeni bir indeks oluşumunu tetiklemek için bir indeks rollover gerçekleşmelidir. Bu işlem indeks yaşam döngüsü politikası doğrultusunda otomatik olarak gerçekleşecektir. Bu politikayı beklemeden elle rollover gerçekleştirilmesi de mümkündür.

Elle rollover gerçekleştirmek için DevToolsKonsol ekranında aşağıdaki çağrı yapılması yeterli olacaktır.

				
					POST ornek-data-stream/_rollover
				
			

Alternatif olarak aşağıdaki komutla aynı işlemin komut satırından yapılması da mümkündür.

				
					curl -X POST "https://localhost:9200/ornek-data-stream/_rollover?pretty"

				
			

LogsDB’nin Kullanım Senaryoları

Yapısı gereği LogsDB her durum için uygun olmayabilir. Elasticsearch LogsDB indeks modu, özellikle aşağıdaki kullanım senaryolarında büyük avantaj sunacaktır:

Elasticsearch LogsDB, log verilerinin yönetimi için büyük bir yenilik sunduğu açıktır. Özellikle performans ve maliyet optimizasyonları sayesinde, modern sistemlerin log yönetimi için güçlü bir araç haline geliyor. Mevcut sistemlerinizi LogsDB’ye geçirerek bu avantajlardan yararlanabilir ve log yönetiminizi bir üst seviyeye taşıyabilirsiniz.

Elasticsearch
abonelik, kurulum, göç ve danışmanlığı

Deneyimli ekibimizle Elastic search, SIEM, APM çözümleri abonelik, kurulum, göç ve danışmanlık hizmetlerimizle sizlerin yanındayız.

Elasticsearch çözümlerinden kurumsal destek olmak mı istiyorsunuz? Avantajlı Elasticsearch Abonelik tekliflerimizle yanınızdayız.