Récemment nous avons testé l’API Odata afin de pouvoir interroger la base de monitoring sans passer par des requêtes SQL, le but étant de faire un export afin d’alimenter un “puits de données”
Dans un premier temps si vous souhaitez en savoir plus sur l’API Odata dans XenApp 7x, nous vous recommandons la lecture des liens ci-dessous :
- XenDesktop 7 Monitor Service – What Data is Available
- Creating Director Custom reports for Monitoring XenDesktop
- Monitor Service OData API
- Citrix.Monitor.Model Namespace
Un exemple en Powershell pour consulter la liste des applications publiées d’une ferme XenApp 7x (à exécuter à partir d’un DDC ou remplacer Localhost par le Hostname d’un de vos DDC) :
$AppsNamedata = Invoke-RestMethod -UseDefaultCredentials -URI "http://localhost/Citrix/Monitor/Odata/v2/Data/Applications" $AppsName = $AppsNamedata.content.properties $AppsName|Select Name
Dans notre cas et sur la ferme en question nous n’arrivions pas à obtenir la liste des applications publiées.
Comme nous avions testé l’API Odata sur la partie Session et Users avec succès, on comprend vite que la partie Application va poser problème.
En regardant dans la base de Monitoring nous avons constaté que la table Monitor.Application était vide (via un ” Select Top 1000 Rows” sur la Table “Monitor.Application” de votre Base de monitoring).
On comprend mieux pourquoi en passant par “…..Odata/v2/Data/Applications” nous n’obtenions aucun retour
Dans Director lors d’une recherche sur un utilisateur nous obtenions bien la liste des applications lancées au sein des divers sessions.
Durant notre troubleshooting nous avions constaté sur d’autres fermes XenApp (7.6 LTSR CU1/CU2) et XenApp 7.11) que la Table Monitor.Application sur leurs bases de monitoring respectives était bien peuplée.
Après de nombreux check check SQL, XenApp et traces Wireshark nous avons constaté que les serveurs de Licence Citrix étaient différents entre les fermes qui remontaient bien les applications dans la table Monitor.Application et les fermes qui ne remontaient aucune information dans la table Monitor.Application.
En fait le problème n’est pas un problème mais plutôt un truc du style “C’est by design”, en version Platinum les informations concernant les applications sont bien remontées dans la table Monitor.Application et en version Enterprise rien n’est remontées côté Applications.
Avec des licences Platinum on se sent tout de suite plus à l’aise 🙂
La base de monitoring ou pointe une de nos fermes en Platinum
Durant nos tests (sur une ferme XenApp 7.6 LTSR US) nous avons constaté que toutes les informations étaient facilement consultables et exportables sauf la partie Application qui est contenue dans “http://localhost/Citrix/Monitor/Odata/v2/Data/Applications”
Après le coup de la rétention de 7 jours dans Director (en licence Enterprise), on a le coup de la Table Monitor.Application vide en licence Enterprise 🙂 .