SpitfireYük Testi ve Gözlemlenebilirlikv1.4.9 · Yenilikler

Sürüm: 1.4.9Bu dokümantasyon Spitfire 1.4.9 içindir.

Altyapı izleme — NetScaler ve Citrix (Beta)

NetScaler (Citrix ADC) ile Citrix Virtual Apps and Desktops / Citrix DaaS, REST API'leri üzerinden doğrudan Tower tarafından okunur; Collector veya agent kurulmaz. Her NetScaler (veya HA çifti) ve her Citrix sitesi bir izlenen sistem sayılır. İkisi de Beta.

NetScaler

Tower NITRO API'sini 30 saniyede bir okur: CPU (packet engine ve yönetim), bellek, throughput, HTTP, SSL, interface'ler ve her load balancing vserver ile member'ları.

Read-only kullanıcı

  1. NetScaler CLI'ı açın (HA çiftinde primary; secondary'ye senkronlanır).

    bash
    ssh nsroot@<nsip>
  2. Yalnızca okunan şeylerin stat ve show komutlarına izin veren command policy'yi oluşturun.

    text
    add system cmdPolicy spitfire_readonly ALLOW "(^stat\s+(system|ns|protocol\s+http|ssl|interface|lb\s+vserver)(\s.*)?$)|(^show\s+(lb\s+vserver|service|serviceGroup|ns\s+version)(\s.*)?$)"
  3. Yalnızca API kullanabilen local kullanıcıyı oluşturun.

    text
    add system user spitfire_monitor '<password>' -externalAuth DISABLED -allowedManagementInterface API
  4. Policy'yi bağlayıp kaydedin.

    text
    bind system user spitfire_monitor spitfire_readonly 100
    save ns config
  5. Tower'ın makinesinden bir okuma deneyin.

    bash
    curl -fsS -k -H 'X-NITRO-USER: spitfire_monitor' -H 'X-NITRO-PASS: <password>' 'https://<nsip>/nitro/v1/stat/lbvserver' | grep -q '"errorcode": *0' && echo OK
  6. Altyapı izleme → NetScaler altında ekleyin: adres https://<nsip>, kullanıcı spitfire_monitor.

Not

Bağlantı testi permission derse (eski firmware bazı komutları farklı adlandırır) bunun yerine hazır read-only policy'yi bağlayın: bind system user spitfire_monitor read-only 100. Kullanıcı GUI'ye ve shell'e giriş yapamaz. TLS sertifika doğrulamasını atla kutusunu yalnızca cihazın kendi self-signed sertifikası için işaretleyin.

vserver tablosu

NetScaler dashboard'unda load balancing vserver'ların tablosu var: durum, sağlık, UP ve DOWN member'lar, saniyede request, client ve server bağlantıları ve yanıt süresi. Sorunlu vserver'lar en üstte. İkinci tablo DOWN olan her member'ı vserver / service ip:port olarak listeler.

Not

NITRO'da 4xx/5xx sayaçları yoktur. HTTP hataları paneli server busy ile eksik request ve response'ları gösterir; status code'lar için NetScaler log'ları veya AppFlow gerekir.

Citrix Virtual Apps and Desktops

Tower Monitor Service OData API'sini (Director'ın arkasındaki veri) 60 saniyede bir okur: active ve disconnected session'lar, delivery group başına makineler (registered, unregistered, maintenance, faulted, load index), aşama aşama logon süresi ve connection failure'lar. On-premises'te bir Delivery Controller'a NTLM ile, Citrix DaaS'ta bir Citrix Cloud API client ile bağlanır.

On-premises: read-only administrator

  1. AD'de CORP\spitfire_monitor hesabını oluşturun (sıradan bir domain kullanıcısı).

  2. Bir Delivery Controller'da PowerShell'i sitenin Full Administrator'ı olarak açın.

    powershell
    Start-Process powershell -Verb RunAs
  3. Hesaba hazır Read Only Administrator rolünü verin.

    powershell
    Add-PSSnapin Citrix*
    New-AdminAdministrator -Name 'CORP\spitfire_monitor'
    Add-AdminRight -Administrator 'CORP\spitfire_monitor' -Role 'Read Only Administrator' -Scope 'All'
  4. Tower'ın makinesinden bir okuma deneyin.

    bash
    curl -fsS --ntlm -u 'CORP\spitfire_monitor:<password>' 'https://ddc1.corp/Citrix/Monitor/OData/v4/Data/Sessions?$top=1' | grep -q '"value"' && echo OK
  5. Altyapı izleme → Citrix altında ekleyin: kip Kurum içi, adres https://ddc1.corp, domain CORP, kullanıcı spitfire_monitor.

Citrix DaaS: API client

  1. Citrix Cloud'da Identity and Access Management → API access → Secure clients açın ve access policy'si Read Only Administrator, All olan bir client oluşturun.

  2. Customer ID, client ID ve secret'ı kopyalayın.

  3. Client'ı deneyin.

    bash
    curl -fsS -d grant_type=client_credentials -d client_id='<client-id>' -d client_secret='<client-secret>' 'https://api.cloud.com/cctrustoauth2/root/tokens/clients' | grep -q access_token && echo OK
  4. Altyapı izleme → Citrix altında ekleyin: kip Citrix DaaS, customer ID, client ID ve secret; bölge Japonya yalnızca api.citrixcloud.jp için.

Not

Read Only Administrator rolü tüm siteyi görür ama değiştiremez. NTLM yalnızca HTTPS üzerinden gönderilir. Controller'a HTTP'yi yalnızca test ortamında kullanın; Tower o zaman şifreyi göndermez.

Delivery group tablosu

Citrix dashboard'unda delivery group'ların tablosu var: registered, unregistered, maintenance ve faulted makineler, session'lar ve ortalama ile en yüksek load index (0–10000). Unregistered makinesi olan group'lar en üstte; bulguda en çok 50 makine adı yazar.

Bulgular

Teknoloji Bulgu
NetScaler NITRO yanıt vermiyor (critical)
NetScaler Packet engine CPU, yönetim CPU veya bellek %90'ın üstünde (warning)
NetScaler 15 dakikada "server busy" hataları veya interface hataları artıyor (warning)
NetScaler Bir vserver DOWN (critical)
NetScaler UP bir vserver'ın arkasında DOWN member'lar (warning)
NetScaler Pencere içinde member'lar DOWN oldu (critical)
NetScaler Yanıt süresi yükle artıyor: pencerenin en yoğun üçte birinde request en sakin üçte birin 1,5 katı ve yanıt süresi iki katı, 50 ms'nin üstünde (warning)
Citrix Monitor API yanıt vermiyor (critical)
Citrix Son 5 dakikada connection failure (warning)
Citrix Unregistered veya faulted makineler (warning)
Citrix Bir delivery group'un load index'i 8000'in üstünde (warning)
Citrix Logon süresi 60 s'nin üstünde (warning)
Citrix Logon süresi session sayısıyla artıyor: en yoğun üçte birde 1,5 kat yavaş, en az 20 s (warning)

CPU, bellek, busy ve failure kuralları son 15 dakikaya bakar. Tablolar ve diğer bulgular da son 15 dakikaya bakar; API ile bir test koşusunun penceresine de bakabilirler: GET /api/v1/datasources/<id>/dashboard?run=<run-id> (koşu başlamadan 1 dakika öncesinden bittikten 1 dakika sonrasına, en çok 6 saat).

Başarı kontrolü

  1. Son test = Bağlandı.
  2. NetScaler dashboard'unda NITRO yanıt veriyor 1 ve vserver tablosu dolu.
  3. Citrix dashboard'unda Monitor API yanıt veriyor 1 ve delivery group tablosu dolu.