Test je loginproces met Citrix Probe!

Geschreven door Ruud Zwanenburg.

Wat is Citrix Probe en hoe kan je dit zo goed mogelijk gebruiken?

Veel bedrijven die virtual apps, desktops of soortgelijke oplossingen gebruiken, hebben een methode om gedurende de dag elke 5 of 10 minuten een testgebruiker in- en weer uit te laten loggen. Wat er met het resultaat van dat inloggen gebeurt verschilt nogal per oplossing.

Eenvoudige oplossingen geven alleen een alarm in de monitoring als het inloggen niet meer lukt. Bij iets uitgebreidere kan je ook de logintijd in de monitoring terugzien. Meer geavanceerde oplossingen zoals Login VSI zullen ook werkelijk iets in de applicatie doen en bij elke actie meten hoelang dit duurt. Van deze data zijn weer uitgebreide rapporten te maken die een goed beeld geven over de tijdsduur van elke actie en of dit gedurende de dag verschilt en of na een paar maanden de logintijd oploopt. De bedoeling zou zijn om de servicedesk of IT-afdeling te informeren dat er iets misgaat in de omgeving. Mijn ervaring is dat het meestal toch de gebruikers zijn die zich eerder bij de servicedesk melden omdat hun applicatie of desktop niet op start.

Sinds versie 1906 is in Citrix Director een probe functie te vinden. Hiermee kan je ook desktops of applicaties starten en het resultaat terugvinden in Citrix Director. Maar hoe handig is dit en heb je er iets aan?

Installatie en configuratie van de Citrix Probe.

De installatie is eigenlijk vrij eenvoudig. Je hebt één werkstation nodig per testgebruiker (endpoint) en voor elk endpoint een aparte gebruiker met rechten om de applicatie of desktop te starten. Verder heb je een account met de juiste rechten nodig om de Probe resultaten aan director door te geven. Hoeveel endpoints je nodig hebt hangt af van het aantal applicaties en desktops dat je wil testen. Één endpoint kan maar één applicatie of desktop tegelijkertijd starten. Afwisselen kan wel, dus eerst een applicatie dan en desktop.

Als eerste moet je de Citrix Workspace app installeren en vervolgens download je de Probe agent van de Citrix site en installeer hem als administrator. Tijdens de configuratie van de probe geef je de probe gebruiker, de storefront URL, de Director URL en de Director user op.

Na de installatie moet je even geduld hebben tot het endpoint in Citrix Director terug te vinden is, daarna kan je de actie die het endpoint moet gaan uitvoeren configureren.

Log daarvoor in in Director en ga naar het tabblad Configuration. Hier kan je naar Application Probe of Desktop Probe. Kies daar create probe.

Kies het endpoint uit de lijst waar de opdracht op uitgevoerd moet worden en de applicatie of desktop.

Optioneel geef je een E-mailadres op om meldingen op te ontvangen. Geef een tijdstip op waarop de test moet lopen.

En hier is de eerste tegenvaller te vinden. Je kan alleen het hele uur kiezen, en je kan hem niet laten herhalen. Elke probe die je aan maakt is dus één test. Als je elk uur een desktop test wil doen moet je dus 24 probes aanmaken. Dat is aardig wat geklik met de muis. Dan zou je verwachten dat dit ook wel kan met een Powershell commando. Maar helaas is dat ook niet mogelijk.

Uiteindelijk blijft er over dit met SQL-query’s direct in de Database te zetten, op die manier kan je ook tests starten op elke minuut. Onderin deze blog is beschreven hoe deze waarschijnlijk unsupported methode uiteindelijk werkt.

Waar zie je de resultaten van de probe.

Als je dit geconfigureerd hebt wil je natuurlijk ook ergens de resultaten terugvinden.

Het eerste resultaat was het mailbericht dat je kan laten sturen. Deze mailtjes komen meestal in een grote mailbox terecht waar deze dan uitgevist moeten worden. Hier moet je dan ook nog degene uitvissen die fout zijn gegaan. Niet de ideale manier en al helemaal niet overzichtelijk.

Het tweede resultaat is in Director zelf, onder de tab Applications is een overzicht te zien van de probe resultaten en deze kan je in detail zien onder de tab trends. Daar heb je de optie Probe Results en hier kan je van elke run het resultaat zien.

Als we vervolgens kijken wat hij als resultaat geeft is dat ook niet echt veel. Onder probe result kan hij vijf meldingen aangeven over de volgende tests:

  1. Storefront bereikbaar
  2. Storefront authenticatie
  3. Storefront enumuration ofwel zie ik de te starten desktop of applicatie.
  4. Download de ica file. Zo nee, dan is de te starten desktop of applicatie niet beschikbaar
  5. Kan de desktop of applicatie starten

Wat ik dan weer mis is hoelang dit geduurd heeft ofwel de login tijden. Deze kan je dan weer terugvinden onder trends – “login performance“, en dan zoeken naar de probe gebruiker, maar dat is niet echt handig.

Is Citrix probe te gebruiken.

Als je het vergelijkt met de simpelere oplossingen is dit ongeveer gelijkwaardig. Ook bij die oplossingen heb je vaak powershell scripts nodig voor het in gebruik zijnde monitoringsysteem om een bruikbare oplossing te krijgen. Het voordeel is dat er geen extra kosten nodig zijn om een tool te kopen die de desktop of applicatie start. Verwacht je een oplossing die gedetailleerde performance informatie oplevert dan zal de Citrix Probe zeker niet geschikt zijn en heb je geavanceerdere tools als Login VSI nodig.

Probes via SQL opdrachten in de database zetten.

Om het onderstaande te begrijpen en te kunnen uitvoeren moet je wel kennis hebben van SQL.

De configuratie van de probe is in drie tabellen in de SQL-database opgeslagen. In deze tabellen staat geen data die invloed hebben op andere onderdelen. Als er iets misgaat met de query’s kan het gebeuren dat de tabbladen in director die betrekking hebben op probes niet meer juist functioneren maar zal geen problemen veroorzaken in de rest van Director en de Citrix omgeving.

De configuratie staat in vier tabellen in de monitoring database.

  • [Xendesktop7Monitoring].[MonitorData].[ProbeRule]
  • [Xendesktop7Monitoring].[MonitorData].[ProbeRuleEndPoint]
  • [Xendesktop7Monitoring].[MonitorData].[ProbeRuleApplication]
  • [Xendesktop7Monitoring].[MonitorData].[ProbeRuleDesktop]

(Xendesktop7Monitoring is in dit geval de naam van de monitor database)

Het is het handigst om voor één desktop of applicatie die je wil testen in director een Probe aan te maken zodat je eenvoudig de Quid van de desktop of applicatie uit de database te halen.

Open daarna in SQL-management studio een nieuwe Query

Run vervolgens één van onderstaande queries om de DesktopId of ApplicationId te achterhalen. Deze heb je later nodig om de Desktop of Applicatie aan de prope te koppelen.

In de ProbeRule table zitten de volgende belangrijke kolommen:

  • Create date Wanneer is de Probe aangemaakt
  • ExecutionTime             Tijdstip uitvoeren probe
  • Id             Id waarnaar word verwezen in de andere tabellen
  • Name Naam Probe – Moet uniek zijn.
  • ProbeType             1=desktop          0=Applicatie

Als eerste moeten we een Probe aanmaken in de ProbeRule tabel, de Id wordt vanzelf door Sql ingevuld.

Daarna moeten we een endpoint koppelen aan de Probe in de tabel ProbeRuleEndpoint die verwijst naar de juiste Id, en we moeten een applicatie of desktop koppelen aan de Probe die verwijst naar de juiste Id.

Pas de waarde van ExecutionTime en Name achter SET aan. Wanneer nodig pas ook de Probetype aan met 1 voor desktop en 0 voor applicatie. Ik heb er voor gekozen de applicatienaam te gebruiken met daar achter de executie tijd.

Zoek het ID op van de net aangemaakte Probe. Pas hiervoor de naam aan.

Koppel een Probe endpoint die de opdracht moet uitvoeren. Als je er maar eén hebt is dat er dus 1. Pas achter SET de @RuleId aan naar de hiervoor gevonden ID.

Koppel vervolgens een desktop of applicatie aan de Probe.
Vul ook hier weer achter SET de eerder gevonden applicatie of desktopId in en de RuleId

 

Handige links

Citrix product documentatie:

https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/director/troubleshoot-deployments/applications/desktop-probing.html

Wil je meer weten over Citrix Probing, neem dan gerust contact met ons op of laat je vraag achter in de comments!