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.
LogsDB’nin Avantajları: Neden Geçiş Yapmalısınız?
LogsDB ile Elasticsearch, özellikle büyük ölçekli sistemlerde log verilerinin yönetimi için güçlü bir çözüm sunuyor. LogsDB’nin öne çıkan özelliklerini aşağıdaki başlıklar altında sıralayabiliriz:
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 DevTools ⇒ Konsol 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.