Tünel süreciniz çalışırken korunan bağlantı kullanılamaz olabilir ve başarısız olan bir web sayfası tünelin bozulduğunun kanıtı değildir. Tek bir sonda diğerlerinin yerini tuttuğunda, yeniden başlatma ilkesi yanlış bileşeni yeniden başlatır ve buna otomasyon der. Aşağıdaki her kontrol gözlediği katmanı, hatasının tetiklediği eylemi ve eylemin işe yaradığına dair kanıtı adlandırır. Son adım tüm kümeyi gece saat üçte birinin izleyebileceği bir sayfaya dönüştürür.

Adım 1: her kontrolün gözlediği katmanı adlandırın

Herhangi birini yazmadan önce her sondanın gerçekte ne görebildiğini sorun. Canlılık daemonun çalıştığını, el sıkışma veya eş listesi ilişkinin var olduğunu, yönlendirilmiş istek teslimatı, arama ise çözümlemeyi kanıtlar. Tam olarak bu sırayla başarısız olurlar ve hiçbiri bir sonrakini ima etmez. Yeşil bir süreç kontrolü ölü bir tünelin yanında dururken bu normal durumdur, çelişki değil.

Dört kontrolü bu sırayla yazın; her biri için tam komut ve beklenen çıktı ile birlikte. Beklenen çıktısını söyleyemediğiniz bir sondayı uyarıyı gören her operatör farklı okuyacaktır. Aynı listeyi yalnızca runbook’a değil uyarı metnine de koyun, gece uyandırılan kişi belirtiden önce katmanla karşılaşsın. Her komutu çalıştıran ana makinede kopyalanmaya hazır tutun.

Ardından uygulama kontrolünü beşinci, ayrı bir madde olarak ekleyin. Hesap hizmeti çökmüş bir sayfa tünelin yeniden başlatılmasını haklı çıkarmaz.

Adım 2: her hatayı tek bir eyleme bağlayın

Her kontrol için neyin yeniden başlatılacağına, neyin engelli kalacağına ve neyin bir insanı çağıracağına karar verin. Tünel katmanı hatası tünelin yeniden başlatılmasını haklı çıkarabilir; çözümleyici hatası istemcideki DNS entegrasyonunu işaret eder; uygulama katmanı hatası tünele neredeyse hiç dokunmamalıdır.

Hatanın ne yapmaması gerektiğini söyleyin, çünkü tehlikeli varsayılanlar izin verenlerdir. Sağlıksız bir durum asla doğrudan uygulama trafiği için izne dönüşmemelidir, çünkü tüneli sessizce atlayan bir yedek yol tünelin var olma nedenini ortadan kaldırır. Eylemleri de daraltın: bir hedef yavaş diye ortak bir bileşeni yeniden başlatmak yerel bir sorunu tüm filonun sorununa dönüştürür. Ayrıca nedeni bulmak için ihtiyaç duyduğunuz kanıtı da yok eder.

Adım 3: sondaları zararsız ve ucuz tutun

Küçük, yalnızca okuma amaçlı istekler kullanın: statik bir kaynak, kendi bağımlılığını bildiren bir sağlık uç noktası veya denetlediğiniz bir bağlantı noktasına TCP bağlantısı. Kimlik bilgilerinden, özel gezinmeden ve her aralıkta durumu değiştiren her şeyden kaçının, çünkü yazan bir sonda zamanlanmış bir yük testidir.

Her sonda için hedefi, yol beklentisini ve zaman aşımını kaydedin. Yol beklentisi insanların atladığı alandır ve uyarıyı daha sonra okuduğunuzda tünel arızasını yönlendirme hatasından ayıran da odur. Aralığı ve hata eşiğini vaat ettiğiniz kurtarma süresinden türetin ve zaman aşımını aralıktan kısa tutun. Bir sonraki başladığında hâlâ çalışan sonda bir hatayı iki kez bildirir ve titreme gibi görünür.

Adım 4: her katmanı kırın ve doğru sondanın kırmızıya döndüğünü görün

Tünel sürecini durdurun ve DNS hâlâ önbellekten yanıt verebilirken süreç kontrolünün başarısız olduğunu doğrulayın. Bir yolu değiştirin ve süreç ile el sıkışma sağlıklı kalırken yönlendirilmiş isteğin başarısız olduğunu doğrulayın. Yalnızca DNS’i kırın ve uygulama kontrolünün tünel hatası yerine çözümleme bildirdiğini doğrulayın. İki sonda her zaman birlikte hareket ediyorsa düşündüğünüzden daha az kontrolünüz var.

Kurtarma yönünü aynı disiplinle test edin. Katmanı geri yükledikten sonra sonda elle yeniden başlatma olmadan temizlenmelidir ve tetiklenen eylem arkasında hiçbir atlatma bırakmamalıdır. Yeşil duruma güvenmeden önce tam bir döngü izleyin, çünkü yalnızca elle temizlenen bir sonda bozuk bir kurtarma yolunu gizler.

Adım 5: runbook’u uyarının işaret ettiği yere koyun

Beş satırlık bir sayfa tüm tasarımı taşır: katman, komut, beklenen sonuç, hatada eylem, sahip. Her sonda için bilerek neyi test etmediğine dair bir satır ekleyin. Tam o satır, bir sonraki kişinin her şeyi ölçen ve hiçbir şeyi ayırt etmeyen altıncı bir kontrol eklemesini engeller. Sayfayı uyarı metninden bağlayın, yoksa olay sürerken kimse açmaz.

Konteyner dağıtımlarında bağımlılık koşulu başlangıcı biçimlendirir ve başka hiçbir şeyi. Compose başlangıç sırası ve sağlık koşulu belgeleri hazır bulunuşluğun hizmetlerin başlama sırasını nasıl belirlediğini açıklar; bunların hiçbiri sonradan bir çıkış ilkesi uygulamaz ve hiçbiri tünel düştüğünde kapalı biçimde başarısız olmaz. Sürekli uygulama kendi ilkesini ve kendi sondasını gerektirir, aynı sayfada yazılmış.

Runbook, doğru katman kimse erişilemeyen bir web sitesini bozuk tünel diye okumadan kurtarıldığında tamamlanır. Bu tüneli değil, belgeyi test eder.

İlgili makaleler