Atlassian, mikro hizmet ortamlarında olayların kök neden analizinin artık yalnızca manuel incelemeye dayanamayacağını düşünüyor. Yüzlerce birbirine bağlı hizmet birden fazla bölgede çalıştığında, tek bir arıza büyük miktarda metrik, günlük ve iz üretirken nöbetçi mühendis genellikle ayrı panolar arasında gezinmek ve sorunun kaynağı ile yayılma yolu hakkında zihinsel bir hipotez oluşturmak zorunda kalıyor.
CNCF blogundaki bir yazıda Atlassian'dan Santosh Balaranganathan, Michael Yoo, James Moessis, James Kieltyka, Jason Lee ve Lavender Neesham, kök neden analizini otomatikleştirmeyi amaçlayan bir sistemi açıklıyor. Sistem, hipotez oluşturmayı otomatikleştirerek müdahale ekibinin kanıtları manuel olarak yeniden bir araya getirmek yerine doğrulama ve çözüm aşamasına daha hızlı geçmesini hedefliyor.
Kök neden analizini çok sinyalli bir ilişkilendirme problemine dönüştürmek
Tasarım, üç kanıt katmanını ilişkilendirmeye dayanıyor: sinyal türü, zaman ve hizmet topolojisi. Sinyaller metrikleri, günlükleri ve izleri kapsarken zamansal eşzamanlılık ilişkili olabilecek olayları belirliyor; hizmet bağımlılıkları grafiği ise arızayı başlatan hizmet ile daha sonra bundan etkilenen hizmeti ayırt etmeye yardımcı oluyor.
Süreç, OpenTelemetry'den türetilen bir hizmet haritası aracılığıyla arama kapsamını daraltarak başlıyor. Sistem, platformdaki tüm hizmetleri analiz etmek yerine, kötüleşen kullanıcı deneyiminin yolunda bulunan hizmetleri belirliyor ve genellikle yüzlerce yerine onlarca hizmetten oluşan bir kapsam oluşturuyor. Harita, belgelerde varsayılan yapıyı değil, üretim trafiğindeki zaman aralıkları arasındaki üst-alt ilişkilerinden çıkarılan gerçek iletişimleri yansıtıyor.
İzleme verilerinden önceliklendirilmiş hipotezlere
Kapsam belirlendikten sonra bağımsız modüller her sinyal türünde anormallikleri tespit ediyor. Metriklerde Atlassian, medyan mutlak sapma ve yüzdelik dilim aralıkları gibi istatistiksel yöntemleri kullanarak RED göstergelerini, yani istek oranını, hata oranını ve yanıt süresini izliyor. Her anormallik durumu bir şiddet değeri, gözlemlenen değer ve ondan sapılan temel değer üretiyor.
Dağıtık izler ise beklenmeyen istisnalar, yeni hata yayılımı örüntüleri ve belirli aralıklarda yanıt süresindeki artışlar açısından inceleniyor. Günlüklerde, anlamsal olarak benzer girdileri bir araya getirmek için gömme tabanlı kümeleme teknikleri kullanılıyor; ardından hizmetin olağan dağılımıyla karşılaştırıldığında yeni veya nadir hata kümeleri öne çıkarılıyor.
Tüm algılayıcılar sonuçlarını zaman damgası, hizmet adı, sinyal türü, şiddet derecesi ve ayrıntıları içeren ortak bir şemaya sahip olaylara dönüştürüyor. Bu katman, ilişkilendirme motorunun olayları her algılayıcının durumu nasıl keşfettiğine bağlı olmadan analiz etmesini sağlıyor. Ayrıca tüm sistemi yeniden kurmadan yeni algılayıcıların eklenmesine veya bir istatistiksel modelin makine öğrenimine dayalı başka bir modelle değiştirilmesine olanak tanıyor.
Arızanın yönünü belirlemek için zaman ve bağımlılık grafiği
Motor, birbirine yakın olayları genellikle artı veya eksi beş dakika olan, ayarlanabilir bir zaman penceresinde bir araya getiriyor. Her grup için zamansal tutarlılık puanı hesaplanıyor; olaylar birbirine ne kadar yakınsa ilişkili olma olasılığı da o kadar artıyor. Aynı hipotezin onlarca kez tekrarlanmasını önlemek için sistem hizmet dizileri için parmak izleri kullanıyor ve yinelenen hata zincirlerini, yeniden başlatma sayısını da belirterek tek bir grupta birleştiriyor. Böylece beş dakika içinde 47 kez tekrarlanan bir hata örüntüsü, birbirinin aynı 47 hipotez oluşturmak yerine tek bir örüntü olarak tanımlanabiliyor.
Ardından sistem, en çok etkilenen düğümü veya kendi adlandırmasıyla uç düğümü belirliyor ve kendisinden önce zamansal olarak anormallik gösteren hizmetleri aramak için bağımlılık grafiği üzerinde geriye doğru ilerliyor. Hizmet B, hizmet A tarafından çağrılıyorsa ve B'deki sorun A'daki sorundan önce ortaya çıktıysa, B arızanın kaynağı için daha güçlü bir aday hâline geliyor; A'daki sorun ise daha sonraki bir etki olarak değerlendiriliyor. Nihai değerlendirme, hipotezleri sıralamak için zamansal tutarlılığı ve yayılma yolu puanını birleştiriyor.
Sonuç yalnızca hizmetlerin ve güven puanlarının bir listesinden ibaret değil. Her hipotez; şüpheli hizmeti, yayılma yolunu ve her düğümdeki kanıtları, örneğin sınırlarını aşan metrikleri veya hatayla ilişkili iz kimliklerini içeriyor. Buna ek olarak olayların sırasını ve belirli bir kaynağın neden daha olası görüldüğünü açıklayan, insan dilinde yazılmış bir anlatım sunuluyor.
Bu metodoloji operasyon ekipleri için neden önemli?
Buradaki pratik değer, müdahale mühendisinin yerini almak değil, test edilebilir bir hipoteze ulaşmak için gereken süreyi azaltmak. Atlassian, kök neden analizi motorunu olaylara müdahale için daha geniş bir platforma bağlıyor. Bu platform; arızanın kullanıcı üzerindeki etkisini keşfetmeyi, sorumlu ekibi belirlemeyi ve mevcut kanıtlara dayanarak bir sürümü geri alma veya özellik bayrağını devre dışı bırakma gibi eylemler önerebilen bir olay asistanını kapsıyor. Platform ayrıca mühendislerin hipotezi kabul edip etmediğini, reddedip etmediğini veya değiştirdiğini kaydederek zaman içinde ağırlıkları iyileştiriyor.
Deneyim, her sinyal için karmaşık makine öğrenimi modelleri oluşturmaktansa açıklanabilir, basit yöntemlerle başlamanın daha uygun olabileceğini gösteriyor. Medyan mutlak sapma ve yüzdelik dilim aralıkları gibi yöntemler, metriklerdeki birçok anormalliği tespit etmek için yeterli olurken, istatistiksel yöntemlerin daha az uygun olduğu günlüklerin kümelenmesi ve iz yapısının analizi için makine öğrenimi yöntemleri kullanıldı.
Ancak metodoloji sınırlamaları ortadan kaldırmıyor. Hipotezlerin kalitesi, izleme verilerinin tutarlılığına, hizmet bağımlılıkları grafiğinin doğruluğuna ve algılayıcıların gerçek arıza ile gürültüyü ayırt etme kapasitesine bağlı. Ayrıca güven puanı nedenselliğin kesin kanıtı değil. Bu nedenle Atlassian, her kanıtın kaynağının ve onu sonuca bağlayan anlatımın gösterilmesinin önemini vurguluyor. Şirket ileride, ek veri talep edebilen ve hipotezleri değiştirebilen, dil modellerine dayalı bir biçimin kullanımını araştırıyor; bunun için hız sınırları, yalıtılmış yürütme ve kanıt kaynağına ilişkin açık bir kayıt şart koşuluyor.
certi.news'in editoryal değerlendirmesi: Bu yaklaşımın gerçek değişimi, olay analizini ayrı araçlar arasında manuel karşılaştırma yapmaktan çıkarıp sinyali, zamanı ve topolojiyi birleştiren birleşik bir sürece taşımak. Operasyonel başarısı yalnızca sıralama algoritmasına değil, açıklanabilirliğe, veri kalitesine ve geri bildirim döngülerine bağlı olacak. Bu nedenle modülerlik, tekrarların ortadan kaldırılması ve kanıtların belgelenmesi, kök neden analizinin tamamen otomatikleştirileceği vaadinden daha hemen uygulanabilir ilkeler gibi görünüyor.