Monitoring Citrix Cloud

Sinds de introductie van XenApp en XenDesktop 7 levert Citrix de monitoring tool Director mee bij alle versies van hun software. Hiermee kunnen beheerders hun XenApp en XenDesktop omgeving monitoren en pro-actief beheren.

Met de introductie van Citrix Cloud hebben beheerders mogelijkheid om de monitoring data van XenApp & XenDesktop service en de daar opvolgende trends uit Director tot 90 dagen terug in te zien.

Maar wat nu als de trends en rapporten in Director niet voldoen?

Of wanneer je de data langer dan 90 dagen wilt opslaan en inzien?

Tot voor kort was je aangewezen op de custom reports van Director, maar sinds kort bied Citrix je ook de mogelijkheid om zelf direct de monitor database van Citrix aan te spreken.

Met OData kan de data uit de monitor database opgevraagd worden. Vervolgens kunnen we daar onze eigen queries op loslaten om rapporten te definiëren of om een eigen monitor dashboard te vullen.

OData is een protocol om data op te vragen die gebruikt maakt van standaard protocollen zoals HTTP en methodes zoals REST (REpresentational State Transfer).

Citrix maakt gebruik van token authenticatie om de data op te kunnen vragen. Hiervoor is een zogenaamd bearer token nodig. Dit bearer token kan aangevraagd worden via powershell en maakt gebruik van de API van Citrix Cloud.

Secure Client

Om een bearer token aan te vragen is een secure client nodig. Deze kan aangemaakt worden in Citrix Cloud bij Identity Management onder de kop API Access.

De secure client bestaat uit een ID en een bijbehorend Secret.

Bearer token

Nu we de secure client hebben kunnen we via PowerShell het bearer token aanmaken.

function GetBearerToken {
param (
[Parameter(Mandatory=$true)]
[string] $clientId,
[Parameter(Mandatory=$true)]
[string] $clientSecret
)

$postHeaders = @{“Content-Type”=”application/json”}
$body = @{
“ClientId”=$clientId;
“ClientSecret”=$clientSecret
}

$trustUrl = “https://trust.citrixworkspacesapi.net/root/tokens/clients”
$response = Invoke-RestMethod -Uri $trustUrl -Method POST -Body (ConvertTo-Json $body) -Headers $postHeaders
$bearerToken = $response.token
return $bearerToken;
}

$clientId = “ClientID”
$clientSecret = “ClientSecret”
$bearerToken = GetBearerToken $clientId $clientSecret
$token = “CwsAuth Bearer=”+$bearerToken

Opvragen data

Met het bearer token in bezit in de variabele $bearerToken kunnen we nu met PowerShell de data opvragen door invoke-webrequest aan te roepen.

Hiervoor is naast het bearer token ook een customer ID nodig. In mijn voorbeeld is dat ‘Admin7255’.

$headers = @{“Authorization” = “$token”; “Customer” = “Admin7255”}
$url = “https://Admin7255.xendesktop.net/Citrix/Monitor/OData/v4/Data/Users”
$result = Invoke-WebRequest -Uri $url -Headers $headers

In dit voorbeeld hebben we de Monitor database gevraagd om gegevens over de gebruikers.
Het resultaat in $result kunnen we vervolgens naar een bestand wegschrijven:

Uiteraard hoeven we geen PowerShell te gebruiken. Nu we de bearer token hebben kunnen we de data ook opvragen in bijvoorbeeld Excel of in PowerBI.

In het onderstaande voorbeeld maak ik gebruik van PowerBI desktop om de data op te halen

Start met het ophalen van de gegevens:

Kies hierbij niet voor een OData-feed, maar voor een lege query:

In de Power Query-editor kiezen we voor de geavanceerde editor

De Source is de Odata feed die we ook in Powershell gebruikt hebben alleen vraag ik hier niet data van over Gebruikers op, maar de over de Machines:

“https://Admin7255.xendesktop.net/Citrix/Monitor/OData/v4/Data/Machines”

Ook hier geven we in de header het bearer token en de customer ID op

Zodra de we query hebben opgeslagen kunnen we met de data aan de slag

Daarnaast kunnen we samen gestelde queries maken:

https://{customerID}.xendesktop.net/Citrix/monitor/odata/v4/data/Users?$filter=Sessions/any(session: session/LogOnDuration gt 600000)

We kunnen daar bijvoorbeeld een filter aan toevoegen, in dit geval vragen we de sessies op van gebruikers die langer dan 10 minuten over het inloggen hebben moeten wachten.

Uiteraard beperken de mogelijkheden zich niet tot de gegevens over de gebruikers of Machines in Citrix Cloud. Om uitgebreidere queries mogelijk te maken heeft Citrix het database schema van de Monitor Service vrijgegeven.

https://developer-docs.citrix.com/projects/monitor-service-odata-api/en/7.16/#monitor-service-schema

https://developer-docs.citrix.com/projects/monitor-service-odata-api/en/7.16/api-schema.png

Meer informatie over OData is beschikbaar op de website van OData op https://www.odata.org/

Windows 10 April 2018 update

Gisteren is Windows 10 Build 1803 met codenaam ‘Redstone 4’ uitgekomen. Officieel staat deze release bekend als ‘April 2018 update’.

Zoals ook in de vorige versies staat het buildnummer voor het jaar en de maand waarin de update uitgekomen is, 18 voor 2018 en 03 voor … tja… voor april dus blijkbaar…

Nieuwe features

Build 1803 brengt ons naast beveiligings- en bugfixes ook een scala aan nieuwe features. Niet al deze features zijn waarschijnlijk even relevant in de VDI wereld als in een thuisomgeving.

Zo is de nearby sharing feature een nieuw toegevoegde feature waarmee je gemakkelijk bestanden kan delen met ‘nearby’ devices via Bluetooth of Wifi.

nearby sharing

Timeline is een andere nieuwe feature die de mogelijkheid biedt om verder te gaan met werkzaamheden waaraan je bezig was op een ander Windows 10 device of Android of iOS device die verbonden is met je Microsoft Account.

Timeline

Known issues

Voordat je build 1803 uit gaat rollen op je Citrix powered VDI’s is het wel raadzaam om de known issues van Citrix in artikel CTX231942 door te nemen

Op het moment van schrijven zijn er bij Citrix negen zaken bekend die problemen kunnen opleveren in combinatie met deze nieuwe Windows 10 build.

Zo zijn er zoals te lezen valt nog steeds problemen met de cursor in combinatie met hoge DPI instellingen op de client. Dit blijft een aanhoudend probleem en Citrix adviseerd om te upgraden naar de laatste versie van de Citrix Receiver, versie 4.11. Voor de LTSR versie van Receiver werkt Citrix nog aan een passende oplossing.

Een andere die ik er uit wil pikken is issue 5: “Virtual Machine’s provisioned using MCS that use PvD for user data enter into a BSOD upon logon from ICA session or through the Console.”

De personal vdisk is een depcrecated feature: https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-15-ltsr/whats-new/removed-features.html en wordt zodoende niet meer ondersteund.  Zowel PvD als Appdisks zijn vervangen door Citrix App Layering (het vroegere Unidesk voor de overname door Citrix).

Verder is er een probleem bekend met het printen door middel van een door Citrix UPS gemapte XPS printer. Dit komt doordat de XPS viewer niet standaard mee geïnstalleerd wordt in in build 1803.

Conclusie

De april 2018 update van Windows 10 brengt ons een berg aan nieuwe features, maar zoals altijd is het devies om een goede pilot te draaien met de nieuwe build voordat je deze bedrijfsbreed uitrolt.

Dag RDS?

De laatste paar dagen is er in de community flink gespeculeerd over de toekomst van de Remote Desktop Services (RDS) van Microsoft.

Microsoft heeft namelijk afgelopen week de Windows Server 2019 aangekondigd. De eerste preview daarvan viel gelijk te downloaden via het Insider programma waardoor men gelijk met het nieuwe OS aan de slag kon.

Een van de zaken die opviel in de nieuwe release was het missen van de RD Session Host rol:

Add roles en features (1)

Als je via een omweg toch de Session Host rol probeert te installeren resulteert dat in een foutmelding:

Add roles en features (2)

Het verwijderen van de Session Host rol lijkt in lijn met Microsoft’s stragegie om meer naar de Server OS’en zonder GUI te verschuiven.

In de nieuwe Semi Annual Channel, kort gezegd SAC, versies van Windows zal de GUI niet meer te installeren zijn. Deze zal alleen nog aanwezig zijn in de versies die onder de Long Term Servicing Channel, LTSC genaamd, vallen.

https://docs.microsoft.com/en-us/windows-server/get-started/semi-annual-channel-overview#release-channels-and-installation-options

Release channels en installatie opties

De halfjaarlijkse variant zal, zoals de naam al doet vermoeden, om het half jaar een nieuwe versie voortbrengen en heeft 18 maanden ondersteuning. De LTSC versie heeft een ondersteuningstermijn van maar liefst 10 jaar. Binnen het LTSC kanaal zullen we om de drie jaar een nieuwe versie kunnen verwachten.

De release van Server 2019 staat gepland voor de tweede helft van dit jaar.

1+1=2?

En nu? Heeft Microsoft met een reden de RD Session host rol verwijderd uit deze preview built? En zo ja, wat betekend dit voor bijvoorbeeld Citrix Xenapp?

Ten eerste is het nog helemaal niet duidelijk of de Session host rol inderdaad gaat verdwijnen uit Server 2019.  RDS is en blijft een populaire feature van Windows waardoor ik niet geloof dat Microsoft RDS zal verwijderen.

Naast het ontbreken van de RD Session Host rol van Server 2019 gaan er al langere tijd geruchten over een multiuser versie van Windows 10.

Een goed alternatief zou je denken, windows server en Windows 10 delen namelijk dezelfde codebase. Veel software leveranciers leveren daarnaast wel support op hun software op desktop OS’en, maar zijn nogal terughouden om hun software ook op een Server OS te ondersteunen.

Licentietechnisch lijkt dit voor Microsoft niet interessant; waarom zou je een goedkope RDS CAL aanbieden voor Windows 10, terwijl je ook een volledige Windows 10 licentie kan verkopen.

RDMi

Hoe past dit nu in het plaatje van de ook onlangs aangekondigde RDmi?

Met RDmi (Remote Desktop Modern Infrastructure) worden alle RDS backend services, zoals de Broker en de Gateway, als .NET core services aangeboden in Azure. In dit model neem je de backend services als dienst af in Azure.

Het grote voordeel hiervan is dat je RDS al voor een veel kleiner aantal gebruikers rendabel kan maken en simpel kan opschalen wanneer dat nodig is.

RDMi

Dit idee is natuurlijk niet nieuw, en lijkt veel op wat Citrix aan het doen is met Citrix Cloud, namelijk de zogenaamde Control Plane in de cloud zetten.

Citrix Cloud manages the operation of the control plane for XenApp and XenDesktop environments. This includes the controllers, management consoles, SQL database, license server, and optionally StoreFront and NetScaler Gateway. The Virtual Delivery Agents (VDAs) hosting the apps and desktops remain under the customer’s control in the data center of their choice, either cloud or on-premises.

Citrix Cloud

Ik zie de toevoeging van RDMi precies als dat, een toevoeging, waarbij klanten de mogelijkheid krijgen om de RDS infra flexibel in Azure te hosten of traditioneel on premises te laten draaien.  Het is duidelijk dat Microsoft de trend om steeds meer zeken als dienst in Azure af te nemen hier door zet (denk bijvoorbeeld aan Azure MFA).

Tot slot

De MVP’s die ik gesproken heb geven geen commentaar of willen niks bevestigen of ontkennen over het uitblijven van de RD Session Host of de switch naar Multiuser Windows 10 versies. Totdat Microsoft hier opheldering overgeeft zal het bij speculeren moeten blijven.

Vaarwel AppDNA

Afgelopen week heeft Citrix versie 7.17 van Xenapp en Xendesktop geintroduceerd. Daarmee hebben ze ook de lijst met deprecated features bijgewerkt.

Tot mijn grote verbazing stond ook AppDNA op de lijst om uit volgende versies van Xenapp en Xendesktop verwijderd te gaan worden.

Wat is AppDNA

Applicatie migratie projecten kunnen tijdrovend zijn. Er is veel tijd nodig om het applicatie landschap in kaar t te brengen en om te toetsen of de applicaties geschikt zijn voor bijvoorbeeld een migratie naar Windows 10 of Xenapp 7 omgeving met Windows Server 2016 door bijvoorbeeld het doen van applicatie intakes.

AppDNA, can minimize the time and effort required to verify app compatibility in the new OS. By automating the app compatibility checks for all apps within the virtual environment, you can save up to 90% of time on testing and remediation.

AppDNA kon hierin helpen door de applicaties te analyseren en te bepalen of de applicaties geschikt waren voor de nieuwe omgeving. Daarnaast kon er een risico analyse gedaan worden.

Na de analyse gaf AppDNA een overzicht met daarin drie classificaties, Red, Amber en Green.

  • Red; de applicaties is waarschijnlijk niet geschikt voor de nieuwe omgeving;
  • Amber, hierbij is de applicatie waarschijnlijk geschikt voor migratie echter heeft deze wel aandacht nodig;
  • Green, geeft aan dat de applicatie geschikt is voor gebruik in de nieuwe omgeving.

Meer informatie over AppDNA is te vinden op de Citrix website.

TLS 1.0 en TLS 1.1

Naast AppDNA staat ook de ondersteuning voor TLS 1.0 en 1.1 op de nominatielijst om verwijderd te worden uit de toekomstige versies van Xenapp en Xendesktop. Dit is op zich niet erg verwonderlijk gezien het dat TLS 1.0 al uit 1999 stamt en TLS 1.2 ook al weer meer dan 10 jaar oud is!

Inmiddels staat ook de opvolger van TLS 1.2, heel verwonderlijk TLS 1.3 genaamd al in de startblokken. Op dit moment is TLS 1.3 nog in draft, maar Cloudflare bijvoorbeeld heeft TLS 1.3 al beschikbaar gemaakt voor zijn klanten. Ook voor de Netscaler ADC is er een beta versie die ondersteuning bied voor TLS 1.3 al beschikbaar op aanvraag bij Citrix.

Meer info

Meer informatie over alle deprecated features is te vinden bij Citrix: https://docs.citrix.com/en-us/xenapp-and-xendesktop/current-release/whats-new/removed-features.html