Bir Kurum Servisine birden fazla health check atayabilir miyim?
Kısa cevap
Hayır. Kurum Servisinin Health Check alanı tek bir profil alır ve sağlık durumu, Kurum Servisinin kullanıldığı bütün vService'ler için ortaktır. Birden fazla koşulun birlikte denetlenmesi gerekiyorsa tek profil olarak Scenario türü kullanılır: alt denetimler AND/OR ile birleştirilir ve her alt denetim farklı türde ve farklı adreste olabilir (Senaryo içindeki denetimlerin alanları). Alternatif olarak bağımlılıkları özetleyen bir sağlık adresi ve JSONata kontrolü ya da TCP, UDP ve Oracle türlerindeki çok adımlı senaryolar kullanılır.
Nasıl Çalışır?
Scenario profili, Scenario alanında tanımlanan alt denetimlerin sonuçlarını birleştirir:
- Alt denetimler alanın yanındaki + butonuyla açılan pencerede tanımlanır; pencerede Check Type Scenario dışındaki 15 türden biri olur (varsayılan TCP).
- Her alt denetimin HC Address anahtarı kapalıyken (Backend Address) denetim Kurum Servisinin adresine, açıkken (Static Address) girilen adres ve porta gider.
- Alt denetimler AND (hepsi başarılı olmalı) ya da OR (en az biri başarılı olmalı) ile gruplanır.
- Alt denetimler her turda anlık sonucuyla değerlendirilir; Period ve Timeout üst profilden alınır, Required Successes ve Required Failures senaryonun birleşik sonucuna uygulanır.
| Seçenek | Ne sağlar | Nerede |
|---|---|---|
| Scenario | Birden fazla alt denetimi AND/OR ile birleştirir (ör. web için HTTP ve veritabanı için TCP 3306) | Health Checks → Check Type: Scenario |
| Sağlık adresi + JSONata | Uygulama bağımlılıklarını tek bir /health yanıtında özetler; JSONata ifadesi hepsini denetler (Health Check'te JSON yanıtını alan bazında doğrulayabilir miyim (Content Check Mode: JSONata Expression)?) | HTTP/HTTPS → Content Check Mode: JSONata Expression |
| TCP / UDP / Oracle senaryosu | Tek protokol içinde çok adımlı gönder/bekle diyaloğu | TCP Scenario, UDP Scenario, Oracle Scenario |
| Expression (JSONata) alt denetimi | Bir ağ denetimini cihaz ya da saat koşuluyla birleştirir (ör. yalnız cluster'ın 1. cihazında) | Scenario alt denetiminde Check Type: Expression (JSONata) |
Use Different IP for Health Check ek bir denetim değildir; yalnızca tek denetimin hedef adresini değiştirir.
TR7'de
- Scenario profili: Load Balancer → Profiles → Health Checks → Add → Check Type: Scenario; daha önce oluşturulmuş profiller senaryoda kullanılamaz, alt denetimler senaryonun içinde tanımlanır. Scenario'nun ana formunda Expect Negative Result bulunmaz; alt denetimlerde bulunur.
- WEB-CLI: Scenario türü WEB-CLI'da yoktur; arayüzden oluşturulur.
- Backend Group: Grupta tek profil grup düzeyinde seçilir ve gruptaki her sunucuya ayrı ayrı uygulanır; sunucu başına farklı profil atanamaz.
- İzleme: Profil önizlemesinin Details sekmesindeki Scenario satırı koşul ağacını gösterir; Health Checks sekmesinde kayıt özetinde tür Scenario yazar.
Sık Karıştırılan Noktalar
- "Her vService için ayrı health check atarım." Sağlık durumu Kurum Servisine bağlıdır; bütün vService'lerde aynıdır.
- "Scenario'yu WEB-CLI'dan kurarım." Scenario yalnızca arayüzde oluşturulur.
- "Mevcut profilleri Scenario'da birleştiririm." Senaryo içinde yeni alt denetimler tanımlanır; var olan profiller seçilemez.
- "Gruptaki sunuculara farklı profil veririm." Profil grup düzeyindedir; farklı denetim için ayrı gruplar ya da tekil Kurum Servisleri kullanılır.
Dokümantasyonda nasıl yapılır
