Le EdgeSight du pauvre

———————–
MAJ 05/04/2016
———————–
Ajout du “ClientVersion” afin d’obtenir la version du receiver de chaque utilisateur

———————-

Suite à des BSOD provoqués par nos agents EdgeSight, nous avons dû en urgence désinstaller les clients EdgeSight d’un silo d’une ferme XenApp 6.5 R03 us (les dumps sont en cours d’analyse et pour l’instant le coupable est rskcore.sys).

Nous avons certes rétabli le service, mais nous avons perdu des informations utiles comme “qui lance les applications publiées” (informations disponibles en mode avancé) 🙁 .

Du coup nous avons mis en place un script PowerShell qui récupère les applications publiées lancées au sein de notre ferme, puis écrit tout ça dans un fichier à plat (on va rapidement passer ça dans une base sql).

 

Edg_du_Pauvre011Et voila ce que ça donne sous excel (on vous l’avais dit c’est le EdgeSight du pauvre 🙂 mais ça rend le service

Comment fonctionne le script ? Tout d’abord nous ne souhaitions pas installer d’agent sur chaque serveur membre de la ferme ou passer par un login script (bien que GETPUBAPP de chez Ctrl-Alt-Del aurait parfaitement fait l’affaire), une solution est donc d’interroger le ZDC via un serveur d’administration par exemple (et là on entend certains crier HOULA).

Le script en lui-même est on ne peut plus simple, en gros on fait un “Get-Xasession|?{$_.LogOnTime -gt $Date3}” ($Date3 étant égal à l’heure du jour moins une minute) toutes les minutes et on ne récupère que les sessions ouvertes la dernière minute.

Concernant la mise en place du script, plusieurs solutions sont possibles comme une tache planifiée, un service ou bien un login script computer. Nous avons opté pour un service afin que ce dernier puisse se relancer en cas de d’arrêt du script.

Pour la création du service on passe par un bon vieux SC  (au préalable nous avions compiler notre script via PowerGui, le binaire sera lancé via SRVAny avec un compte admin de la ferme XenApp ) :

SC CREATE “ServiceName” binPath= “YourPath” DisplayName= “DisplayName” start= auto

 

Edg_du_Pauvre012Un tableau dynamique plus loin 😉

Download_2UsrApp.ps1


—————–

06/08/2014
—————–
Le script crée désormais un fichier de log par mois (NomDeLaFerme_Année-Mois_UsrApp.txt)

Post to Twitter

8 réflexions sur « Le EdgeSight du pauvre »

  1. mefiance… pour ma part des query vbs toutes les 5′ sur le serveur de licences declenchés par l’ordonnanceur windows pour faire des decomptes de licences citrix silo par silo (select from sur base insight pour identification des serveurs / silo + insert into pour le resultat / utilisation des reports dans ES) provoque de temps a autre wscript.exe bloqué a 100% CPU (en fake, car le serveur n’est pas overbooké pour autant)

    donc les scripts manuel crontabé trop frequemment = mefiance…

    1. @Yosh

      VB quoi ? 🙂
      Tout à fait, si on peut éviter d’interroger le ZDC il ne faut pas s’en privé, dans le cas présent c’est une façon de récupérer les informations en fonction d’un contexte et des exigences associées à ce contexte.
      Pour l’instant nous n’avons aucune conso cpu/mémoire anormal sur le ZDC et le serveur d’admin depuis la mise en prod il y a 6 jours.

  2. Citrix / Microsoft analysent vos dump ? bug Agent ES identifié pour sur ? je viens de finir de deployer sur prod 24/7 vous me fichez les jetons… pas envie de jouer les pompiers / ma place à 3h du matin (ni en journée du reste…)

    d’autres personnes sur ces BOSD ?
    pour l’instant pas de pb pour moi mais je suis en RP02…

    1. @Yosh,

      L’origine du problème a été identifié, le problème venait de reset à l’arrache des VMs, le tout en random (même en pleine nuit lol). Ces resets ont occasionnés des BSOD avec comme origine rskcore.sys). La bonne nouvelle est que tu n’ai plus à t’en faire pour ton job 😉 , bien sûr on ne répond pas à la question fondamental 😉

      1. pfff … des resets de vms à l’arrache en pleine nuit …
        David, avoue que tu voulais toucher plein de brouzoufs en astreinte juste avant les vacances 😉 ça tute un V6 !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*