Gözlemlenebilirlik

Gözlemlenebilirlik, bir sistemin içinde neler olduğunu dış sinyallerine bakarak anlayabilme yeteneğidir. Neden-sonuç bağlarını, belirtilere dönüşmeden önce görme alışkanlığıdır. Mühendislik pratiğinin, «bir şey kırıldı»yı «tam olarak neyin ve neden kırıldığını biliyoruz»a dönüştüren parçasıdır. Kendi projelerimizi yapıyoruz ve sorunları kullanıcılardan önce fark etmek bizim için önemli. İdeal olarak, durum hâlâ küçük bir metrik sapmasıyken, o gece yarısı telefonlarıyla gelen bir olaya dönüşmeden çok önce.

Sinyaller
Bağlam
Disiplin

İyi gözlemlenebilirlik dediğimiz şey

İyi gözlemlenebilirlik «neden ve tam olarak nerede» sorusuna yanıt verir. Kullanıcının yolunu aydınlatır, bozulmayı gösterir, bir yayın sonrası regresyonu yakalar, sakince geri alabilme imkânı verir. Küçük şeyler için susar, gerçekten gerektiğinde yüksek sesle konuşur. Kötü gözlemlenebilirlik, kimsenin bakmadığı on uyarı, hiçbir şey bulunamayan otuz grafikli bir pano, üzerinde filtreleme yapılamayan düz metin loglardır. İyisi ise sistemin sağlığını gerçekten tanımlayan üç metrik ve arama saniyeler süren yapılandırılmış loglardır. «Üç sütun» yaklaşımını seviyoruz — metrikler, loglar, izler. Metrikler «ortalamada ne oluyor» sorusuna, loglar «belirli bir anda ne oldu» sorusuna, izler «bir isteğin sistemden nasıl geçtiği» sorusuna yanıt verir. Her sütun tek başına faydalıdır. Sihir, onlar birbirine bağlandığında başlar: bir metrik uyarısından loglara, loglardan bir ize, izden koda geçersin.

Özel ön uç izleme

Ayrı bir sevgimiz özel ön uç izlemedir. Tarayıcıda gerçek hataları ve performansı görürsün, veriler senin altyapının içinde kalır. Üçüncü taraf servislere aktarım olmadan, ek bağımlılık olmadan, kullanıcılarının başkasının reklam modelinin trafiği olmasına izin vermeden. Stack'i Grafana Faro, OpenTelemetry ve olay kabulü için kendi backend'imiz üzerinde kuruyoruz. Böyle bir çözüm, beş dakikada bir SaaS bağlamaktan daha pahalıdır. Bir yıl sonra dış bağımlılık olmadan çalışan, olay sınırı olmayan, sahip olma maliyeti öngörülebilir bir altyapın olur.

Tek bir tablo

Backend ve frontend sinyalleri birlikte yaşadığında, verileri elle bağlamayı bırakır ve sistemi tek seferde bütün olarak görmeye başlarsın.

Mühendislik pratiği olarak uyarılar

Bir uyarı kurmak kolaydır. Onu yalnızca gerçekten eylem gerektiğinde tetiklenecek şekilde ayarlamak zordur. Şu kurala uyuyoruz: tetiklenip hiçbir şey yapmayı gerektirmeyen bir uyarı kötü bir uyarıdır. Belki eşik yanlış konmuştur. Belki metrik yanlış seçilmiştir. Belki sorun zaten otomatik çözülmüştür ve insan boş yere bildirim alır. Bu yüzden bizde her uyarı bir filtreden geçer: tam olarak ne ihlal edildi, neden önemli, hangi eylem bekleniyor, nereye bakılmalı. Bu sorulara net yanıtlar olduğunda uyarı kalır. Böyle uyarılar nadiren ve her zaman amacına uygun tetiklenir.

Bu, projelerimizde nasıl görünüyor

Sinyalleri, karar almaya yardım edecek şekilde topluyoruz: hangi denemeleri yapmak, neyi optimize etmek, darboğazın nerede olduğu, bir hatanın kaça mal olduğu. Yardımcı olduğu yerlerde, inancı bilgiyle değiştirmek için olayları ve denemeleri etiketlemenin hızlı yollarını ekliyoruz. Kullanıcı trafiği olan ürünlerde varsayılan olarak Core Web Vitals içeren bir panelimiz, ülke ve cihaza göre dökümlerimiz, dağılımın «kuyruğuna» ayrı bir bakışımız vardır — çünkü ortalamalar neredeyse her zaman yalan söyler. Backend servislerinde, belirli bir isteğin neden yedi saniye sürdüğünü anlamanın mümkün olmadığı, zincirin tamamı boyunca tracing vardır. «Galiba kötüleşti»den «işte metrik, işte neden, işte regresyon anı»na geçmek istiyorsan — tam olarak bizim tarzımız budur.

Durum

Yetkinlik aktiftir ve projelerimizle birlikte büyür — çünkü gözlemlenebilirlik olmadan her karmaşık sistem hızla bir dolanmaya dönüşür. Sıfırdan projeleri almaya (stack'i kurmak, uyarıları yapılandırmak, ekibi eğitmek) ve mevcut bir pano hayvanat bahçesini çözme görevlerine hazırız: neyi bırakmak, neyi çıkarmak, neyi yerine koymak.

Sonraki
İncil Araması

İncil Araması

Kutsal Kitap metinlerini aramak ve incelemek için ortodoks araç. Hızlı arama, çeviri karşılaştırması, yorumlar ve çocuk modu.