Skip to content
Smarter by Design.Simpler for Business

gtm hc ​

gtm hc komutu, GTM'in veri merkezlerini ve hedefleri izlemek için kullandığı sağlık denetimlerini yönetir. Denetim sonuçları senaryolara girdi olur; senaryolar da DNS kayıtlarının yanıta katılıp katılmayacağını belirler. Panel karşılığı Health Checks ekranıdır.

Komut Özeti ​

TR7 WEB-CLI · gtm hc
admin@TR7LBWAF01> gtm hc list # hepsini listele
admin@TR7LBWAF01> gtm hc show <kimlik> # birini göster
admin@TR7LBWAF01> gtm hc add name <ad> checkType <tür> … # yeni denetim
admin@TR7LBWAF01> gtm hc update id <kimlik> … # değiştir
admin@TR7LBWAF01> gtm hc delete <kimlik> # sil
admin@TR7LBWAF01>  

Yazım Sırası ​

Adım 1 Adı yaz
gtm hc add name web-denetimi
Adım 2 Denetim türünü seç
checkType http

On beş değer alır. Tür seçildikten sonra yalnız o türün alanları istenir.
Adım 3 Türün zorunlu alanlarını yaz
Çoğu türde denetlenecek adres ve port; kimlik doğrulaması olan türlerde ayrıca kullanıcı ve parola.
Adım 4 Eşikleri ve ayrıntıları ekle
Deneme aralığı, zaman aşımı ve durum değişimi için gereken ardışık sonuç sayıları isteğe bağlıdır.

Zorunlu Alanlar ​

CLI zorunlu alanları aşağıdaki sırayla, tek tek ister; biri yazılmadan sonrakini göstermez. Üçüncü sıradan sonrası seçilen denetim türüne göre değişir.

SıraAlanDurumDeğer
1nameZorunluDenetimin adı
2checkTypeZorunluAşağıdaki on beş türden biri
3addr.ipKoşullu zorunludcCheck dışındaki bütün türlerde; denetlenecek adres. Satırda -- olsa bile öneksiz yazılır
4addr.portKoşullu zorunluping ve dcCheck dışındaki türlerde; denetlenecek port
5queryKoşullu zorunluYalnız dns; sorgulanacak ad
5 · 6ftpUser · ftpPasswordKoşullu zorunluYalnız ftp ve ftps; parola komuttan sonra gizli sorulur
5 · 6ldapUsername · ldapPasswordKoşullu zorunluYalnız ldap ve ldaps; parola satıra yazılır
5–7oracleUser · oraclePassword · oracleConnectionStringKoşullu zorunluYalnız oracle; parola komuttan sonra gizli sorulur
3dcIdKoşullu zorunluYalnız dcCheck; ölçüsü alınacak veri merkezi
4criterion.valKoşullu zorunluYalnız dcCheck; karşılaştırma değeri. Satırda -- olsa bile öneksiz yazılır
5poolIdKoşullu zorunluYalnız dcCheck ve vService'e bağlı ölçütlerde; ölçülecek vService

-- yazımı: Satırda -- ile başlayan hiçbir alan yoksa tablodaki bütün alanlar öneksiz yazılır. Satıra bir -- alanı eklendiğinde koşullu zorunlu alanlar (addr.port, query, ftpUser, ldapUsername, ldapPassword, oracleUser, oracleConnectionString, dcId, poolId) -- önekiyle yazılır; addr.ip ve criterion.val ise yine öneksizdir ve -- ile başlayan alanlardan önce yazılmalıdır.

Denetim Türleri ​

checkTypeDenetlerEk zorunlu alanlar
pingAdrese erişilebilirlik— (port istenmez)
tcp · tcpsBağlantı kurulabiliyor muaddr.port
udpUDP hedefiaddr.port
http · httpsWeb sunucusu yanıtıaddr.port
dnsDNS sunucusu yanıtıaddr.port · query
ftp · ftpsFTP oturumuaddr.port · ftpUser · ftpPassword
ldap · ldapsDizin bağlantısıaddr.port · ldapUsername · ldapPassword
smtp · smtpsPosta sunucusuaddr.port
oracleVeritabanı bağlantısıaddr.port · oracleUser · oraclePassword · oracleConnectionString
dcCheckBir veri merkezinin ölçüleridcId · criterion.val (+ vService ölçütlerinde poolId)

Parolaların bir kısmı gizli sorulur

oraclePassword ve ftpPassword komut satırına yazılmaz; komut çalıştırıldıktan sonra ekranda görünmeden sorulur. ldapPassword ise doğrudan satıra yazılır ve komut geçmişine düşer.

Ortak Alanlar ​

AlanVarsayılanDeğer
addr.ip—Denetlenecek adres (dcCheck dışındaki tüm türlerde zorunlu)
addr.port—Denetlenecek port (ping ve dcCheck dışında zorunlu)
--testInterval1Denetimin tekrar aralığı
--timeout1Yanıt için beklenecek süre
--requiredSuccess3Sağlıklıya geçmek için gereken ardışık başarı
--requiredFailure2Sağlıksıza geçmek için gereken ardışık başarısızlık
--negatefalseSonucu tersine çevirir: başarısızlık sağlıklı sayılır
--v-device · --namespaceHost cihaz · varsayılan route tablosuDenetimin hangi bağlamdan yapılacağı

--v-device, --namespace, --testInterval ve --timeout alanları dcCheck türünde bulunmaz.

HTTP ve HTTPS Denetimi ​

AlanVarsayılanDeğer
--uri—İstenecek yol ve sorgu
--methodGETİstek yöntemi
--httpVersion1.11.1 ya da 2
--httpBody—İstek gövdesi
--httpHeaders.0.name · --httpHeaders.0.value—İstek başlıkları
--expectedStatusCodes.0200Başarı sayılan durum kodları
--contentCheckModebasicİçerik denetimi biçimi: basic ya da jsonata
--virtualDomain—Host ve SNI olarak gönderilecek alan adı
--verifyCertificatefalseSunucu sertifikasını doğrular
--contentQuery—Yanıt gövdesinde aranacak metin; --contentCheckMode basic iken kullanılır
--jsonataQuery—Yanıt gövdesini denetleyecek JSONata ifadesi; --contentCheckMode jsonata iken kullanılır
--tlsClientCert—Karşılıklı kimlik doğrulamada sunulacak istemci sertifikası
--tlsVerifyCa—Sunucu sertifikasının doğrulanacağı CA profili; yalnız --verifyCertificate true iken açılır

Sertifika alanları https, tcps, smtp, smtps, ftps ve ldaps türlerinde de kullanılabilir.

DNS Denetimi ​

AlanVarsayılanDeğer
query—Sorgulanacak ad
--reverseDnsfalseAdres yerine PTR kaydı sorgular; açıldığında kayıt türü sorulmaz
--rrTypeASorgulanacak kayıt türü: A · AAAA · CAA · CNAME · MX · NAPTR · NS · PTR · SOA · SRV · TXT. --reverseDns true iken açılmaz
--dnsExpectTypenoneYanıtın nasıl denetleneceği: none · text · regex
dnsTextToExpect · dnsRegexToExpect—Beklenen yanıt; seçilen denetim biçimine göre biri zorunlu olur

Senaryo Adımlı Denetimler ​

tcp, tcps, udp ve oracle türlerinde denetim, sırayla çalışan adımlardan oluşur. Her adım kendi indeksini alır: --tcpScenario.0.…, --tcpScenario.1.… biçiminde. Ö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 yazarGönderilecek metin; 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 yazarGönderilecek veri; 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

FTP, SMTP ve LDAP Denetimleri ​

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; ftp ve ftps türlerinde yazılır
--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
ldapUsername · ldapPasswordDizine bağlanacak kimliği taşırKullanıcı adı ve parola; ldap ve ldaps türlerinde zorunludur
--ldapAuthYalnız bağlantı değil, kimlik doğrulamasının da denenmesini açartrue · false (varsayılan false); ldap ve ldaps türlerinde yazılır

Veri Merkezi Denetimi ​

dcCheck türü bir hedefe bağlanmaz; seçilen veri merkezinin ölçülerini bir eşikle karşılaştırır.

AlanVarsayılanDeğer
dcId—Ölçüsü alınacak veri merkezi; satırda -- alanı varsa --dcId yazılır
--dcCheckTypepool_statusHangi ölçünün alınacağı
poolId—vService ölçütlerinde zorunlu; ölçülecek vService. Satırda -- alanı varsa --poolId yazılır
criterion.val—Karşılaştırma değeri; her durumda öneksiz ve -- alanlarından önce yazılır
--criterion.op>Karşılaştırma işleci: >, <, = ya da aralık için -. İşaret içerdiğinden çift tırnakla yazılır
--criterion.val2—Aralığın üst sınırı; yalnız --criterion.op "-" yazıldığında kullanılır

--dcCheckType değerleri: pool_status, pool_session_new, pool_request, pool_connection, pool_cpu, pool_bw, cpu, bw, upPools, downPools. İlk altısı bir vService'e bağlıdır ve poolId ister.

Örnekler ​

TR7 WEB-CLI · A) TCP ve ping denetimi
admin@TR7LBWAF01> gtm hc add name web-tcp checkType tcp addr.ip 10.0.0.10 addr.port 443
# ping türünde port istenmez
admin@TR7LBWAF01> gtm hc add name ag-ping checkType ping addr.ip 10.0.0.1
admin@TR7LBWAF01>  
TR7 WEB-CLI · B) HTTPS denetimi, yol ve durum kodu
admin@TR7LBWAF01> gtm hc add name portal-https checkType https addr.ip 10.0.0.10 --addr.port 443 \
--uri /saglik --expectedStatusCodes.0 200 --virtualDomain portal.kurum.com.tr \
--verifyCertificate true --timeout 3
admin@TR7LBWAF01>  
TR7 WEB-CLI · C) DNS denetimi ve gizli sorulan parola
admin@TR7LBWAF01> gtm hc add name dns-denetimi checkType dns addr.ip 10.0.0.53 --addr.port 53 \
--query www.kurum.com.tr --rrType A
# ftp türünde parola çalıştırma sonrası sorulur
admin@TR7LBWAF01> gtm hc add name ftp-denetimi checkType ftp addr.ip 10.0.0.21 addr.port 21 ftpUser kontrol
FTP password: ••••••••
admin@TR7LBWAF01>  
TR7 WEB-CLI · D) Veri merkezi ölçüsü denetimi
# vService işlemci kullanımı %80'i aşarsa sağlıksız
admin@TR7LBWAF01> gtm hc add name dc-cpu checkType dcCheck criterion.val 80 \
--dcId <merkez> --poolId <vService> --dcCheckType pool_cpu --criterion.op ">"
admin@TR7LBWAF01>  

Güncelleme ve Silme ​

TR7 WEB-CLI · güncelleme ve silme
admin@TR7LBWAF01> gtm hc update id <kimlik> --testInterval 5 --requiredFailure 3
admin@TR7LBWAF01> gtm hc update id <kimlik> --httpHeaders.delete # başlıkları kaldır
admin@TR7LBWAF01> gtm hc delete <kimlik>
admin@TR7LBWAF01>  

Bilinmesi Gerekenler ​

  • Denetim tek başına karar vermez. Sonucu bir senaryoya bağlanmadıkça DNS yanıtlarını etkilemez; senaryolar gtm scenario ile kurulur.
  • Eşikler iki yönlüdür. Sağlıklıya geçiş için üç, sağlıksıza geçiş için iki ardışık sonuç varsayılandır; ikisi ayrı ayrı ayarlanır.
  • Karşılaştırma işleci tırnak ister. --criterion.op değerleri > gibi işaretler içerdiğinden çift tırnakla yazılır.
  • dcCheck bağlam alanları taşımaz. Bu türde sanal cihaz, route tablosu, aralık ve zaman aşımı alanları bulunmaz.