Verslag E2EVC

Begin november was in Athene de 40ste editie van de E2EVC. Samen met mijn collega Ryan Ververs-Bijkerk hadden we de mogelijkheid om dit event te bezoeken.

De E2EVC is een half jaarlijks event in Europa, welke in iedere iteratie in een andere Europese stad wordt gehouden. De E2EVC staat voor Experts to Experts Virtualization Conference. Een hele mond vol, maar wel een naam die de lading dekt. Door Experts voor Experts.

E2EVC Virtualization Conference Events is a series of worldwide non-commercial, virtualization community Events.

Our main goal is to bring the best virtualization experts together to exchange knowledge and to establish new connections. E2EVCis a weekend crammed with presentations, Master Classes and discussions delivered by both virtualization vendors product teams and independent experts.

De E2EVC wordt onder andere georganiseerd door Alex Cooper (@E2EVC) . Hij heeft zich de afgelopen 15 jaar en 40 events ingezet om de Citrix en virtualization community bij elkaar te brengen.

In tegenstelling tot bijvoorbeeld VMworld van VMware of Synergy en de Summit van Citrix is de E2EVC volledig onafhankelijk. Naast het onafhankelijke karakter zijn er nog een aantal zaken die de E2Evc onderscheiden van andere events. Ten eerste wordt het event altijd in het weekend georganiseerd. Hierdoor hoef je geen week vrij te nemen of niet facturabel te zijn om het event bij te wonen. Daarnaast verzorgt Alex het vervoer van en naar het hotel! Verder is er altijd een gesponsord diner zodat de aanwezigen onder het genot van een hapje en drankje kunnen netwerken.

Voor mij was dit de eerste E2EVC, ik was een ‘E2E Newbie’. Door de enorme populariteit had ik niet de mogelijkheid om de vorige E2EVC in Amsterdam bij te wonen.

Daarbij is de E2EVC de meest technische conferentie is ik heb meegemaakt. Zoals de naam al zegt is het event wat niet alleen voor Experts is, maar ook door Experts wordt gedragen. Alle technische sessies worden gegeven door experts uit de community met sprekers uit binnen en buitenland zoals onze eigen Ryan Bijkerk-Ververs, Ingmar Verheij en Esther Barthel, maar ook bijvoorbeeld Thomas Poppelgaard, Brian Madden, en App-v guru Tim Mangan.

Naast de technische sessies is er ook voldoende ruimte om op een relaxte manier te netwerken en hebben we zelfs wat sightseeing kunnen doen.

Al met al kan ik iedereen van harte aanraden om een van de komende E2EVC’s bij te wonen. De E2EVC biedt wat voor iedereen, of je nu een Citrix beheerder bent, of een App-v guru.

Neem dat maar van een E2E Newbie aan, je zult niet teleurgesteld worden, integendeel…. 🙂

De aankomende E2EVC wordt gehouden in juni in Berlijn. Vanwege de aannemende populariteit van het event is de volgende editie in Berlijn op 7 en 8 juni alweer uitverkocht. In het november 2019 organiseert de E2EVC hun najaars event in Lissabon. Het lijkt nog ver weg, maar het zou me niet verbazen als deze editie ook binnen no time is uitverkocht.

Zie ik jullie daar?

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/