Skip to content
Smarter by Design.Simpler for Business

lb hc ​

lb hc komutu, arka uçların ayakta olup olmadığını ölçen sağlık denetimlerini oluşturur. Denetim bir arka uca ya da arka uç grubuna bağlanır; belirlenen aralıkla çalışır ve ardışık başarı ya da başarısızlık sayısına göre hedefi sağlıklı veya sağlıksız işaretler. Panel karşılığı Health Checks ekranıdır.

İlk yazılan alan checkType'tır

Denetimin protokolü önce seçilir; hangi alanların isteneceğini bu seçim belirler. Tür yazılmadan name bile listelenmez.

Komut Özeti ​

TR7 WEB-CLI · lb hc
# komuttan sonra Tab
admin@TR7LBWAF01> lb hc
add delete list show update update-many
 
admin@TR7LBWAF01> lb hc list # hepsini listele
admin@TR7LBWAF01> lb hc show <kimlik> # birini göster
admin@TR7LBWAF01> lb hc add checkType <tür> name <ad> …
admin@TR7LBWAF01> lb hc update id <kimlik> … # değiştir
admin@TR7LBWAF01> lb hc update-many target <hedef> … # toplu değiştir
admin@TR7LBWAF01> lb hc delete <kimlik> # sil
admin@TR7LBWAF01>  

Yazım Sırası ​

Adım 1 Denetim türünü seç
On dört tür vardır: lb hc add checkType http
Adım 2 Adı yaz
name web-denetimi
Adım 3 Türün zorunlu alanlarını yaz
DNS'te sorgu, FTP ve LDAP'ta kimlik, Oracle'da bağlantı bilgisi istenir.
Adım 4 Eşikleri ayarla ve arka uca bağla
lb backend update id <arka-uç> --hc <denetim>

Zorunlu Alanlar ​

SıraAlanDurumDeğer
1checkTypeZorunlutcp · tcps · ping · http · https · dns · ftp · ftps · ldap · ldaps · smtp · smtps · oracle · udp
2nameZorunluDenetimin adı
3queryKoşullu zorunluYalnız dns; sorgulanacak ad
3 · 4ftpUser · ftpPasswordKoşullu zorunluYalnız ftp ve ftps; parola komuttan sonra gizli sorulur
3 · 4ldapUsername · ldapPasswordKoşullu zorunluYalnız ldap ve ldaps; parola satıra yazılır
3–5oracleUser · oraclePassword · oracleConnectionStringKoşullu zorunluYalnız oracle; parola komuttan sonra gizli sorulur
—dnsTextToExpectKoşullu zorunluYalnız dns ve --dnsExpectType text yazıldığında; hemen ardından öneksiz yazılır

Denetim türü bu komutta bir ayırıcıdır: türe özel zorunlu alanlar satırda -- ile başlayan alan olsa bile öneksiz yazılır ve hepsi tamamlanmadan -- ile başlayan hiçbir alan kabul edilmez.

Denetimin hedef adresi bu komutta yazılmaz: denetim bağlandığı arka ucun adresini kullanır. Farklı bir adres denetlenecekse lb backend kaydındaki --useDifferentIp ve --differentIp.ip alanlarıyla verilir.

Denetim Türleri ​

checkTypeNe yaparTüre özel zorunlu alanlar
tcpTCP bağlantısı kurar; adım senaryosu yazılabilir—
tcpsTLS'li TCP bağlantısı kurar—
pingICMP ile erişilebilirliğe bakar—
httpHTTP isteği gönderir ve yanıtı denetler—
httpsTLS'li HTTP isteği gönderir—
dnsDNS sorgusu yaparquery
ftpFTP oturumu açarftpUser · ftpPassword
ftpsTLS'li FTP oturumu açarftpUser · ftpPassword
ldapDizine bağlanırldapUsername · ldapPassword
ldapsTLS'li dizin bağlantısı kurarldapUsername · ldapPassword
smtpSMTP sunucusuna bağlanır—
smtpsTLS'li SMTP bağlantısı kurar—
oracleVeritabanına bağlanır ve sorgu çalıştırabiliroracleUser · oraclePassword · oracleConnectionString
udpUDP paketi gönderir; adım senaryosu yazılabilir—

Her Türde Bulunan Eşik Alanları ​

AlanNe yaparArkasına ne yazılır
--testIntervalDenetimin hangi aralıkla tekrarlanacağını belirlerSaniye (varsayılan 1)
--timeoutYanıt için ne kadar bekleneceğini belirlerSaniye (varsayılan 1)
--requiredSuccessHedefin sağlıklı sayılması için gereken ardışık başarı sayısını belirlerSayı (varsayılan 3)
--requiredFailureHedefin sağlıksız sayılması için gereken ardışık başarısızlık sayısını belirlerSayı (varsayılan 2)
--negateSonucu tersine çevirir: başarısızlık sağlıklı sayılırtrue · false (varsayılan false)

TLS Alanları ​

tcps, https, ftps, ldaps, smtp ve smtps türlerinde ortaktır.

AlanNe yaparArkasına ne yazılır
--virtualDomainBağlantıda Host ve SNI olarak gönderilecek adı belirlerAlan adı
--verifyCertificateSunucunun sertifikasının doğrulanmasını açartrue · false (varsayılan false)
--tlsVerifyCaDoğrulamada kullanılacak CA profilini seçerlb ca kaydı; yalnız --verifyCertificate true iken açılır
--tlsClientCertKarşılıklı doğrulamada sunulacak istemci sertifikasını seçerSertifika kaydı

HTTP ve HTTPS Alanları ​

AlanNe yaparArkasına ne yazılır
--uriİstenecek yolu ve sorguyu belirlerYol, örneğin /saglik
--methodİstek yöntemini seçerHTTP yöntemi (varsayılan GET)
--httpVersionKullanılacak HTTP sürümünü seçer1.1 (varsayılan) · 2
--httpHeaders.N.name · --httpHeaders.N.valueİsteğe başlık eklerBaşlık adı ve değeri; her çift kendi indeksiyle
--httpBodyİstek gövdesini yazarGönderilecek gövde metni
--expectedStatusCodes.NBaşarı sayılacak durum kodlarını belirlerDurum kodu (varsayılan 200); birden çoğu kendi indeksiyle
--contentCheckModeYanıt gövdesinin nasıl denetleneceğini seçerbasic metin eşleşmesi (varsayılan) · jsonata ifade
--contentQueryYanıtta aranacak metni yazarBeklenen metin; --contentCheckMode basic iken kullanılır
--jsonataQueryYanıtı JSONata ifadesiyle denetlerJSONata ifadesi; --contentCheckMode jsonata iken kullanılır

DNS Alanları ​

AlanNe yaparArkasına ne yazılır
querySorgulanacak adı belirlerAlan adı; dns türünde zorunludur
--reverseDnsAdres yerine PTR kaydı sorgulartrue · false (varsayılan false); açıldığında kayıt türü sorulmaz
--rrTypeSorgulanacak kayıt türünü seçerA (varsayılan) · AAAA · CAA · CNAME · MX · NAPTR · NS · PTR · SOA · SRV · TXT
--dnsExpectTypeYanıtın nasıl denetleneceğini seçernone (varsayılan) · text · regex
dnsTextToExpectYanıtta aranacak metni yazarBeklenen metin; --dnsExpectType text yazıldığında zorunlu olur ve öneksiz yazılır
--dnsRegexToExpectYanıtta aranacak düzenli ifadeyi yazarDüzenli ifade; --dnsExpectType regex iken açılır

FTP, LDAP, SMTP ve Oracle Alanları ​

AlanNe yaparArkasına ne yazılır
ftpUser · ftpPasswordFTP oturumunu açacak kimliği taşırKullanıcı adı ve parola; ftp ve ftps türlerinde zorunludur
--ftpActionDenetimin nereye kadar gideceğini seçeronlyLogin yalnız oturum açar (varsayılan) · loginAndList dizin de listeler
--ftpPathListelenecek dizini belirlerSunucudaki yol
ldapUsername · ldapPasswordDizine bağlanacak kimliği taşırKullanıcı adı ve parola; ldap ve ldaps türlerinde zorunludur. Parola gizli olarak sorulur
--ldapAuthYalnız bağlantıyı değil, kimlik doğrulamasını da denertrue · false (varsayılan false)
--smtpHeloSunucuya gönderilecek EHLO adını belirlerAlan adı; smtp ve smtps türlerinde yazılır
--smtpStartTlsBağlantının STARTTLS ile şifrelenmesini açartrue · false (varsayılan false); yalnız smtp türünde açılır
oracleUser · oraclePasswordVeritabanına bağlanacak kimliği taşırKullanıcı adı ve parola; oracle türünde zorunludur
oracleConnectionStringVeritabanı bağlantı bilgisini taşırBağlantı dizesi; oracle türünde zorunludur

Senaryo Adımları ​

tcp, tcps, udp ve oracle türlerinde denetim, sırayla çalışan adımlardan oluşur. Her adım kendi indeksini alır; önce adımın ne yapacağı seçilir, sonra o adımın alanları yazılır.

tcp ve tcps ​

AlanNe yaparArkasına ne yazılır
--tcpScenario.N.tcpActionAdımın ne yapacağını seçersendText veri gönderir · expectText metin bekler · expectRegex düzenli ifade bekler · wait bekler
--tcpScenario.N.textToSendGönderilecek veriyi yazarMetin; tcpAction sendText iken açılır
--tcpScenario.N.dataFormatGönderilen verinin biçimini seçertext (varsayılan) · hex · base64; tcpAction sendText iken açılır
--tcpScenario.N.textToExpectYanıtta aranacak metni yazarBeklenen metin; tcpAction expectText iken açılır
--tcpScenario.N.regexToExpectYanıtta aranacak düzenli ifadeyi yazarDüzenli ifade; tcpAction expectRegex iken açılır
--tcpScenario.N.tcpWaitMsAdımın ne kadar bekleyeceğini belirlerMilisaniye; tcpAction wait iken açılır

udp ​

AlanNe yaparArkasına ne yazılır
--udpScenario.N.udpActionAdımın ne yapacağını seçersend veri gönderir · wait bekler · expectText metin bekler · expectRegex düzenli ifade bekler
--udpScenario.N.dataToSendGönderilecek veriyi yazarVeri; udpAction send iken açılır
--udpScenario.N.dataFormatGönderilen verinin biçimini seçertext (varsayılan) · hex · base64; udpAction send iken açılır
--udpScenario.N.textToExpectYanıtta aranacak metni yazarBeklenen metin; udpAction expectText iken açılır
--udpScenario.N.regexToExpectYanıtta aranacak düzenli ifadeyi yazarDüzenli ifade; udpAction expectRegex iken açılır
--udpScenario.N.udpWaitMsAdımın ne kadar bekleyeceğini belirlerMilisaniye; udpAction wait iken açılır

oracle ​

AlanNe yaparArkasına ne yazılır
--oracleScenario.N.oracleActionAdımın ne yapacağını seçerexecuteCmd sorgu çalıştırır · wait bekler
--oracleScenario.N.oracleCmdÇalıştırılacak sorguyu yazarSQL ifadesi; oracleAction executeCmd iken açılır
--oracleScenario.N.oracleExpectedTextSonuçta aranacak metni yazarBeklenen metin; oracleAction executeCmd iken açılır
--oracleScenario.N.oracleExpectedMinRowsSonucun en az kaç satır dönmesi gerektiğini belirlerSatır sayısı; oracleAction executeCmd iken açılır
--oracleScenario.N.oracleWaitMsAdımın ne kadar bekleyeceğini belirlerMilisaniye; oracleAction wait iken açılır

Örnekler ​

TR7 WEB-CLI · A) HTTP denetimi
admin@TR7LBWAF01> lb hc add checkType http name web-denetimi \
--uri /saglik --method GET --expectedStatusCodes.0 200 \
--contentCheckMode basic --contentQuery "ok" --testInterval 5 --timeout 3
admin@TR7LBWAF01>  
TR7 WEB-CLI · B) TLS doğrulamalı ve senaryolu denetimler
admin@TR7LBWAF01> lb hc add checkType https name tls-denetimi \
--virtualDomain portal.kurum.com.tr --verifyCertificate true --tlsVerifyCa <ca>
 
# iki adımlı TCP senaryosu: metin gönder, yanıtı bekle
admin@TR7LBWAF01> lb hc add checkType tcp name tcp-senaryo \
--tcpScenario.0.tcpAction sendText --tcpScenario.0.textToSend "PING" \
--tcpScenario.1.tcpAction expectText --tcpScenario.1.textToExpect "PONG"
admin@TR7LBWAF01>  
TR7 WEB-CLI · C) DNS, LDAP ve arka uca bağlama
admin@TR7LBWAF01> lb hc add checkType dns name dns-denetimi query portal.kurum.com.tr \
--rrType A --dnsExpectType text dnsTextToExpect 10.0.10.21
 
# parola gizli olarak sorulur
admin@TR7LBWAF01> lb hc add checkType ldap name ldap-denetimi ldapUsername cn=probe ldapPassword <parola> --ldapAuth true
 
admin@TR7LBWAF01> lb backend update id <arka-uç> --hc <denetim>
admin@TR7LBWAF01>  

Güncelleme ve Silme ​

TR7 WEB-CLI · güncelleme ve silme
admin@TR7LBWAF01> lb hc update id <kimlik> --testInterval 10 --requiredFailure 3
 
# senaryo adımını çıkarma · adım listesini boşaltma
admin@TR7LBWAF01> lb hc update id <kimlik> --tcpScenario.1.delete
admin@TR7LBWAF01> lb hc update id <kimlik> --tcpScenario.delete
 
admin@TR7LBWAF01> lb hc delete <kimlik>
admin@TR7LBWAF01>  

Toplu Güncelleme ​

update-many, aynı değişikliği birçok sağlık denetimi kaydına birden uygular. Yazım sırası her kaynakta aynıdır.

Adım 1 Hedefi seç
Tek zorunlu alan target: selected listeden seçilen kayıtlar, all koleksiyonun tamamı.
Adım 2 Yazılacak alanları ekle
Yalnız birçok kayda aynı değerle yazılabilen alanlar bulunur; kimlik, ad ve denetim türü ve ad gibi kayda özgü alanlar bu komutta yer almaz.
Adım 3 Hedefleri listeden işaretle
target selected yazılıp kimlik verilmediğinde onay kutulu seçim listesi açılır.
Adım 4 Onayla
Kaç kaydın etkileneceğini yazan uyarı çıkar; onay sözcüğü yazılmadan hiçbir şey yazılmaz.
AlanDurumDeğer
targetZorunluselected — listeden seçilen kayıtlar · all — koleksiyonun tamamı
--ids.NKoşullutarget selected için hedef kimlikleri. Tab listesinde önerilmez: hedefler seçim listesinden işaretlenir. Betikte ve boru hattında elle yazılır.
--onErrorİsteğe bağlıabort (varsayılan) — hedeflerden biri bile doğrulamadan geçmezse hiçbir şey yazılmaz · skip — geçen hedefler yazılır

Yazılabilen Alanlar ​

TR7 WEB-CLI · update-many · Tab çıktısı
# komuttan sonra Tab
admin@TR7LBWAF01> lb hc update-many
--info target
 
# target alanından sonra Tab
admin@TR7LBWAF01> lb hc update-many target
all selected
 
# -- yazıp Tab: yazılabilen alanların tamamı
admin@TR7LBWAF01> lb hc update-many target all --
--contentCheckMode               --contentQuery                   --dnsExpectType
--dnsRegexToExpect               --dnsTextToExpect                --expectedStatusCodes.N
--ftpAction                      --ftpPassword                    --ftpPath
--ftpUser                        --httpBody                       --httpHeaders.N.name
--httpHeaders.N.value            --httpVersion                    --info
--jsonataQuery                   --ldapAuth                       --method
--negate                         --onError                        --oracleConnectionString
--oraclePassword                 --oracleScenario.N.oracleAction  --query
--requiredFailure                --requiredSuccess                --reverseDns
--rrType                         --smtpHelo                       --smtpStartTls
--tcpScenario.N.tcpAction        --testInterval                   --timeout
--tlsClientCert                  --tlsVerifyCa                    --udpScenario.N.udpAction
--uri                            --verifyCertificate              --virtualDomain
admin@TR7LBWAF01>  

Komutta 39 alan bulunur; yukarıdaki liste cihazda -- yazıp Tab'a basıldığında çıkanın aynısıdır. Her birinin ne yaptığı ve arkasına ne yazıldığı aşağıdaki tablodadır.

Tekil komutta koşula bağlı olan alanlar (bir başka alanın değerine göre açılanlar) burada koşulsuz listelenir: toplu güncellemede her hedef kendi kaydına göre ayrı doğrulanır, alan bir hedefte aktif değilse yalnız o hedefte atlanır.

AlanNe yaparArkasına ne yazılır
--infoKomutu çalıştırmadan ne yapacağını yazarDeğer almaz; tek başına yazılır
--onErrorBir hedef doğrulamadan geçmezse ne olacağını belirlerabort hiçbir şey yazmaz (varsayılan) · skip geçen hedefleri yazar
--testIntervalDenetimin hangi aralıkla tekrarlanacağını belirlerSaniye (varsayılan 1)
--timeoutYanıt için ne kadar bekleneceğini belirlerSaniye (varsayılan 1)
--requiredSuccessSağlıklı sayılmak için gereken ardışık başarı sayısını belirlerSayı (varsayılan 3)
--requiredFailureSağlıksız sayılmak için gereken ardışık başarısızlık sayısını belirlerSayı (varsayılan 2)
--negateSonucu tersine çevirir: başarısızlık sağlıklı sayılırtrue · false (varsayılan false)
--virtualDomainBağlantıda Host ve SNI olarak gönderilecek adı belirlerAlan adı
--verifyCertificateSunucunun sertifikasının doğrulanmasını açartrue · false (varsayılan false)
--tlsVerifyCaDoğrulamada kullanılacak CA profilini seçerlb ca kaydı; --verifyCertificate true ile birlikte anlamlıdır
--tlsClientCertKarşılıklı doğrulamada sunulacak istemci sertifikasını seçerSertifika kaydı
--uriHTTP denetiminde istenecek yolu ve sorguyu belirlerYol, örneğin /saglik
--methodHTTP istek yöntemini seçerHTTP yöntemi (varsayılan GET)
--httpVersionKullanılacak HTTP sürümünü seçer1.1 (varsayılan) · 2
--httpHeaders.N.name · --httpHeaders.N.valueHTTP isteğine başlık eklerBaşlık adı ve değeri; her çift kendi indeksiyle
--httpBodyHTTP istek gövdesini yazarGönderilecek gövde metni
--expectedStatusCodes.NBaşarı sayılacak durum kodlarını belirlerDurum kodu (varsayılan 200); birden çoğu kendi indeksiyle
--contentCheckModeYanıt gövdesinin nasıl denetleneceğini seçerbasic metin eşleşmesi (varsayılan) · jsonata ifade
--contentQueryYanıtta aranacak metni yazarBeklenen metin; --contentCheckMode basic iken kullanılır
--jsonataQueryYanıtı JSONata ifadesiyle denetlerJSONata ifadesi; --contentCheckMode jsonata iken kullanılır
--queryDNS denetiminde sorgulanacak adı belirlerAlan adı
--reverseDnsAdres yerine PTR kaydı sorgulartrue · false (varsayılan false)
--rrTypeSorgulanacak DNS kayıt türünü seçerA (varsayılan) · AAAA · CAA · CNAME · MX · NAPTR · NS · PTR · SOA · SRV · TXT
--dnsExpectTypeDNS yanıtının nasıl denetleneceğini seçernone (varsayılan) · text · regex
--dnsTextToExpectDNS yanıtında aranacak metni yazarBeklenen metin; --dnsExpectType text iken kullanılır
--dnsRegexToExpectDNS yanıtında aranacak düzenli ifadeyi yazarDüzenli ifade; --dnsExpectType regex iken kullanılır
--ftpUser · --ftpPasswordFTP oturumunu açacak kimliği taşırKullanıcı adı ve parola
--ftpActionFTP denetiminin nereye kadar gideceğini seçeronlyLogin yalnız oturum açar (varsayılan) · loginAndList dizin de listeler
--ftpPathListelenecek dizini belirlerSunucudaki yol
--ldapAuthDizinde yalnız bağlantıyı değil, kimlik doğrulamasını da denertrue · false (varsayılan false)
--smtpHeloSunucuya gönderilecek EHLO adını belirlerAlan adı
--smtpStartTlsBağlantının STARTTLS ile şifrelenmesini açartrue · false (varsayılan false)
--oracleConnectionStringVeritabanı bağlantı bilgisini taşırBağlantı dizesi
--oraclePasswordVeritabanına bağlanacak parolayı taşırParola
--tcpScenario.N.tcpActionTCP senaryosundaki adımın ne yapacağını seçersendText · expectText · expectRegex · wait
--udpScenario.N.udpActionUDP senaryosundaki adımın ne yapacağını seçersend · wait · expectText · expectRegex
--oracleScenario.N.oracleActionOracle senaryosundaki adımın ne yapacağını seçerexecuteCmd · wait

Tekil komutta bulunup burada olmayan alanlar ve nedenleri:

AlanNeden yok
checkTypeDenetimin türü kaydın kimliğini belirler; toplu değiştirilemez
nameAd benzersizdir; aynı değer birçok kayda yazılamaz
ldapUsernameDizin kullanıcı adı kayda özgüdür
ldapPasswordParola alanı toplu yazılmaz
oracleUserVeritabanı kullanıcı adı kayda özgüdür
tcpScenario.N.textToSendSenaryo adımlarının içerik alanları adım kimliğine bağlıdır
udpScenario.N.dataToSendAynı biçimde adıma özgüdür
oracleScenario.N.oracleCmdAynı biçimde adıma özgüdür

Hedef Seçimi ve Onay ​

TR7 WEB-CLI · seçim listesi ve onay
admin@TR7LBWAF01> lb hc update-many target selected --testInterval 10
 
?  Hedef nesneler
    boşluk: işaretle · ctrl+a: tümü · enter: onayla
    Filtre: (yazarak filtreleyin) · esc: iptal
 
  [x] <kayıt-1>
  [x] <kayıt-2>
  [ ] <kayıt-3>
    2 seçili / 3
 
⚠  2 nesne güncellenecek
    <kayıt-1>, <kayıt-2>
 
Devam etmek için "evet" yazın: evet
admin@TR7LBWAF01>  
TR7 WEB-CLI · tüm koleksiyon ve betik yazımı
# koleksiyonun tamamı: liste açılmaz, doğrudan onay gelir
admin@TR7LBWAF01> lb hc update-many target all --requiredFailure 3
⚠  Bu işlem koleksiyondaki TÜM nesneleri güncelleyecek
Devam etmek için "evet" yazın:
 
# betikte ya da boru hattında: hedefler elle yazılır, liste açılmaz
admin@TR7LBWAF01> lb hc update-many target selected \
--ids.0 <kimlik-1> --ids.1 <kimlik-2> --testInterval 10 --onError skip
admin@TR7LBWAF01>  

Ekran dili kullanıcıya bağlıdır

Seçim listesindeki ve onay ekranındaki metinler, oturum açan kullanıcının dil tercihine göre gelir. İngilizce arayüzde onay sözcüğü yes, Türkçe arayüzde evet olur.

Toplu güncellemenin ayrıntılı davranışı — hangi alanların toplu yazılabildiği ve her hedef için dönen rapor — API Commands sayfasındadır.

Bilinmesi Gerekenler ​

  • Denetim tek başına çalışmaz. Bir arka uca (lb backend → --hc) ya da arka uç grubuna bağlandığında başlar.
  • Hedef adres bu komutta yazılmaz. Denetim bağlandığı arka ucun adresini kullanır; farklı bir adres denetlenecekse arka uç kaydındaki --useDifferentIp ve --differentIp.ip alanları verilir.
  • Tür alanları belirler. checkType seçildikten sonra yalnız o türün alanları listelenir; -- ile Tab o türün tamamını gösterir.
  • Parolalar gizli sorulur. ldapPassword gibi parola alanları ekranda görünmeden istenir ve güncellemede yeniden sorulur.
  • Senaryo adımları sırayla çalışır. Adımlar indeks sırasına göre yürütülür; aradan bir adım çıkarıldığında sonraki indeksler kayar.