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
Yazım Sırası
lb hc add checkType httpname web-denetimilb backend update id <arka-uç> --hc <denetim>Zorunlu Alanlar
| Sıra | Alan | Durum | Değer |
|---|---|---|---|
| 1 | checkType | Zorunlu | tcp · tcps · ping · http · https · dns · ftp · ftps · ldap · ldaps · smtp · smtps · oracle · udp |
| 2 | name | Zorunlu | Denetimin adı |
| 3 | query | Koşullu zorunlu | Yalnız dns; sorgulanacak ad |
| 3 · 4 | ftpUser · ftpPassword | Koşullu zorunlu | Yalnız ftp ve ftps; parola komuttan sonra gizli sorulur |
| 3 · 4 | ldapUsername · ldapPassword | Koşullu zorunlu | Yalnız ldap ve ldaps; parola satıra yazılır |
| 3–5 | oracleUser · oraclePassword · oracleConnectionString | Koşullu zorunlu | Yalnız oracle; parola komuttan sonra gizli sorulur |
| — | dnsTextToExpect | Koşullu zorunlu | Yalnı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
checkType | Ne yapar | Türe özel zorunlu alanlar |
|---|---|---|
tcp | TCP bağlantısı kurar; adım senaryosu yazılabilir | — |
tcps | TLS'li TCP bağlantısı kurar | — |
ping | ICMP ile erişilebilirliğe bakar | — |
http | HTTP isteği gönderir ve yanıtı denetler | — |
https | TLS'li HTTP isteği gönderir | — |
dns | DNS sorgusu yapar | query |
ftp | FTP oturumu açar | ftpUser · ftpPassword |
ftps | TLS'li FTP oturumu açar | ftpUser · ftpPassword |
ldap | Dizine bağlanır | ldapUsername · ldapPassword |
ldaps | TLS'li dizin bağlantısı kurar | ldapUsername · ldapPassword |
smtp | SMTP sunucusuna bağlanır | — |
smtps | TLS'li SMTP bağlantısı kurar | — |
oracle | Veritabanına bağlanır ve sorgu çalıştırabilir | oracleUser · oraclePassword · oracleConnectionString |
udp | UDP paketi gönderir; adım senaryosu yazılabilir | — |
Her Türde Bulunan Eşik Alanları
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--testInterval | Denetimin hangi aralıkla tekrarlanacağını belirler | Saniye (varsayılan 1) |
--timeout | Yanıt için ne kadar bekleneceğini belirler | Saniye (varsayılan 1) |
--requiredSuccess | Hedefin sağlıklı sayılması için gereken ardışık başarı sayısını belirler | Sayı (varsayılan 3) |
--requiredFailure | Hedefin sağlıksız sayılması için gereken ardışık başarısızlık sayısını belirler | Sayı (varsayılan 2) |
--negate | Sonucu tersine çevirir: başarısızlık sağlıklı sayılır | true · false (varsayılan false) |
TLS Alanları
tcps, https, ftps, ldaps, smtp ve smtps türlerinde ortaktır.
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--virtualDomain | Bağlantıda Host ve SNI olarak gönderilecek adı belirler | Alan adı |
--verifyCertificate | Sunucunun sertifikasının doğrulanmasını açar | true · false (varsayılan false) |
--tlsVerifyCa | Doğrulamada kullanılacak CA profilini seçer | lb ca kaydı; yalnız --verifyCertificate true iken açılır |
--tlsClientCert | Karşılıklı doğrulamada sunulacak istemci sertifikasını seçer | Sertifika kaydı |
HTTP ve HTTPS Alanları
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--uri | İstenecek yolu ve sorguyu belirler | Yol, örneğin /saglik |
--method | İstek yöntemini seçer | HTTP yöntemi (varsayılan GET) |
--httpVersion | Kullanılacak HTTP sürümünü seçer | 1.1 (varsayılan) · 2 |
--httpHeaders.N.name · --httpHeaders.N.value | İsteğe başlık ekler | Başlık adı ve değeri; her çift kendi indeksiyle |
--httpBody | İstek gövdesini yazar | Gönderilecek gövde metni |
--expectedStatusCodes.N | Başarı sayılacak durum kodlarını belirler | Durum kodu (varsayılan 200); birden çoğu kendi indeksiyle |
--contentCheckMode | Yanıt gövdesinin nasıl denetleneceğini seçer | basic metin eşleşmesi (varsayılan) · jsonata ifade |
--contentQuery | Yanıtta aranacak metni yazar | Beklenen metin; --contentCheckMode basic iken kullanılır |
--jsonataQuery | Yanıtı JSONata ifadesiyle denetler | JSONata ifadesi; --contentCheckMode jsonata iken kullanılır |
DNS Alanları
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
query | Sorgulanacak adı belirler | Alan adı; dns türünde zorunludur |
--reverseDns | Adres yerine PTR kaydı sorgular | true · false (varsayılan false); açıldığında kayıt türü sorulmaz |
--rrType | Sorgulanacak kayıt türünü seçer | A (varsayılan) · AAAA · CAA · CNAME · MX · NAPTR · NS · PTR · SOA · SRV · TXT |
--dnsExpectType | Yanıtın nasıl denetleneceğini seçer | none (varsayılan) · text · regex |
dnsTextToExpect | Yanıtta aranacak metni yazar | Beklenen metin; --dnsExpectType text yazıldığında zorunlu olur ve öneksiz yazılır |
--dnsRegexToExpect | Yanıtta aranacak düzenli ifadeyi yazar | Düzenli ifade; --dnsExpectType regex iken açılır |
FTP, LDAP, SMTP ve Oracle Alanları
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
ftpUser · ftpPassword | FTP oturumunu açacak kimliği taşır | Kullanıcı adı ve parola; ftp ve ftps türlerinde zorunludur |
--ftpAction | Denetimin nereye kadar gideceğini seçer | onlyLogin yalnız oturum açar (varsayılan) · loginAndList dizin de listeler |
--ftpPath | Listelenecek dizini belirler | Sunucudaki yol |
ldapUsername · ldapPassword | Dizine bağlanacak kimliği taşır | Kullanıcı adı ve parola; ldap ve ldaps türlerinde zorunludur. Parola gizli olarak sorulur |
--ldapAuth | Yalnız bağlantıyı değil, kimlik doğrulamasını da dener | true · false (varsayılan false) |
--smtpHelo | Sunucuya gönderilecek EHLO adını belirler | Alan adı; smtp ve smtps türlerinde yazılır |
--smtpStartTls | Bağlantının STARTTLS ile şifrelenmesini açar | true · false (varsayılan false); yalnız smtp türünde açılır |
oracleUser · oraclePassword | Veritabanına bağlanacak kimliği taşır | Kullanıcı adı ve parola; oracle türünde zorunludur |
oracleConnectionString | Veritabanı bağlantı bilgisini taşır | Bağ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
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--tcpScenario.N.tcpAction | Adımın ne yapacağını seçer | sendText veri gönderir · expectText metin bekler · expectRegex düzenli ifade bekler · wait bekler |
--tcpScenario.N.textToSend | Gönderilecek veriyi yazar | Metin; tcpAction sendText iken açılır |
--tcpScenario.N.dataFormat | Gönderilen verinin biçimini seçer | text (varsayılan) · hex · base64; tcpAction sendText iken açılır |
--tcpScenario.N.textToExpect | Yanıtta aranacak metni yazar | Beklenen metin; tcpAction expectText iken açılır |
--tcpScenario.N.regexToExpect | Yanıtta aranacak düzenli ifadeyi yazar | Düzenli ifade; tcpAction expectRegex iken açılır |
--tcpScenario.N.tcpWaitMs | Adımın ne kadar bekleyeceğini belirler | Milisaniye; tcpAction wait iken açılır |
udp
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--udpScenario.N.udpAction | Adımın ne yapacağını seçer | send veri gönderir · wait bekler · expectText metin bekler · expectRegex düzenli ifade bekler |
--udpScenario.N.dataToSend | Gönderilecek veriyi yazar | Veri; udpAction send iken açılır |
--udpScenario.N.dataFormat | Gönderilen verinin biçimini seçer | text (varsayılan) · hex · base64; udpAction send iken açılır |
--udpScenario.N.textToExpect | Yanıtta aranacak metni yazar | Beklenen metin; udpAction expectText iken açılır |
--udpScenario.N.regexToExpect | Yanıtta aranacak düzenli ifadeyi yazar | Düzenli ifade; udpAction expectRegex iken açılır |
--udpScenario.N.udpWaitMs | Adımın ne kadar bekleyeceğini belirler | Milisaniye; udpAction wait iken açılır |
oracle
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--oracleScenario.N.oracleAction | Adımın ne yapacağını seçer | executeCmd sorgu çalıştırır · wait bekler |
--oracleScenario.N.oracleCmd | Çalıştırılacak sorguyu yazar | SQL ifadesi; oracleAction executeCmd iken açılır |
--oracleScenario.N.oracleExpectedText | Sonuçta aranacak metni yazar | Beklenen metin; oracleAction executeCmd iken açılır |
--oracleScenario.N.oracleExpectedMinRows | Sonucun en az kaç satır dönmesi gerektiğini belirler | Satır sayısı; oracleAction executeCmd iken açılır |
--oracleScenario.N.oracleWaitMs | Adımın ne kadar bekleyeceğini belirler | Milisaniye; oracleAction wait iken açılır |
Örnekler
Güncelleme ve Silme
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.
target: selected listeden seçilen kayıtlar, all koleksiyonun tamamı. target selected yazılıp kimlik verilmediğinde onay kutulu seçim listesi açılır. | Alan | Durum | Değer |
|---|---|---|
target | Zorunlu | selected — listeden seçilen kayıtlar · all — koleksiyonun tamamı |
--ids.N | Koşullu | target 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
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.
| Alan | Ne yapar | Arkasına ne yazılır |
|---|---|---|
--info | Komutu çalıştırmadan ne yapacağını yazar | Değer almaz; tek başına yazılır |
--onError | Bir hedef doğrulamadan geçmezse ne olacağını belirler | abort hiçbir şey yazmaz (varsayılan) · skip geçen hedefleri yazar |
--testInterval | Denetimin hangi aralıkla tekrarlanacağını belirler | Saniye (varsayılan 1) |
--timeout | Yanıt için ne kadar bekleneceğini belirler | Saniye (varsayılan 1) |
--requiredSuccess | Sağlıklı sayılmak için gereken ardışık başarı sayısını belirler | Sayı (varsayılan 3) |
--requiredFailure | Sağlıksız sayılmak için gereken ardışık başarısızlık sayısını belirler | Sayı (varsayılan 2) |
--negate | Sonucu tersine çevirir: başarısızlık sağlıklı sayılır | true · false (varsayılan false) |
--virtualDomain | Bağlantıda Host ve SNI olarak gönderilecek adı belirler | Alan adı |
--verifyCertificate | Sunucunun sertifikasının doğrulanmasını açar | true · false (varsayılan false) |
--tlsVerifyCa | Doğrulamada kullanılacak CA profilini seçer | lb ca kaydı; --verifyCertificate true ile birlikte anlamlıdır |
--tlsClientCert | Karşılıklı doğrulamada sunulacak istemci sertifikasını seçer | Sertifika kaydı |
--uri | HTTP denetiminde istenecek yolu ve sorguyu belirler | Yol, örneğin /saglik |
--method | HTTP istek yöntemini seçer | HTTP yöntemi (varsayılan GET) |
--httpVersion | Kullanılacak HTTP sürümünü seçer | 1.1 (varsayılan) · 2 |
--httpHeaders.N.name · --httpHeaders.N.value | HTTP isteğine başlık ekler | Başlık adı ve değeri; her çift kendi indeksiyle |
--httpBody | HTTP istek gövdesini yazar | Gönderilecek gövde metni |
--expectedStatusCodes.N | Başarı sayılacak durum kodlarını belirler | Durum kodu (varsayılan 200); birden çoğu kendi indeksiyle |
--contentCheckMode | Yanıt gövdesinin nasıl denetleneceğini seçer | basic metin eşleşmesi (varsayılan) · jsonata ifade |
--contentQuery | Yanıtta aranacak metni yazar | Beklenen metin; --contentCheckMode basic iken kullanılır |
--jsonataQuery | Yanıtı JSONata ifadesiyle denetler | JSONata ifadesi; --contentCheckMode jsonata iken kullanılır |
--query | DNS denetiminde sorgulanacak adı belirler | Alan adı |
--reverseDns | Adres yerine PTR kaydı sorgular | true · false (varsayılan false) |
--rrType | Sorgulanacak DNS kayıt türünü seçer | A (varsayılan) · AAAA · CAA · CNAME · MX · NAPTR · NS · PTR · SOA · SRV · TXT |
--dnsExpectType | DNS yanıtının nasıl denetleneceğini seçer | none (varsayılan) · text · regex |
--dnsTextToExpect | DNS yanıtında aranacak metni yazar | Beklenen metin; --dnsExpectType text iken kullanılır |
--dnsRegexToExpect | DNS yanıtında aranacak düzenli ifadeyi yazar | Düzenli ifade; --dnsExpectType regex iken kullanılır |
--ftpUser · --ftpPassword | FTP oturumunu açacak kimliği taşır | Kullanıcı adı ve parola |
--ftpAction | FTP denetiminin nereye kadar gideceğini seçer | onlyLogin yalnız oturum açar (varsayılan) · loginAndList dizin de listeler |
--ftpPath | Listelenecek dizini belirler | Sunucudaki yol |
--ldapAuth | Dizinde yalnız bağlantıyı değil, kimlik doğrulamasını da dener | true · false (varsayılan false) |
--smtpHelo | Sunucuya gönderilecek EHLO adını belirler | Alan adı |
--smtpStartTls | Bağlantının STARTTLS ile şifrelenmesini açar | true · false (varsayılan false) |
--oracleConnectionString | Veritabanı bağlantı bilgisini taşır | Bağlantı dizesi |
--oraclePassword | Veritabanına bağlanacak parolayı taşır | Parola |
--tcpScenario.N.tcpAction | TCP senaryosundaki adımın ne yapacağını seçer | sendText · expectText · expectRegex · wait |
--udpScenario.N.udpAction | UDP senaryosundaki adımın ne yapacağını seçer | send · wait · expectText · expectRegex |
--oracleScenario.N.oracleAction | Oracle senaryosundaki adımın ne yapacağını seçer | executeCmd · wait |
Tekil komutta bulunup burada olmayan alanlar ve nedenleri:
| Alan | Neden yok |
|---|---|
checkType | Denetimin türü kaydın kimliğini belirler; toplu değiştirilemez |
name | Ad benzersizdir; aynı değer birçok kayda yazılamaz |
ldapUsername | Dizin kullanıcı adı kayda özgüdür |
ldapPassword | Parola alanı toplu yazılmaz |
oracleUser | Veritabanı kullanıcı adı kayda özgüdür |
tcpScenario.N.textToSend | Senaryo adımlarının içerik alanları adım kimliğine bağlıdır |
udpScenario.N.dataToSend | Aynı biçimde adıma özgüdür |
oracleScenario.N.oracleCmd | Aynı biçimde adıma özgüdür |
Hedef Seçimi ve Onay
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
--useDifferentIpve--differentIp.ipalanları verilir. - Tür alanları belirler.
checkTypeseçildikten sonra yalnız o türün alanları listelenir;--ile Tab o türün tamamını gösterir. - Parolalar gizli sorulur.
ldapPasswordgibi 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.
