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,sedkullanı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:
- Olayın tanımlanması (örneğin, kullanıcı şikayeti).
- Kibana’ya erişim, ilgili log indeksinin seçilmesi.
- Anahtar kelimeler veya filtreler girilmesi (örneğin, kullanıcı ID’si, istek zamanı, mikroservis adı).
level: ERRORveyalevel: WARNINGalanına göre arama.- 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.