Sobes.tech
Middle

Log analizi konusundaki deneyiminizden bahsedin.

sobes.tech yapay zeka

AI'dan gelen yanıt

Log analizi, hata ayıklama, izleme ve olayların temel nedenlerini bulmak için kullanıldı.

Ana kullanım senaryoları:

  • Hata arama: Uygulama, sunucu veya veritabanı loglarında hata, uyarı ve istisnaların tanımlanması.
  • Performans teşhisi: Yanıt süresi, CPU yükü, bellek kullanımı gibi metriklerin izlenmesi, sistem veya uygulama loglarından analiz edilmesi.
  • Olay soruşturması: Sistem bileşenlerinin loglarına dayanarak arızaya yol açan olayların kronolojisinin yeniden oluşturulması.
  • Sistem durumu izleme: Loglarda kritik olaylar veya hatalar için uyarı ayarları.
  • Kullanıcı davranış analizi: API veya web sunucusuna yapılan isteklerin loglarına dayanarak kullanıcı eylemlerinin sıralanması.

Araçlar ve yaklaşımlar:

  • Metin düzenleyiciler ve komut satırı araçları: Küçük projeler veya yerel analizler için Linux/Unix sistemlerinde grep, awk, sed kullanıldı.
  • Merkezi loglama sistemleri: ELK yığını (Elasticsearch, Logstash, Kibana), Grafana Loki ile çalıştı. Bu sistemler farklı kaynaklardan logları toplayıp merkezi olarak depolama, indeksleme ve görselleştirme sağlar. Kibana veya Grafana kullanımı rutin hale geldi.
  • Yapısal loglama: Geliştirme ekiplerine, JSON gibi, ayrıştırmayı kolaylaştıran log formatlarını kullanmaları ve istekleri birbirine bağlayan Korelasyon ID'leri eklemeleri önerildi.
  • İzleme ve uyarılar: Prometheus ve ELK, Grafana gibi sistemlerde kritik hatalar veya uyarıların sayısındaki artışlar için uyarı kuralları ayarlandı.

ELK kullanarak hata arama örneği:

  1. Olayın tanımlanması (örneğin, kullanıcı şikayeti).
  2. Kibana’ya erişim, ilgili log indeksinin seçilmesi.
  3. Anahtar kelimeler veya filtreler girilmesi (örneğin, kullanıcı ID’si, istek zamanı, mikroservis adı).
  4. level: ERROR veya level: WARNING alanına göre arama.
  5. Hata bağlamını belirlemek ve hatayı tetikleyen modülü veya fonksiyonu tanımlamak için stacktrace ve çevresindeki loglar analiz edilir.
{
  "@timestamp": "2023-10-27T10:30:00.123Z",
  "level": "ERROR",
  "message": "Veritabanı bağlantısı başarısız",
  "service": "user-service",
  "correlation_id": "abc-123",
  "error": {
    "type": "SQLException",
    "message": "Bağlantı reddedildi",
    "stacktrace": "..." // Tam stacktrace burada olacak
  },
  "user_id": "user-xyz"
}

Log analizi, ürünün test ve destek sürecinin kritik bir parçasıdır ve sorunların hızlı tespiti ve lokalizasyonunu sağlar.