Monitör Bağımlılıkları (Bağlam Motoru)

UptimeWarden'a bir monitörün başka bir monitöre bağlı olduğunu söyleyin: API'den veritabanına, CDN'den kaynağa. Bağımlılıklar açıklamalara bağlam ekler, Zincir Bastırma'yı çalıştırır ve Servis Haritası'nı besler.

API'nizdeki bir 500 nadiren kök nedendir. API veritabanına bağlıdır, veritabanı bir kopyaya, kopya bir ağ bağlantısına, o da bir DNS kaydına bağlıdır. Bir şey kırmızıya döndüğünde kök, uyarıyı üreten monitörden genellikle bir-iki adım uzaktadır.

UptimeWarden bu topolojiyi açıkça modellemenize izin verir. Oluşan grafik üç yere besler:

  1. Açıklamalar. Sağlık tahminleri, öneriler ve gruplu alarm ipuçları bağımlılıklarınızı okur; böylece bir ipucu tahmin yürütmek yerine "veritabanı bağımlılığı da düştü" diyebilir. Bu yine de kontrol edilecek bir ipucudur, hüküm değildir.
  2. Zincir Bastırma, kök hâlâ ateş açıyorken aşağı akıştaki olaylar bastırılmış durumda açılır. Bildirim ve eskalasyon tetiklenmez.
  3. Servis Haritası, bağımlılık grafının görsel sunumu.

Monitör başına tanımladıklarınız

Her monitör için şu bilgileri kaydedebilirsiniz:

AlanDeğerler
OrtamÜretim, hazırlık, geliştirme veya test
Servis kategorisiAPI, veritabanı, önbellek, kuyruk, CDN veya depolama
Bağımlılık grubuSerbest etiket, örneğin payment-stack, auth-chain
KritiklikKritik, yüksek, orta (varsayılan) veya düşük
İş etiketleriSerbest etiketler (en fazla 20 adet, her biri 50 karaktere kadar)
Dağıtım meta verisiSağlayıcı, bölge, tip gibi serbest ayrıntılar
Tespit edilen stackYanıt başlıklarından otomatik doldurulur (sunucu, çalışma zamanı, CDN vb.)

Zincir Bastırma ve açıklamalar bağımlılık grubunu hızlı bir arama anahtarı olarak kullanır; tutarlı etiketleme zaman içinde değer kazanır.

Monitörler arasında tanımladıklarınız

Bir bağımlılık, bir monitörden başka bir monitöre yönlü bir kenardır:

AlanDeğerler
MonitörBağımlı monitör (tüketici)
Bağlı olduğuBağımlı olduğu monitör (sağlayıcı)
Bağımlılık tipiÇalışma zamanı (varsayılan), veri veya ağ

Bir monitör kendine bağlı olamaz ve aynı bağımlılık iki kez eklenemez. Daha derin döngüler, bastırma algoritması grafı yürürken tespit edilir; döngü varsa bastırma reddedilir.

Kurulum

Monitör başına bağlam

Monitör detay sayfasında Bağlam sekmesini açın:

  • Ortam, servis kategorisi ve kritikliği seçin.
  • Bağımlılık grubu etiketi ekleyin (Zincir Bastırma hesabınız içinde grup düzeyinde çalışır).
  • Gerektikçe iş etiketi ve dağıtım meta verisi ekleyin.

Tespit edilen stack alanı salt-okunurdur, bir HTTP monitörü ucu sınadığında UptimeWarden bu alanı kendisi doldurur.

Bağımlılık eklemek

Yönlü bir bağımlılık kenarı ("A, B'ye bağlıdır") bağımlı monitörden eklenir: Monitör A'nın sayfasında Bağlam → Bağımlılıklar → Ekle yolunu izleyip Monitör B'yi seçin ve kaydedin.

Servis Haritası'nda ayrıca bir Bağlantı Modu (Link Mode) düğmesi vardır, açıp iki düğüme tıklayarak aralarında elle bir korelasyon kaydedebilirsiniz. Korelasyon, ilişkili monitörlere dair bir ipucudur; yönlü bir bağımlılık kenarı değildir. Özellikle "A, B'ye bağlıdır" demek istiyorsanız Bağlam sekmesini kullanın.

Bağımlılıklar açıklamaları nasıl güçlendirir?

Bir olay açıldığında veya bir tahmin üretildiğinde açıklama adımı şunları görür:

  • Başarısız monitörün doğrudan bağımlılıkları (bir adım).
  • Her bağımlılık için: güncel durum, son yanıt süresi, açık olayı olup olmadığı.
  • Aynı bağımlılık grubundaki kardeş monitörler (kaç tanesinin de başarısız olduğu).

Bu bağlamla "API X 503 ile başarısız; veritabanı bağımlılığı Y de düştü; önbellek bağımlılığı Z yeşil" türünden bir bağlam, "API X 503 alıyor" cümlesine kıyasla çok daha iyi bir başlangıç noktasıdır.

Zincir Bastırma

Zincir Bastırma aktif olarak çalışır. Kurallar:

  • Genel açma/kapama: hesap yöneticiniz özelliği genel olarak kapatabilir.
  • İki anahtar, ikisi de varsayılan kapalı: yöneticinizin açtığı genel bir aç/kapat anahtarı ve plan ayarlarınızdan açılan plan bazlı bir tercih (tüm planlarda varsayılan kapalı).
  • Arama derinliği: algoritma bağımlılık grafında en fazla 10 adım yürür.
  • Sessizlik penceresi: bir aşağı akış arızası, üst akış çözüldükten sonraki 60 saniye içinde gelirse hâlâ zincir parçası sayılır.
  • Döngü reddi: önerilen ana monitör aslında çocuk monitöre bağlıysa bastırma yapılmaz.

Bastırılan olaylar "zincir bastırması" durumuyla yazılır; ilgili üst akış olayına işaret eder, zincir derinliğini ve karar anını taşır. Bildirim, eskalasyon ve durum sayfası yayını bastırılan olaylar için tamamen atlanır.

Yakında: üst akış çözüldükten sonra hâlâ düşük durumdaki bir çocuğu otomatik olarak açık olaya yükselten tarama (promotion sweep) planlanıyor ancak henüz yayınlanmadı. Şimdilik, bir üst akış kurtulurken çocuk hâlâ düşük kalırsa bastırılan olayı zaman çizelgesinden inceleyin.

Otomatik tespit (yol haritası)

Bugün bağımlılıklar kullanıcı tarafından tanımlanır. Trafik desenlerinden otomatik tespit ("API her seferinde veritabanı düştükten 30 saniye sonra başarısız oluyor, kenar çıkar") yol haritasındadır.

UptimeWarden monitörler arasındaki zaman ve URL bazlı ilişkileri zaten kaydeder ve bilgilendirme amaçlı gösterir. Bu ilişkiler henüz otomatik bağımlılık kenarına dönüştürülmez.

Benzer monitörler

Bağımlılıklar, sisteminiz hakkında sizin bildiklerinizi anlatır. Benzer monitörler ise verinin kendiliğinden fark ettiklerini gösterir: aralarında bir bağ tanımlamış olsanız da olmasanız da davranışları birlikte hareket eden monitörler.

Bu paneli tahmin ayrıntısının içinde bulursunuz: Forecasts sayfasında bir monitörün kartını açın ve Benzer monitörler bölümüne bakın. Panel, tahmin edilen eğilimi kararlı olmayan monitörler için gösterilir; çünkü ortak bir nedeni elemenin asıl anlamlı olduğu an odur.

Her satırda diğer monitör, bir benzerlik puanı ve benzerliğin nereden geldiğini gösteren üç çubuk yer alır: yanıt süresi, çalışma süresi deseni ve olay zamanlaması. Puan ağırlıklı bir bileşimdir: en büyük payı yanıt süresi ile çalışma süresi taşır, ardından olay zamanlaması gelir; hata mesajı örtüşmesi ve günün saatine göre profil ise kalan payı oluşturur. Listeye yalnızca 0,6 ve üzeri puan alan çiftler girer; panel bunları orta (0,6-0,8) veya güçlü (0,8 ve üzeri) olarak etiketler. Güçlü bir çift zincir riski notuyla işaretlenir. Bunun okunuşu şudur: bu ikisi yeterince sık birlikte düşüyor, muhtemelen ortak bir şeyi paylaşıyorlar, bir veritabanı, bir ağ geçidi, bir ağ yolu, ve onları ayrı sorunlar olarak ele almadan önce bunu kontrol etmek gerekir.

Somut bir örnek: ödeme API'niz ile arama API'niz ayrı monitörler ve aralarında tanımlı bir bağımlılık yok; buna rağmen 0,87 puan alıyorlar. Biri diğerine "neden olmuyor"; ikisi de aynı yük dengeleyicinin arkasında duruyor. Panel, siz modellemeden bunu görünür kılar; yapılacak iş de bağımlılığı eklemektir, böylece yukarıdaki Zincir Bastırma bölümünde anlatılan davranış bundan sonra devreye girebilir.

Puanlar her sayfa açılışında değil, her sağlık tahmini analizinden sonra yeniden hesaplanır; dolayısıyla yeni oluşturduğunuz bir monitörün burada görünmesi için en az bir analiz turu geçmesi gerekir. O ana kadar panel, boş bir liste gösterip "ilişki yok" izlenimi vermek yerine henüz korelasyon bulunmadığını açıkça söyler. Hesabın tamamı istatistikseldir; hiçbir dil modeli çalışmaz.

Servis Haritası

Servis Haritası sayfası bağımlılık grafınızı görselleştirir:

  • Düğümler kritikliğe göre boyutlandırılır, güncel duruma göre renklenir.
  • Kenarlar bağımlılık tipine göre etiketlenir.
  • Starter ve üzeri planlarda kullanılabilir.

Planınız Servis Haritası'nı içermiyorsa burada bir yükseltme önerisi görürsünüz.

Sık sorulan sorular

S: Kaç kenar eklemeliyim? C: Yalnızca gerçek bir bağımlılık olduğunda. B'nin başarısızlığı genelde A'yı düşürüyorsa. Servis başına 1-3 dışa yönelik kenar pratik bir üst sınırdır; aşırı modelleme grafı gürültüye çevirir.

S: Ortamı doldurmazsam bağımlılıklar yine kullanılır mı? C: Evet, bağımlılık tek başına bağlam ekler. Ancak ortam ve kritiklik bağlamı daraltır. Üretimde kritik bir veritabanının başarısızlığı, hazırlıkta düşük kritiklikteki bir veritabanının başarısızlığıyla aynı yorumlanmaz.

S: Servisim aktif olarak izlemediğim bir yönetilen veritabanı (RDS, Cloud SQL) kullanıyor. Yine de bağımlılık olarak ekleyebilir miyim? C: Uca düşük frekanslı (örneğin 10 dakikada bir) bir ping veya TCP monitörü oluşturun. Bu monitör bağımlılık hedefi olur ve grafta görünür.

S: Zincir Bastırma yanlış bir olayı sustu, gerçekten ayrı bir sorun vardı. C: Bastırılan olay zaman çizelgesinde görünür; bastırmayı açıklayan bir zaman çizelgesi kaydı da bulunur (hangi üst akış olayına atfedildiği, zincir derinliği ve bildirim/eskalasyonun atlandığı bilgisi). Bastırma yanlışsa monitörler arasındaki kenar yanlıştır; düzeltin.

İlgili konular