Hangi health check türleri destekleniyor?
Kısa cevap
Health Checks profilinde 16 tür vardır: TCP, TCPS, UDP, Ping, HTTP, HTTPS, DNS, FTP, FTPS, LDAP, LDAPS, SMTP, SMTPS, Oracle, ağ isteği göndermeden cihaz ve saat bilgisini değerlendiren Expression (JSONata) ve birden fazla denetimi AND/OR mantığıyla birleştiren Scenario. WEB-CLI'da Scenario dışındaki 15 tür kullanılır. Tür, profil oluşturulurken Check Type alanında seçilir ve sonradan değiştirilemez.
Nasıl Çalışır?
Check Type listesinde türler şu sırayla yer alır; varsayılan seçim HTTP'dir. Seçilen türe göre forma o türe özgü alanlar eklenir.
| Tür | Ne denetler | Türe özgü alanlar |
|---|---|---|
| TCP | Portun bağlantı kabul etmesi; isteğe bağlı gönder/bekle adımları | TCP Scenario |
| TCPS | TCP'ye ek olarak TLS bağlantısı | Verify Server Certificate, Virtual Domain (Host/SNI), Verification CA Profile, Client Certificate to Present (mTLS), TCP scenario |
| UDP | Senaryo varsa gönder/bekle adımları; senaryo yoksa boş bir paket gönderir ve yanıt beklemez (servisi doğrulamaz) | UDP Scenario |
| Ping | ICMP yanıtı | – |
| HTTP | İstek, durum kodu ve isteğe bağlı içerik | Path + Query, Method, HTTP version, HTTP headers, HTTP body, Expected Status Codes, Content Check Mode, Virtual Domain (Host/SNI) |
| HTTPS | HTTP'ye ek olarak TLS bağlantısı | HTTP alanları + TLS alanları |
| DNS | Sorgunun yanıtlanması ve isteğe bağlı cevap kontrolü | Query, Reverse DNS (PTR), DNS Record Type, Answer Check Mode |
| FTP / FTPS | Kullanıcı adı ve parolayla giriş; isteğe bağlı dizin listeleme | FTP user, FTP password, FTP Action, FTP path; FTPS'te TLS alanları |
| LDAP / LDAPS | Bağlantı; isteğe bağlı kullanıcı adı ve parolayla kimlik doğrulama | LDAP Authentication; LDAPS'te TLS alanları |
| SMTP / SMTPS | Karşılama ve EHLO yanıtı; SMTP'de isteğe bağlı STARTTLS | EHLO Hostname, Use STARTTLS (yalnızca SMTP); SMTPS'te ve STARTTLS açıkken TLS alanları |
| Oracle | Veritabanı bağlantısı; isteğe bağlı SQL komutu çalıştırıp sonuç kontrolü | User, Password, Connection string, Oracle Scenario |
| Expression (JSONata) | Ağ isteği göndermez; denetimi çalıştıran TR7 cihazının bilgileri (ör. cluster cihaz numarası, cihaz adı) ve yerel saati üzerinde bir JSONata ifadesi değerlendirir. Sonuç doğruysa (truthy) başarılı, yanlışsa ya da ifade hatalıysa başarısız sayılır | JSONata Expression |
| Scenario | Birden fazla alt denetimi AND/OR mantığıyla birleştirir; alt denetimler farklı adreslere gidebilir | Scenario editörü; alt denetimlerde HC address |
Bütün türlerde ortak alanlar: Name, Check type, Expect Negative Result (Scenario hariç), Period, Timeout, Required successes, Required failures (Profil ekleme formu: ortak alanlar).
Tür Seçimi
- Web ve API: HTTP / HTTPS, içerik ya da JSONata kontrolüyle.
- HTTP olmayan TCP servisleri: TCP, gerekirse TCP scenario ile.
- DNS sunucuları: DNS.
- Diğer UDP servisleri: UDP scenario ile UDP.
- E-posta, dizin, dosya sunucuları: SMTP, LDAP, FTP ya da TLS'li karşılıkları.
- Oracle veritabanı: Oracle; diğer veritabanları için TCP ya da TCP scenario.
- Sağlığın cihaza ya da saate bağlanması: Expression (JSONata); ör. bir Kurum Servisinin yalnız cluster'ın 1. cihazında (
device.clusterId = 1) ya da yalnız mesai saatlerinde (time.weekday <= 5 and time.hour >= 9 and time.hour < 18) trafik alması. - Birden fazla koşul: Scenario; Expression (JSONata) da Scenario içindeki alt denetimlerde seçilebilir.
TR7'de
- Profil: Load Balancer → Profiles → Health Checks → Add (Nasıl eklenir?).
- WEB-CLI:
lb hc add checkType <tür> name <ad>biçiminde 15 tür kullanılır; türe göre zorunlu alanlar eklenir (ör.expressiontüründeexpression,dnstüründequery). Scenario WEB-CLI'da yoktur. - Scenario içi: Scenario penceresindeki alt denetimlerde Scenario dışındaki 15 tür seçilebilir; varsayılan TCP'dir.
Sık Karıştırılan Noktalar
- "Profilin türünü sonradan değiştiririm." Tür kayıttan sonra değiştirilemez; yeni profil oluşturulur.
- "MySQL, PostgreSQL için özel tür var." Yoktur; TCP ya da TCP scenario kullanılır.
- "Scenario'yu WEB-CLI'dan oluştururum." Scenario yalnızca arayüzde oluşturulur.
- "Expression (JSONata) sunucuya istek gönderir." Göndermez; sonuç yalnızca cihaz ve saat bilgisine bağlıdır. Sunucunun gerçek durumu için ağ denetimiyle birlikte Scenario içinde kullanılır.
Dokümantasyonda nasıl yapılır
