ELK Stack (Elasticsearch, Logstash, Kibana): Merkezi Log Yönetimi

  • Konbuyu başlatan Konbuyu başlatan irfo
  • Başlangıç tarihi Başlangıç tarihi

irfo

Moderatör
Katılım
7 Ocak 2026
Mesajlar
290
Tepkime puanı
2
Puanları
18
Modern sistemlerde uygulama sayısı ve sunucu çeşitliliği arttıkça, hata ayıklamak (troubleshooting) için her sunucuya ayrı ayrı SSH ile bağlanıp tail -f /var/log/nginx/error.log yazmak sürdürülebilir bir yöntem olmaktan çıktı. DevOps dünyasında bu karmaşayı çözen en popüler çözüm; Elasticsearch, Logstash ve Kibana üçlüsünden oluşan ELK Stack'tir.

ELK Stack, farklı kaynaklardan gelen milyonlarca satır logu toplar, anlamlandırır ve tek bir merkezden aranabilir hale getirir.

ELK Stack Bileşenleri Nelerdir?​


Bu güçlü yapıyı oluşturan üç ana parça, bir fabrikanın bölümleri gibi uyum içinde çalışır:

  • [] Elasticsearch (Depolama & Arama): Sistemin beynidir. Log verilerini JSON formatında saklayan ve ultra hızlı arama yapmanıza olanak tanıyan bir arama motorudur. [] Logstash (İşleme & Filtreleme): Bir veri boru hattıdır (pipeline). Farklı kaynaklardan gelen ham logları alır, parçalar, temizler ve Elasticsearch'e uygun hale getirir.
  • Kibana (Görselleştirme): İşin vitrinidir. Elasticsearch'teki verileri görselleştiren, dashboardlar oluşturan ve loglar içinde kolayca arama yapmanızı sağlayan arayüzdür.

Beats: Hafif Veri Taşıyıcılar​


Modern ELK yapılarında, sunuculara Logstash kurmak yerine çok daha az kaynak tüketen Beats (Filebeat, Metricbeat vb.) kullanılır. Filebeat, log dosyalarındaki her yeni satırı anında yakalar ve işlenmesi için Logstash'e gönderir.

AraçGörevi
FilebeatLog dosyalarını toplar.
MetricbeatSistem metriklerini (CPU, RAM) toplar.
PacketbeatAğ trafiğini izler.

Örnek: Logstash Yapılandırması​


Logstash'in gelen bir Nginx logunu nasıl parçaladığını gösteren temel bir yapılandırma dosyası:

Kod:
 input { beats { port => 5044 } }

filter { if [type] == "nginx-access" { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } } }

output { elasticsearch { hosts => ["localhost:9200"] index => "logs-%{+YYYY.MM.dd}" } }

Neden Merkezi Log Yönetimi Kullanmalısınız?​


  • [] Korelasyon (İlişkilendirme): Aynı anda 5 farklı serviste oluşan hataları tek bir zaman tünelinde görerek sorunun kaynağını saniyeler içinde bulabilirsiniz. [] Gerçek Zamanlı Analiz: Uygulamanızda kaç kullanıcının 404 hatası aldığını anlık olarak izleyebilirsiniz. [] Güvenlik: Başarısız giriş denemelerini veya şüpheli IP adreslerini tespit ederek otomatik alarmlar kurabilirsiniz. [] Dökümantasyon: Geçmişe dönük log saklayarak sistem performansınızı aylar bazında kıyaslayabilirsiniz.

XenForo Forum Sahipleri İçin Senaryo​


Forum siteniz anlık yavaşladığında veya beyaz sayfa (HTTP 500) hatası verdiğinde, ELK Stack üzerinden şu aramayı yaparak saniyeler içinde hatayı bulabilirsiniz: "status:500 AND message: 'PHP Fatal Error'". Hangi dosyanın, hangi satırda, hangi eklenti yüzünden hata verdiğini SSH ile uğraşmadan görebilirsiniz.

Sonuç​


ELK Stack, "samanlıkta iğne arama" devrini bitirip log verilerini birer altın madenine dönüştürür. Başlangıçta kurulumu ve yönetimi biraz zahmetli (özellikle kaynak tüketimi açısından) olsa da, profesyonel bir DevOps altyapısı için vazgeçilmez bir unsurdur.
 
Geri
Üst