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ı
NetScaler CLI'ı açın (HA çiftinde primary; secondary'ye senkronlanır).
ssh nsroot@<nsip>Yalnızca okunan şeylerin
statveshowkomutlarına izin veren command policy'yi oluşturun.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.*)?$)"Yalnızca API kullanabilen local kullanıcıyı oluşturun.
add system user spitfire_monitor '<password>' -externalAuth DISABLED -allowedManagementInterface APIPolicy'yi bağlayıp kaydedin.
bind system user spitfire_monitor spitfire_readonly 100 save ns configTower'ın makinesinden bir okuma deneyin.
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 OKAltyapı izleme → NetScaler altında ekleyin: adres
https://<nsip>, kullanıcıspitfire_monitor.
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.
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
AD'de
CORP\spitfire_monitorhesabını oluşturun (sıradan bir domain kullanıcısı).Bir Delivery Controller'da PowerShell'i sitenin Full Administrator'ı olarak açın.
Start-Process powershell -Verb RunAsHesaba hazır Read Only Administrator rolünü verin.
Add-PSSnapin Citrix* New-AdminAdministrator -Name 'CORP\spitfire_monitor' Add-AdminRight -Administrator 'CORP\spitfire_monitor' -Role 'Read Only Administrator' -Scope 'All'Tower'ın makinesinden bir okuma deneyin.
curl -fsS --ntlm -u 'CORP\spitfire_monitor:<password>' 'https://ddc1.corp/Citrix/Monitor/OData/v4/Data/Sessions?$top=1' | grep -q '"value"' && echo OKAltyapı izleme → Citrix altında ekleyin: kip Kurum içi, adres
https://ddc1.corp, domainCORP, kullanıcıspitfire_monitor.
Citrix DaaS: API client
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.
Customer ID, client ID ve secret'ı kopyalayın.
Client'ı deneyin.
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 OKAltyapı izleme → Citrix altında ekleyin: kip Citrix DaaS, customer ID, client ID ve secret; bölge Japonya yalnızca
api.citrixcloud.jpiçin.
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ü
- Son test = Bağlandı.
- NetScaler dashboard'unda NITRO yanıt veriyor 1 ve vserver tablosu dolu.
- Citrix dashboard'unda Monitor API yanıt veriyor 1 ve delivery group tablosu dolu.