Merkezi log yönetimi (ELK) nasıl kurulur?
Merkezi log yönetiminin mimarisi: log toplama, ayrıştırma, indeksleme, arama ve uyarı. ELK ve Grafana Loki yaklaşımları, kurulum adımları ve sık hatalar.
Merkezi log yönetimi nedir, neden gerekir?
Her sunucu, uygulama ve ağ cihazı kendi log dosyasını üretir. Sistem büyüdükçe bir hatayı bulmak için tek tek makinelere bağlanıp dosyalara bakmak sürdürülemez hâle gelir. Merkezi log yönetimi, bu kayıtları tek bir yerde toplar, ortak biçime getirir, saklar ve aranabilir kılar.
Kazanç yalnızca hızlı arama değildir. Olay anında farklı sistemlerin kayıtlarını zaman ekseninde yan yana görmek, güvenlik denetimleri için kayıtların silinmeden korunması ve olağandışı davranışlarda otomatik uyarı üretmek de aynı yapının sonuçlarıdır.
Mimari: toplama, ayrıştırma, depolama, görselleştirme
Her merkezi log mimarisi dört katmandan oluşur. Toplama katmanı, kaynak makinelerdeki kayıtları okuyup gönderir. Ayrıştırma katmanı, serbest metni alanlara böler ve gerekirse zenginleştirir. Depolama katmanı kayıtları indeksler ve saklar. Görselleştirme katmanı arama, panel ve uyarı sunar.
ELK yığınında bu roller şöyle dağılır: Beats hafif toplayıcılar olarak kaynak makinelerde çalışır, Logstash kayıtları ayrıştırır ve zenginleştirir, Elasticsearch kayıtları indeksleyip arama için saklar, Kibana ise arama ve panel arayüzüdür. Grafana Loki yaklaşımı farklıdır: kayıt içeriğinin tamamını indekslemek yerine yalnızca etiketleri indeksler, içerik ise sıkıştırılarak saklanır. Bu, depolama maliyetini ve işletme yükünü azaltır, ama aramalar etiketlere dayandığı için etiket tasarımı kritik hâle gelir.
Toplayıcı ile ayrıştırıcı arasına çoğu kurulumda bir tampon ya da kuyruk konur. Böylece ani log artışlarında ayrıştırma katmanı yetişemese bile kayıtlar kaybolmaz, depolama bakım için durdurulduğunda toplayıcılar beklemeden çalışmaya devam eder.
Adım adım kurulum yaklaşımı
- Kaynakları belirleyin: Hangi sistemlerin logu toplanacak, hangileri öncelikli? Önce kritik uygulamalarla başlayın.
- Log biçimini standartlaştırın: Uygulamaların yapılandırılmış (JSON gibi) log üretmesi, sonradan ayrıştırma yükünü büyük ölçüde azaltır.
- Toplayıcıları kurun: Her makinede ya da kümede hafif bir ajan çalıştırın, kayıtları merkeze iletin.
- Ayrıştırma kurallarını yazın: Zaman damgası, seviye, servis adı ve mesaj gibi alanları çıkarın; hassas alanları maskeleyin.
- Depolamayı tasarlayın: Küme boyutunu, indeks adlandırmayı ve saklama süresini belirleyin.
- Panel ve uyarıları kurun: Hata oranı, beklenmeyen oturum açma denemeleri gibi sinyaller için görünümler ve eşikler tanımlayın.
- Güvenliği ve erişimi yapılandırın: Kimin hangi kayıtları görebileceğini rol bazında sınırlayın.
Kurulum sırasında sık gözden kaçan iki ayrıntı vardır. Birincisi zaman: tüm sunucuların saati aynı kaynaktan senkronize edilmezse farklı sistemlerin kayıtları zaman ekseninde yan yana dizildiğinde olay sırası yanlış okunur. İkincisi log seviyeleri: hata, uyarı, bilgi ve hata ayıklama seviyelerinin servisler arasında aynı anlamda kullanılması, "yalnız hata kayıtlarını getir" gibi basit bir sorguyu güvenilir kılar.
İndeks yönetimi, saklama ve maliyet
Log verisi hızla büyür ve kontrolsüz bırakılırsa depolamayı doldurur. Bu yüzden yaşam döngüsü kuralları şarttır: yeni kayıtlar hızlı ortamda tutulur, zamanla daha ucuz depolamaya taşınır ve saklama süresi dolunca silinir. Hangi kaydın ne kadar saklanacağını yasal gereklilikler ve operasyonel ihtiyaç birlikte belirler.
Maliyeti etkileyen diğer unsurlar gereksiz alanların indekslenmesi, çok ayrıntılı hata ayıklama loglarının sürekli açık bırakılması ve yüksek hacimli ama değeri düşük kayıtlardır. Bunları kaynakta filtrelemek ya da örneklemek ciddi tasarruf sağlar. Loki'de etiketlerin sınırlı ve anlamlı tutulması aynı amaca hizmet eder.
Somut örnek: bir hatanın izini sürmek
Örneğin bir e-ticaret sitesinde müşteriler zaman zaman ödeme adımında hata alıyor olsun. Merkezi log olmadan ağ geçidi, uygulama sunucusu ve veritabanı loglarına ayrı ayrı bakmak gerekir. Merkezi yapıda ise hata görülen zaman aralığı seçilir, servis adına göre süzülür ve tek ekranda sırayla ağ geçidi isteği, uygulama hatası ve veritabanı zaman aşımı görülür.
Bir isteği sistemler arasında izleyebilmek için isteğe ortak bir kimlik numarası verilmesi ve bu kimliğin her logda yer alması çok yararlıdır. Sonuçta sorunun kaynağı dakikalar içinde bulunur ve aynı koşulda tekrar olursa otomatik uyarı üretecek bir kural tanımlanır.
Aynı kurgu güvenlik tarafında da işe yarar. Aynı hesaptan kısa sürede çok sayıda başarısız oturum açma denemesi birden fazla sunucunun logunda dağınık görünür; merkezi yapıda tek sorguyla toplanır ve bir uyarı kuralına dönüştürülür.
Sık yapılan hatalar
- Her şeyi toplamak: Değeri belirsiz kayıtlar maliyeti artırır ve gerçek sinyali gömer.
- Ayrıştırmayı sona bırakmak: Düzensiz metin loglarıyla çalışmak arama ve panel kurmayı zorlaştırır.
- Saklama politikası koymamak: Depolama beklenmedik anda dolar.
- Hassas veriyi loglamak: Parola, kart numarası ve kişisel veriler loglara karışabilir; kaynakta maskeleme gerekir.
- Erişimi kontrolsüz bırakmak: Loglar çoğu zaman gizli bilgi taşır, rol bazlı erişim şarttır.
- Uyarıları aşırı çoğaltmak: Çok sayıda gereksiz uyarı, gerçek sorunların gözden kaçmasına yol açar.
Bu beceriyi Mindset programlarında nerede çalışırsınız?
Mindset kataloğundaki "Elastic Stack (ELK) ile Merkezi Log Analizi" eğitiminin modülleri merkezi log mimarisi ve bileşenleri, Elasticsearch küme tasarımı, log toplama ve Beats yapılandırması, Logstash ile ayrıştırma ve zenginleştirme, indeks yönetimi ve yaşam döngüsü, Kibana ile arama ve görselleştirme, güvenlik, erişim ve uyum ile performans, izleme ve işletim planını kapsar. "Grafana Loki ile Log Toplama ve Sorgulama" eğitimi ise Loki yaklaşımı, kurulum ve depolama, etiket tasarımı, LogQL ile sorgulama, uyarı ve panel ile ölçek ve maliyet konularını içerir.
İlgili Mindset programı
Elastic Stack (ELK) ile Merkezi Log Analizi
Sık sorulan sorular
ELK ile Grafana Loki arasında nasıl seçim yapılır?
ELK, kayıt içeriğinde tam metin aramayı ve zengin analizi öne çıkarır. Loki ise etiket tabanlı çalıştığı için daha hafif ve maliyet açısından avantajlıdır. Tam metin arama ihtiyacınız ve ekibinizin işletme kapasitesi karar verdirir.
Merkezi log yönetimi için neler gerekir?
Log toplayan ajanlar, kayıtları depolayıp indeksleyen bir sistem, arama ve görselleştirme arayüzü ve yeterli depolama kapasitesi gerekir. Bunların yanında log biçimi, saklama süresi ve erişim kuralları gibi kararlar da önceden verilmelidir.
Log yönetimi ile izleme (monitoring) aynı şey mi?
Hayır, tamamlayıcıdırlar. İzleme sayısal göstergelerle sistemin sağlığını izler ve uyarır. Loglar ise olayın ayrıntılı kaydını verir ve sorunun nedenini bulmaya yardım eder. Örneğin izleme paneli ödeme hata oranının yükseldiğini haber verir; hatanın hangi istekte ve hangi servis mesajıyla oluştuğunu ise loglardan okursunuz. İkisi birlikte kullanıldığında uyarıdan nedene geçmek hızlanır.
Loglar ne kadar süre saklanmalı?
Süre; yasal yükümlülükler, güvenlik politikaları ve operasyonel ihtiyaca göre değişir. Sektörünüze özgü düzenlemeleri kurumunuzun hukuk ve güvenlik ekipleriyle netleştirin. Yaygın yaklaşım katmanlıdır: kayıtlar hızlı ortamda kısa süre tutulur, sonra ucuz depolamaya arşivlenir ve süre dolunca silinir. Güvenlik ve erişim kayıtları genellikle uygulama hata loglarından daha uzun tutulur. Kişisel veri içeren kayıtları gereğinden uzun saklamamak da ayrı bir yükümlülüktür.
İlgili rehberler
İlgili eğitimler
Kategori: DevOps ve Bulut Teknolojileri