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
Yazım Sırası
gtm hc add name web-denetimicheckType httpOn beş değer alır. Tür seçildikten sonra yalnız o türün alanları istenir.
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ıra | Alan | Durum | Değer |
|---|---|---|---|
| 1 | name | Zorunlu | Denetimin adı |
| 2 | checkType | Zorunlu | Aşağıdaki on beş türden biri |
| 3 | addr.ip | Koşullu zorunlu | dcCheck dışındaki bütün türlerde; denetlenecek adres. Satırda -- olsa bile öneksiz yazılır |
| 4 | addr.port | Koşullu zorunlu | ping ve dcCheck dışındaki türlerde; denetlenecek port |
| 5 | query | Koşullu zorunlu | Yalnız dns; sorgulanacak ad |
| 5 · 6 | ftpUser · ftpPassword | Koşullu zorunlu | Yalnız ftp ve ftps; parola komuttan sonra gizli sorulur |
| 5 · 6 | ldapUsername · ldapPassword | Koşullu zorunlu | Yalnız ldap ve ldaps; parola satıra yazılır |
| 5–7 | oracleUser · oraclePassword · oracleConnectionString | Koşullu zorunlu | Yalnız oracle; parola komuttan sonra gizli sorulur |
| 3 | dcId | Koşullu zorunlu | Yalnız dcCheck; ölçüsü alınacak veri merkezi |
| 4 | criterion.val | Koşullu zorunlu | Yalnız dcCheck; karşılaştırma değeri. Satırda -- olsa bile öneksiz yazılır |
| 5 | poolId | Koşullu zorunlu | Yalnı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
checkType | Denetler | Ek zorunlu alanlar |
|---|---|---|
ping | Adrese erişilebilirlik | — (port istenmez) |
tcp · tcps | Bağlantı kurulabiliyor mu | addr.port |
udp | UDP hedefi | addr.port |
http · https | Web sunucusu yanıtı | addr.port |
dns | DNS sunucusu yanıtı | addr.port · query |
ftp · ftps | FTP oturumu | addr.port · ftpUser · ftpPassword |
ldap · ldaps | Dizin bağlantısı | addr.port · ldapUsername · ldapPassword |
smtp · smtps | Posta sunucusu | addr.port |
oracle | Veritabanı bağlantısı | addr.port · oracleUser · oraclePassword · oracleConnectionString |
dcCheck | Bir veri merkezinin ölçüleri | dcId · 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
| Alan | Varsayılan | Değer |
|---|---|---|
addr.ip | — | Denetlenecek adres (dcCheck dışındaki tüm türlerde zorunlu) |
addr.port | — | Denetlenecek port (ping ve dcCheck dışında zorunlu) |
--testInterval | 1 | Denetimin tekrar aralığı |
--timeout | 1 | Yanıt için beklenecek süre |
--requiredSuccess | 3 | Sağlıklıya geçmek için gereken ardışık başarı |
--requiredFailure | 2 | Sağlıksıza geçmek için gereken ardışık başarısızlık |
--negate | false | Sonucu tersine çevirir: başarısızlık sağlıklı sayılır |
--v-device · --namespace | Host cihaz · varsayılan route tablosu | Denetimin hangi bağlamdan yapılacağı |
--v-device, --namespace, --testInterval ve --timeout alanları dcCheck türünde bulunmaz.
HTTP ve HTTPS Denetimi
| Alan | Varsayılan | Değer |
|---|---|---|
--uri | — | İstenecek yol ve sorgu |
--method | GET | İstek yöntemi |
--httpVersion | 1.1 | 1.1 ya da 2 |
--httpBody | — | İstek gövdesi |
--httpHeaders.0.name · --httpHeaders.0.value | — | İstek başlıkları |
--expectedStatusCodes.0 | 200 | Başarı sayılan durum kodları |
--contentCheckMode | basic | İçerik denetimi biçimi: basic ya da jsonata |
--virtualDomain | — | Host ve SNI olarak gönderilecek alan adı |
--verifyCertificate | false | Sunucu 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
| Alan | Varsayılan | Değer |
|---|---|---|
query | — | Sorgulanacak ad |
--reverseDns | false | Adres yerine PTR kaydı sorgular; açıldığında kayıt türü sorulmaz |
--rrType | A | Sorgulanacak kayıt türü: A · AAAA · CAA · CNAME · MX · NAPTR · NS · PTR · SOA · SRV · TXT. --reverseDns true iken açılmaz |
--dnsExpectType | none | Yanı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
| 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 | Gönderilecek 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 | Gönderilecek 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 |
FTP, SMTP ve LDAP Denetimleri
| 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; ftp ve ftps türlerinde yazılır |
--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 |
ldapUsername · ldapPassword | Dizine bağlanacak kimliği taşır | Kullanıcı adı ve parola; ldap ve ldaps türlerinde zorunludur |
--ldapAuth | Yalnız bağlantı değil, kimlik doğrulamasının da denenmesini açar | true · 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.
| Alan | Varsayılan | Değer |
|---|---|---|
dcId | — | Ölçüsü alınacak veri merkezi; satırda -- alanı varsa --dcId yazılır |
--dcCheckType | pool_status | Hangi ö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
Güncelleme ve Silme
Bilinmesi Gerekenler
- Denetim tek başına karar vermez. Sonucu bir senaryoya bağlanmadıkça DNS yanıtlarını etkilemez; senaryolar
gtm scenarioile 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.opdeğerleri>gibi işaretler içerdiğinden çift tırnakla yazılır. dcCheckbağlam alanları taşımaz. Bu türde sanal cihaz, route tablosu, aralık ve zaman aşımı alanları bulunmaz.
