Saat 03:14'te sayfa çalıyor. Zihinden geçen üç soru var: Ne oluyor, neden oluyor, şimdi ne yapmalıyız? Gözlemlenebilirlik tam olarak budur — bu soruları gece yarısı içgüdüsüyle değil, toplanmış veriyle cevaplamayı mümkün kılan sistem. Metrikler ilk soruyu, loglar ve dağıtık izler ikincisini, iyi yazılmış runbook'lar üçüncüsünü taşır. Eksik olan halka, genellikle o geceki uzunsu aramanın sebebidir.
Üç sütun, üç soruya hizmet eder
Metrikler ucuzdur ve topludur; neyin bozulduğunu söyler ama nedenini söylemez. Loglar bağlamı taşır; hata anında çevrede ne olduğunu anlatır. İzler ise isteğin hizmetler arasındaki yolculuğunu gösterir; gecikmenin hangi sınırda biriktiğini bulur. Üçünü birlikte kurmak şart değil, sırayı kurmak şart: önce metrikle yakala, logla açıkla, izle doğrula. Yalnız metrik toplayan bir ekip alarm bilir, sebep bilmez; yalnız log toplayan ekip sebep ararken dakikalar yitirir.
# Hata oranını hizmet bazında hesaplayan temel sorgu
sum(rate(http_requests_total{status=~"5.."}[5m])) by (service)
/
sum(rate(http_requests_total[5m])) by (service)
Alarm, soru değil kapı olmalı
Kötü alarm insanı uykudan eder ama hiçbir soruya cevap vermez: "CPU yüzde seksenin üstünde" bir gerçektir, bir eylem değildir. İyi alarm kullanıcıyı etkileyen bir belirtiye bağlanır — ödeme başarı oranının eşik altına inmesi gibi — ve açıldığında koşulacak kapıyı gösterir. Bu kapının adı runbook'tur: alarmin yanında, ölçümün nereden geldiğini, olası iki üç sebebi ve ilk müdahale adımlarını yazan kısa bir belge. Runbook'suz alarm, gece uyanıp beyaz tahta aramaktır.
Şimdi ne yapmalıyız: prova ve dürüst postmortem
Üçüncü sorunun cevabı sakin kafayla yazılır, baskı altında okunur. Bu yüzden runbook'lar yazıldığı gün değil, provada denenmiş olduğu gün değer kazanır: çeyrekte bir, uyarı ortamında kasıtlı arıza açın ve ekibin akışı izleyerek çözmesini seyredin. Olay kapandıktan sonra ise suçsuz bir postmortem — ne gördük, nerede yakalayamadık, hangi alarmı ekleyeceğiz — bir sonraki geceyi kısaltır.
Gözlemlenebilirlik bir ürün panosu değil, soru-cevap disiplinidir. Üç soruyu da hızlıca cevaplayabildiğiniz gün, olayların adı "olay" olmaktan çıkar, "geçici kesinti" olur — ve ekib, gece yarısı telefonuna bakarken sakin kalır.
Bu disiplinin en ucuz yapı taşı iz kimliğidir: isteğin ağ geçidine girdiği anda bir kimlik alın, her log satırına ve her alt servise yapılan çağrıya o kimliği taşıyın. Böyle yapıldığında üç sorunun cevabı tek sorguya iner — iz kimliğini yazdığınızda metrik, log ve iz aynı sayfada yan yana dizilir. Kimlik taşımayan sistemde ise aynı bilgiyi parçalara ayırmak, zaman damgalarını elle eşlemek demektir; olay gecesinde bunu yapacak sakinlik kimsede olmaz. Bir gün ayırıp iz bağlamını uçtan uca geçirin; gözlemlenebilirlik yatırımının getiri oranının en yüksek kalemi, pahalı araçlar değil bu küçük tutarlılıktır. Araç seçiminin geri kalanı zaten kolaylaşır: bağlam taşıyan sistem, hangi panoyu kullığınızdan bağımsız olarak üç soruyu da cevaplar. Bir sonraki olay gecesi telefon çaldığında yapılacak iş, sezgiye değil ekranda hazır bekleyen cevaba kalır. O gece en değerli araç, en hızlı cevap veren alışkanlıktır.
Okur Yorumları (0)