Kazanimlar:
- Yapay zekayı logları özetleme, gruplama ve zaman çizelgesi kurma için kullanıp gürültüde sinyali hızla bulabilme
- Korelasyon ile nedenselliği ayırıp yapay zekanın kök neden önerilerini doğrulanması gereken hipotez olarak ele alabilme
- '5 Neden' yöntemini yapay zeka ile işletip her adımı gerçek kanıtla destekleyerek gerçek kök nedene inebilme
Log Analizi ve Kök Neden Analizi: YZ ile Gürültüde Sinyali Bulmak
Bir sistem çöktüğünde ilk baktığınız yer loglardır. Log, bir sistemin veya uygulamanın "ne yaptım, ne oldu, ne bozuldu" kaydını zaman damgasıyla tutan metin akışıdır. Ama modern bir altyapı saatte milyonlarca satır log üretir; bu bir bilgi denizi değil, çoğu zaman bir gürültü okyanusudur. Log analizi, bu gürültünün içinde önemli sinyali (hata, anormallik, örüntü) bulma sanatıdır. Bir olaydan sonra "asıl neden neydi" sorusunu yanıtlama sürecine ise kök neden analizi (RCA — Root Cause Analysis) denir. İşte YZ, binlerce satırı saniyede özetleyip örüntü çıkarmakta, zaman çizelgesi kurmakta ve olası nedenleri sıralamakta çok güçlüdür. Ama bir uyarı: YZ olası nedenleri üretir; hangisinin gerçek olduğunu sistemde doğrulayan ve kararı veren sizsiniz.
Bu ünitede logları YZ ile nasıl güvenle özetleyeceğinizi, bir olayın zaman çizelgesini nasıl kuracağınızı, korelasyon (birlikte değişme) ile nedensellik (birinin diğerine sebep olması) farkını nasıl koruyacağınızı ve "5 Neden" gibi bir RCA yöntemini YZ ile nasıl işleteceğinizi öğreneceksiniz.
Neden korelasyon nedensellik değildir?
Bu ünitenin en kritik kavramı budur. İki olay aynı anda gerçekleşiyor diye biri diğerinin nedeni değildir. Bir sunucunun CPU'su ile ağ trafiği aynı anda yükselebilir; ama biri diğerinin sonucu değil, ikisi de üçüncü bir olayın (örneğin bir toplu işin başlaması) sonucu olabilir. YZ, birlikte değişen metrikleri gördüğünde "muhtemelen X, Y'ye neden oldu" diye bir hipotez üretir. Bu bir başlangıç noktasıdır, bir sonuç değil. Nedenselliği doğrulamak için ya değişkeni izole etmeniz (test ortamında X'i tetikleyip Y oluyor mu bakmak) ya da mekanizmayı kanıtlamanız (X'in Y'yi hangi teknik yolla ürettiğini göstermek) gerekir.
Dikkat: YZ'nin "bu muhtemelen buna neden oldu" cümlesini bir hipotez olarak alın, bir bulgu olarak değil. RCA'da yanlış kök neden, yanlış düzeltmeye ve olayın tekrarına yol açar. Nedeni değil, ilk şüpheliyi bulmuşsunuzdur; iş orada başlar.
Adım adım: YZ ile log analizi
- Kapsamı daralt. Tüm logu değil, olay penceresini verin: "olay 14:05'te başladı, 14:00–14:20 arası kritik". YZ'ye ilgili zaman aralığını ve servisi söyleyin.
- Maskele. Loglarda iç IP, host adı, kullanıcı, token olur. Bunları maskeleyin (10.x.x.x, host-A, user1, REDACTED) sonra verin.
- Özet ve gruplama iste. "Bu logu önem düzeyine göre grupla, tekrarlayan hataları say, ilk hatanın zaman damgasını bul." Ham logu değil, yapı isteyin.
- Zaman çizelgesi kur. "Bu olayları zaman sırasına diz ve neyin neyi takip ettiğini göster." İlk domino taşını bulmak, kök nedene giden yoldur.
- Hipotez iste, kanıt değil. "Olası kök nedenleri olasılık sırasına göre listele ve her biri için sistemde çalıştıracağım doğrulama komutunu ver." Sonucu değil, teşhis yolunu isteyin.
- Sistemde doğrula. Her hipotezi salt-okunur teşhis komutlarıyla (log grep, durum sorgusu, metrik) sınayın. Doğrulanan tek bir kök neden kalana kadar eleyin.
5 Neden yöntemi
RCA'nın klasik ve güçlü aracı "5 Neden"dir: bir belirtiden başlayıp beş kez "neden?" diye sorarak yüzeydeki belirtinin altındaki asıl nedene inersiniz. Örnek: "Site çöktü. Neden? Uygulama bellek yetmediği için öldü. Neden? Bir sorgu tüm belleği tüketti. Neden? Sorgu bir dizini kullanmadı. Neden? Son sürümde dizin silindi. Neden? Değişiklik gözden geçirmesinde bu fark edilmedi." Kök neden yüzeydeki "site çöktü" değil, "değişiklik gözden geçirme sürecinin zayıflığı"dır. YZ bu zinciri kurmakta iyi bir ortak olur — ama her "neden" adımını siz gerçek kanıtla desteklemelisiniz, yoksa YZ makul ama yanlış bir zincir uydurabilir.
Üç mini vaka
Vaka 1 — 40.000 satır, 3 dakika. Bir yönetici, gece yaşanan bir kesintide 40.000 satırlık uygulama logunu elle taramaya başlamıştı. Maskelenmiş logun ilgili 20 dakikalık dilimini YZ'ye verip özet ve gruplama istedi. YZ ilk OutOfMemory hatasının 02:14'te, artan timeout hatalarının hemen ardından geldiğini işaretledi. Mühendis 3 dakikada zaman çizelgesini eline aldı; asıl teşhisi kendi metrik panelinde doğruladı.
Vaka 2 — Yanlış kök nedenden dönüş. Bir ekip, disk dolma olayında YZ'nin ilk hipotezini ("loglar diski doldurdu") doğru sandı ve logları temizledi. Ama olay ertesi gün tekrarladı. İkinci turda "5 Neden"i disiplinli işlettiler: gerçek neden bir uygulama hatasının saniyede yüzlerce çekirdek dökümü (core dump) yazmasıydı. İlk hipotez korelasyondu; gerçek neden farklıydı. Doğrulama olmadan kabul, sadece bir günlük erteleme sağlamıştı.
Vaka 3 — Zaman çizelgesi suçluyu buldu. Aralıklı bir ağ kesintisinde onlarca cihazın logu vardı. Mühendis, maskelenmiş logları YZ'ye verip birleşik bir zaman çizelgesi kurdurdu. Çizelge, her kesintinin bir yedeklilik anahtarının (redundancy switch) sağlık kontrolü mesajından tam 30 saniye sonra başladığını gösterdi. Bu korelasyon güçlü bir ipucuydu; ekip anahtarın firmware hatasını cihaz üzerinde doğrulayıp değiştirdi.
Dört kopyalanabilir şablon
1) Log özeti ve gruplama:
Aşağıda [servis] için 14:00-14:20 arası maskelenmiş log var.Bana: (1) satırları önem düzeyine (ERROR/WARN/INFO) göregrupla ve say, (2) tekrarlayan ilk 5 hata örüntüsünü listele,(3) ilk ERROR'ın zaman damgasını bul. Ham logu tekrar yazma,sadece yapılandırılmış özet ver. Uydurma satır ekleme.Log: [maskeli log]
2) Zaman çizelgesi kurma:
Aşağıdaki maskeli olay kayıtlarını tek bir zaman çizelgesinediz (zaman damgası + kaynak + olay). Neyin neyi takip ettiğinigöster ve ilk tetikleyici gibi görünen olayı işaretle.Bunun bir HİPOTEZ olduğunu, nedenselliğin doğrulanmasıgerektiğini not düş. Kayıtlar: [maskeli kayıtlar]
3) 5 Neden RCA ortağı:
Rolün: RCA kolaylaştırıcısı. Belirti: [belirti].Benimle "5 Neden" yap: her adımda bir "neden?" sor,ben elimdeki kanıtla cevaplayayım, sen bir sonraki soruyukur. Kanıtım zayıfsa uyar ve hangi veriyi toplamamgerektiğini söyle. Kanıtsız kök neden ilan etme.
4) Hipotez + doğrulama komutu:
Bu belirti için [belirti] olası kök nedenleri olasılıksırasına göre listele. Her neden için: (a) neden şüpheleniyorsun,(b) sistemimde çalıştıracağım SALT-OKUNUR bir doğrulama komutuver (silme/değiştirme yok). Hangi çıktı hipotezi doğrular yada çürütür, açıkla.
Zayıf prompt / Güçlü prompt
Zayıf prompt:
Bu logda sorun ne? [10.000 satır ham log]
Bu istem hem hassas veriyi maskesiz sızdırır hem de YZ'yi bağlamsız bırakır. YZ rastgele bir satıra takılıp yüzeysel, hatta uydurma bir neden söyleyebilir.
Güçlü prompt:
Rolün: kıdemli SRE. Olay: ödeme servisi 02:10-02:25 arası%50 hata verdi. Aşağıda o pencerenin maskelenmiş logu var.Bana (1) önem düzeyine göre gruplanmış özet, (2) ilk hatanınzaman damgası, (3) olası kök nedenler olasılık sırasıyla veher biri için salt-okunur doğrulama komutu ver. Nedensellikiddialarını hipotez olarak işaretle. Log: [maskeli log]
Adım
Amaç
YZ'nin rolü
İnsanın rolü
Özet/gruplama
Gürültüyü azaltmak
Binlerce satırı yapılandırmak
Kapsamı ve maskeyi belirlemek
Zaman çizelgesi
İlk domino'yu bulmak
Olayları sıralamak
Damgaları doğrulamak
Hipotez üretme
Şüphelileri sıralamak
Olasılıkları listelemek
Bağlamla filtrelemek
Doğrulama
Gerçek nedeni bulmak
Teşhis komutu önermek
Komutu çalıştırıp yorumlamak
Karar
Düzeltmeyi seçmek
Seçenek sunmak
Kararı vermek ve onaylamak
Sık yapılan hatalar
- Korelasyonu nedensellik sanmak. Birlikte değişen iki metriği "biri diğerine neden oldu" diye kabul etmek yanlış düzeltme üretir.
- Ham logu maskesiz yapıştırmak. IP, token ve kullanıcı içeren logu açık araca vermek güvenlik ihlalidir.
- İlk hipotezi kök neden ilan etmek. YZ'nin ilk önerisini doğrulamadan kabul etmek, olayın tekrarına davetiyedir.
- Tüm logu vermek. Bağlamsız devasa log, YZ'yi rastgele bir satıra takar; olay penceresine daraltın.
- Kanıtsız 5 Neden. Her "neden" adımını gerçek veriyle desteklemezseniz, makul ama uydurma bir zincir elde edersiniz.
İpucu: Bir RCA'yı bitirmeden önce "bu kök neden gerçekten düzeltilirse olay bir daha olmaz mı?" sorusunu sorun. Cevap "belki" ise henüz kök nedene inmemişsinizdir; bir "neden" daha sorun.
Özetle
Log analizi, gürültü okyanusunda sinyali bulmaktır; YZ bu okyanusu saniyede özetleyip yapılandırır, zaman çizelgesi kurar ve hipotez üretir. Ama korelasyon nedensellik değildir: YZ'nin önerdiği neden bir başlangıç şüphesidir, doğrulanana kadar bulgu değildir. Logu olay penceresine daraltın, maskeleyin, yapı isteyin, "5 Neden" ile derine inin ve her hipotezi salt-okunur komutlarla sistemde sınayın. Kök nedeni bulan ve düzeltmeyi onaylayan sizsiniz; YZ yol arkadaşınızdır.
Uygulama görevi
Geçmiş bir olayınızın (veya bir test olayının) loglarını alın, olay penceresine daraltın ve tüm hassas alanları maskeleyin. Yukarıdaki "Log özeti" ve "Zaman çizelgesi" şablonlarıyla YZ'den bir özet ve çizelge isteyin. Ardından "5 Neden RCA ortağı" şablonuyla belirtiden kök nedene inin; her adımda kendi kanıtınızı yazın. Son olarak YZ'nin ilk hipotezini bir doğrulama komutuyla sınayın ve doğrulandı mı çürütüldü mü kaydedin. Süreci 6 maddede özetleyin.
Kontrol listesi
- [ ] Logu olay penceresine daralttım ve hassas alanları maskeledim mi?
- [ ] YZ'den ham log değil yapılandırılmış özet ve zaman çizelgesi istedim mi?
- [ ] YZ'nin nedensellik iddialarını hipotez olarak işaretledim mi?
- [ ] Her hipotezi salt-okunur bir doğrulama komutuyla sistemde sınadım mı?
- [ ] "5 Neden"in her adımını gerçek kanıtla destekledim mi?
- [ ] Kök nedenin gerçekten olayı önleyeceğini sorgulayıp kararı ben verdim mi?