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

Exclusions antivirus


MAJ : 04/01/2017
Ajout d’une exclusion dans la section UPM


Ajout de l’exclusion : %ProgramFiles%\Citrix\User Profile Manager\Driver\UpmJit.sys


MAJ : 07/10/2015
Ajout de la section PVS servers


Récemment nous avons du mettre  en place des exclusions antivirus (pour des clients SEP 11 ) destinées à des environnements XenApp (5,6.0 et 6.5), et comme à chaque fois on avait pas sous la main une trame générique regroupant les principales exclusions antivirus Microsoft et Citrix .

Afin de ne plus chercher,  nous avons regroupé les principales exclusions dans ce billet.

 

W2K8 R2 

EdgeSight Exclusions Agent

  • %ALLUSERSPROFILE%\Application Data\Citrix\System Monitoring\Data
  • %ProgramFiles%\Citrix\System Monitoring\Agent\Core\rscorsvc.exe
  • %ProgramFiles%\ Citrix\System Monitoring\Agent\Core\Firebird\bin\fbserver.exe

XenApp 6.5 Exclusions

  • %ProgramFiles(x86)%\Citrix\Group Policy\Client-Side Extension\CitrixCseEngine.exe
  • %ProgramFiles(x86)%\Citrix\System32\wfshell.exe
  • %ProgramFiles(x86)%\Citrix\System32\ctxxmlss.exe
  • %ProgramFiles(x86)%\Citrix\System32\CtxSvcHost.exe
  • %ProgramFiles(x86)%\Citrix\System32\mfcom.exe
  • %ProgramFiles(x86)%\Citrix\System32\Citrix\Ima\ImaSrv.exe
  • %ProgramFiles(x86)%\Citrix\System32\Citrix\Ima\IMAAdvanceSrv.exe
  • %ProgramFiles(x86)%\Citrix\HealthMon\HCAService.exe
  • %ProgramFiles(x86)%\Citrix\Streaming Client\RadeSvc.exe
  • %ProgramFiles(x86)%\Citrix\Streaming Client\RadeHlprSvc.exe
  • %ProgramFiles(x86)%\Citrix\Independent Management Architecture\RadeOffline.mdb
  • %ProgramFiles(x86)%\Citrix\Independent Management Architecture\imalhc.mdb

Windows Exclusions

  • %windir%\SoftwareDistribution\Datastore\Datastore.edb
  • %windir%\SoftwareDistribution\Datastore\Logs\*.log
  • %windir%\SoftwareDistribution\Datastore\Logs\*.jrs
  • %windir%\SoftwareDistribution\Datastore\Logs\Edb.chk
  • %windir%\SoftwareDistribution\Datastore\Logs\Tmp.edb
  • %windir%\Security\Database\*.edb
  • %windir%\Security\Database\*.sdb
  • %windir%\Security\Database\*.log
  • %windir%\Security\Database\*.chk
  • %windir%\Security\Database\*.jrs
  • %allusersprofile%\NTUser.pol
  • %windir%\System32\GroupPolicy\Machine\Registry.pol
  • %windir%\system32\csrss.exe
  • %windir%\system32\spoolsv.exe
  • %windir%\system32\winlogon.exe
  • %windir%\system32\userinit.exe
  • %windir%\system32\smss.exe
  • %windir%\System32\Spool

UPM

  • %ProgramFiles%\Citrix\User Profile Manager\UserProfileManager.exe
  • %ProgramFiles%\Citrix\User Profile Manager\Driver\UpmJit.sys

PVS (servers)

  • %windir%\System32\drivers\CvhdBusP6.sys
  • %windir%\System32\drivers\CfsDep2.sys
  • %ProgramFiles%\Citrix\Provisioning Services\BNTFTP.EXE
  • %ProgramData%\Citrix\Provisioning Services\Tftpboot\ARDBP32.BIN
  • %ProgramFiles%\Citrix\Provisioning Services\StreamService.exe
  • %ProgramFiles%\Citrix\Provisioning Services\StreamProcess.exe
  • %ProgramFiles%\Citrix\Provisioning Services\soapserver.exe
  • %ProgramFiles%\Citrix\Provisioning Services\PVSTSB.exe
  • %ProgramFiles%\Citrix\Provisioning Services\BNAbsService.exe
  • %ProgramFiles%\Citrix\Provisioning Services\Notifier.exe (à partir de PVS 6.0)
  • %ProgramFiles%\Citrix\Provisioning Services\MgmtDaemon.exe (à partir de PVS 6.0)
  • %ProgramFiles%\Citrix\Provisioning Services\Inventory.exe (à partir de PVS 6.0)
  • …\Store (chemin du répertoire hébergeant les vDisk store)

PVS (poste cible)

  • %ProgramFiles%\Citrix\Provisioning Services\drivers\CNicTeam.sys
  • %ProgramFiles%\Citrix\Provisioning Services\BNDevice.exe
  • %ProgramFiles%\Citrix\Provisioning Services\drivers\BNIStack6.sys
  • %ProgramFiles%\Citrix\Provisioning Services\drivers\CVhdBusp6.sys
  • …\.vdiskcache (emplacement du fichier de cache vdisk)
  • %ProgramFiles%\Citrix\Provisioning Services\TargetOSOptimizer.exe
  • %ProgramFiles%\Citrix\Provisioning Services\drivers\CFsDep2.sys

 

W2K3 (32 bits)

EdgeSight Exclusions Agent

  • %ALLUSERSPROFILE%\Application Data\Citrix\System Monitoring\Data
  • %ProgramFiles%\Citrix\System Monitoring\Agent\Core\rscorsvc.exe
  • %ProgramFiles%\ Citrix\System Monitoring\Agent\Core\Firebird\bin\fbserver.exe

XenApp Exclusions

  • %ProgramFiles%\Citrix\System32\wfshell.exe
  • %ProgramFiles%\Citrix\System32\ctxxmlss.exe
  • %ProgramFiles%\Citrix\System32\mfcom.exe
  • %ProgramFiles%\Citrix\System32\Citrix\Ima\ImaSrv.exe
  • %ProgramFiles%\Citrix\System32\Citrix\Ima\IMAAdvanceSrv.exe
  • %ProgramFiles%\Citrix\HealthMon\HCAService.exe
  • %ProgramFiles%\Citrix\Streaming Client\RadeSvc.exe
  • %ProgramFiles%\Citrix\Independent Management Architecture\RadeOffline.mdb
  • %ProgramFiles%\Citrix\Independent Management Architecture\imalhc.mdb

Windows Exclusions

  • %windir%\SoftwareDistribution\Datastore\Datastore.edb
  • %windir%\SoftwareDistribution\Datastore\Logs\*.log
  • %windir%\SoftwareDistribution\Datastore\Logs\*.jrs
  • %windir%\SoftwareDistribution\Datastore\Logs\Edb.chk
  • %windir%\SoftwareDistribution\Datastore\Logs\Tmp.edb
  • %windir%\Security\Database\*.edb
  • %windir%\Security\Database\*.sdb
  • %windir%\Security\Database\*.log
  • %windir%\Security\Database\*.chk
  • %windir%\Security\Database\*.jrs
  • %allusersprofile%\NTUser.pol
  • %Systemroot%\System32\GroupPolicy\Machine\Registry.pol
  • %SystemRoot%\system32\csrss.exe
  • %SystemRoot%\system32\spoolsv.exe
  • %SystemRoot%\system32\winlogon.exe
  • %SystemRoot%\system32\userinit.exe
  • %SystemRoot%\system32\smss.exe
  • %systemroot%\System32\Spool

UPM

  • %ProgramFiles%\Citrix\User Profile Manager\UserProfileManager.exe

 

W2K3 64 bits

EdgeSight Exclusions Agent

  • %ALLUSERSPROFILE%\Application Data\Citrix\System Monitoring\Data
  • %ProgramFiles%\Citrix\System Monitoring\Agent\Core\rscorsvc.exe
  • %ProgramFiles%\ Citrix\System Monitoring\Agent\Core\Firebird\bin\fbserver.exe

XenApp Exclusions

  • %SystemRoot%\system32\csrss.exe
  • %SystemRoot%\system32\spoolsv.exe
  • %SystemRoot%\system32\winlogon.exe
  • %SystemRoot%\system32\userinit.exe
  • %SystemRoot%\system32\smss.exe
  • %ProgramFiles(x86)%\Citrix\System32\wfshell.exe
  • %ProgramFiles(x86)%\Citrix\System32\ctxxmlss.exe
  • %ProgramFiles(x86)%\Citrix\System32\mfcom.exe
  • %ProgramFiles(x86)%\Citrix\System32\Citrix\Ima\ImaSrv.exe
  • %ProgramFiles(x86)%\Citrix\System32\Citrix\Ima\IMAAdvanceSrv.exe
  • %ProgramFiles(x86)%\Citrix\HealthMon\HCAService.exe
  • %ProgramFiles(x86)%\Citrix\Streaming Client\RadeSvc.exe
  • %ProgramFiles(x86)%\Citrix\Independent Management Architecture\RadeOffline.mdb
  • %ProgramFiles(x86)%\Citrix\Independent Management Architecture\imalhc.mdb

Windows Exclusions

  • %SystemRoot%\SoftwareDistribution\Datastore\Datastore.edb
  • %SystemRoot%\SoftwareDistribution\Datastore\Logs\*.log
  • %SystemRoot%\SoftwareDistribution\Datastore\Logs\*.jrs
  • %SystemRoot%\SoftwareDistribution\Datastore\Logs\Edb.chk
  • %SystemRoot%\SoftwareDistribution\Datastore\Logs\Tmp.edb
  • %SystemRoot%\Security\Database\*.edb
  • %SystemRoot%\Security\Database\*.sdb
  • %SystemRoot%\Security\Database\*.log
  • %SystemRoot%\Security\Database\*.chk
  • %SystemRoot%\Security\Database\*.jrs
  • %allusersprofile%\NTUser.pol
  • %Systemroot%\System32\GroupPolicy\Machine\Registry.pol
  • %SystemRoot%\system32\csrss.exe
  • %SystemRoot%\system32\spoolsv.exe
  • %SystemRoot%\system32\winlogon.exe
  • %SystemRoot%\system32\userinit.exe
  • %SystemRoot%\system32\smss.exe
  • %systemroot%\System32\Spool

UPM

  • %ProgramFiles(x86)%\Citrix\User Profile Manager\UserProfileManager.exe

 

Web Interface

  • %SystemRoot%\system32\LogFiles
  • %systemroot%\system32\inetsrv

 

EdgeSight Server

  • %SystemRoot%\system32\LogFiles
  • %systemroot%\system32\inetsrv
  • %ProgramFiles%\Citrix\System Monitoring\Server\EdgeSight\scripts\rssh
  • %ProgramFiles%\Citrix\System Monitoring\Server\EdgeSight\Pages

 

Serveur de Licence Citrix

  • %ProgramFiles(x86)%\Citrix\Licensing
  • %systemroot%\system32\inetsrv
  • %SystemRoot%\system32\LogFiles

 

Serveur de Licence RDS

  • %SystemRoot%\System32\LServer\*.edb
  • %SystemRoot%\System32\LServer\*.log
  • %SystemRoot%\System32\LServer\*.tmp
  • %SystemRoot%\System32\LServer\*.chk

 

Quelques liens sur les exclusions antivirus Microsoft et Citrix :

Post to Twitter

Erreur Java suite à l’installation d’un agent EdgeSight

Sur un silo applicatif (XenApp 5 R06 2003 32 bits sp1 Us + JRE 1.6.0_14-b08, oui la JRE n’est pas UpToDate)  nous avons rencontré l’erreur Java ci-dessous suite à l’installation d’un client EdgeSight (5.3.4136.3 ).

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the java virutal machine 


Sauf que dans notre cas et c’est là que ça devient marrant, l’erreur intervenait uniquement en bureau publié (et en bureau RDP).

En regardant le batch lançant l’application on constate que la partie -Xmx est à 1024 Mo (-Xmx1024M ), si on descend le Xmx l’application se lance sans erreur mais cette option n’est pas envisageable dans notre cas (problème de support de l’éditeur 🙂 ).

Si vous souhaitez en savoir plus sur l’Xmx : Xmx to set the maximum heap memory size

Dans notre cas la modification de la valeur UviProcessList (rajout de java.exe et javaw.exe dans les exclusions)  dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\rskcore permet logiquement de bypasser l’erreur “Error occurred during initialization of VM“.

Une GPP après, le problème subsistait :).

La correction est venu via l’upgrade de l’agent Edgesight 5.3.4136.3 en 5.34140.4.

Quelques liens traitant de l’erreur :
http://www.archy.net/citrix-edgesight-5-2-1-could-not-create-the-java-virtual-machine
http://support.citrix.com/article/CTX115868 
https://forums.oracle.com/forums/thread.jspa?messageID=6438592 

Post to Twitter

Erreur : The Citrix System Monitoring Agent cannot contact the Citrix End User Experience Monitor….

Le contexte : Plusieurs fermes (4.5 R06/5 R06 en 32/64 bits et XA6.0/6.5 R01 le tout en us), au sein de ces fermes des serveurs rencontraient l’erreur :

Event Source: Citrix System Monitoring Agent
Event ID: 109
Description: The Citrix System Monitoring Agent cannot contact the Citrix End User Experience Monitor. EUEM data will not be collected. Contact Citrix Support.
 


La cause vient du fait que les serveurs n’ont pas d’accès à internet alors que le service “Citrix End User Experiencing Monitoring” tente de se connecter à crl.microsoft.com afin de valider un certificat.

La CTX120846 permet de contourner ce problème en créant un fichier “SemsService.exe.config”sur chaque serveurs rencontrant le problème dans “c:\Program Files\ Citrix\ EUEM\Service\”.

Le contenu du fichier “SemsService.exe.config” :

<? xml version = “1.0” encoding = “utf-8”>
<configuration> <runtime>
<generatePublisherEvidence enabled=”false” />
</ runtime>
</ configuration>
 

 

Il existe aussi la solution GPO qui consiste à désactiver la mise à jour automatique des certificats racines 🙂 .
 


Mais car il y a un mais dans notre cas 😉 , l’activation de ce setting n’est pas possible dans l’immédiat, donc direction un script powershell qui va copier le fichier SemsService.exe.config  sur l’ensemble des serveurs d’une ferme.

Le script EdgeSightCopySemsService_exe_config.ps1 check l’Os archicture de chaque serveur et test si le répertoire c:\Program Files\ Citrix\ EUEM\Service\ (ou c:\Program Files (x86)\ Citrix\ EUEM\Service\) existe,  puis vérifie que le fichier “SemsService.exe.config” n’est pas déjà présent, s’il n’est pas présent il le copie sur le serveur.

Rentrer en ligne 6 dans le script le share où se trouve le fichier SemsService.exe.config dans votre infra.
 

EdgeSightCopySemsService_exe_config.ps1
 

En attendant de passer ça en GPO faute de mieux ça fera l’affaire 🙂 .

Pour en savoir un peu plus sur l’EUEM c’est par ici.

Post to Twitter

Edgesight : Event ID 1309 – Source ASP.NET 2.0.50727.0

Sur un serveur Edgesight 5.4 (2008 R2 sp1 Us) nous avons rencontré un nombre important d’event “1309” avec comme source “ASP.NET 2.0.50727.0”.

Log Name:      Application
Source:        ASP.NET 2.0.50727.0
Event ID:      1309
Task Category: Web Event
Level:         Warning
Description:
Event code: 3005
Event message: An unhandled exception has occurred.
Event ID: 1c67873e29fa45d6a65cd9d22b71ac12
Event sequence: 3396
Event occurrence: 438
Event detail code: 0 

Après un google nous avions trouvé la ctx132116 qui dans notre cas n’a pas fonctionné (modification du fichier web.config), un thread (sur le forum Citrix) traitant de l’erreur 1309 nous a permis de résoudre cette erreur.

 

Allez dans le Gestionnaire de serveur, puis dans IIS, puis allez dans le site Edgesight (logiquement ce dernier est situé dans le Default Web site).

Cliquez sur Application Settings (paramètres d’application)
Cliquez sur Ajouter (dans la colonne Actions) 

 

Ajoutez le paramètre aspnet:MaxHttpCollectionKeys (nous avons opté pour une valeur de 50000 au départ, puis nous avons rabaissé la valeur à 30000).

La ctx132116 explique comment attribuer une valeur au départ à aspnet:MaxHttpCollectionKeys puis conseille d’augmenter ou réduire cette valeur passer 24 H.

Post to Twitter

Script : recherche de version agent Edgesight

Récemment nous avons eu besoin d’extraire des listes de serveurs au sein de fermes XA6.5,  n’ayant pas la version de l’agent EdgeSight de référence ainsi que les serveurs n’ayant pas d’agent EdgeSight installé.

Nous avons donc écrit un script powershell permettant de remonter ces informations dans un fichier htm.

Au préalable il faut renseigner la version de l’agent EdgeSight validé dans votre production ligne 11 du script.

Dans notre cas une 5.4.0.5107 que notre collègue Net2Sys affectionne 😉


11 serveurs n’ont pas d’agent et un n’est pas à jour.
C’est paradoxal mais on évite de passer par EdgeSight pour la version des agents 🙂 

 

 

 

Post to Twitter

White paper : Logon Optimization

Citrix vient de mettre à jour son White paper “Logon Optimization”,  à lire impérativement si vous souhaitez comprendre et optimiser vos logons  (qui ne le voudrait pas 🙂 ) .

 


Un schéma que vous connaissez déjà 😉

Sympa ce screenshot Edgesight qui vous donnes la définition des divers abréviations contenu dans le tableau “détail de démarrage du serveur”

Ho le beau PLSD (temps de chargement du profil), reste plus qu’à…. 🙂


Post to Twitter

Impossibilité d’exécuter une tâche à distance sur un agent EdgeSight 5.4

Sur un serveur EdgeSight (EdgeSight 5.4 en Windows 2003 sp2 Fr) nous avions l’erreur ci-dessous lors de l’exécution manuelle des tâches à distance sur un agent :

Une erreur s’est produite lors de la connexion à la machine  : Accès Refusé : vous n’avez pas la permission d’accéder à cette ressource.




La CTX111046 traite le problème en recommandant de modifier le valeur RemoteSecurity ou bien la valeur RemoteSecurityGroup (HKEY_LOCAL_MACHINE\Software\Citrix\System Monitoring\Agent\Core\4.00\), ces deux valeurs permettent de fixer le niveau de sécurité des accès à distance de l’agent.

Valeur RemoteSecurity avant modification


Une fois la valeur RemoteSecurity passé à 0, l’exécution de tâche fonctionne sans problème (bien sûr il est déconseiller de laisser la valeur RemoteSecurity à 0 dans un environnement de production) .

Post to Twitter

EdgeSight : problème d’inscription de serveur

Recensement nous avons rencontré un problème d’inscription de serveur (Serveur XenApp 6.5 fr avec un agent Edgesight 5.4)  au sein d’un EdgesSight 5.4.


En effet le serveur refusait de s’inscrire dans Edgesight, aucune log côté serveur EdgeSight, idem sur le serveur XenApp récalcitrant (aucun event system et appli), le fichier SYS_EVENT_TXT.txt (C:\ProgramData\Citrix\System Monitoring\Data) ne donnant rien non plus, nous avons opter pour la solution bourrin ci-dessous.

Afin de pouvoir inscrire le serveur nous avons du réaliser les actions ci-dessous (c’est trash mais bon) :

  • arrêter les services “Serveur Firebird : CSMInstance” (FirebirdServerCSMInstance) et “Agent de surveillance système Citrix” (RSCorSvc)
  • Supprimer les fichiers EdgeSight.ini et RSDATR.FDB dans C:\ProgramData\Citrix\System Monitoring\Data
  • Relancez les services  « Agent de surveillance système Citrix » et « FirebirdServerCSMInstance »

Quelques liens pratique sur le sujet :
http://support.citrix.com/article/CTX112209
http://support.citrix.com/article/CTX116547

Post to Twitter

EdgeSight Agent 5.3 : missing tab «mode»

On a  XenApp 2008 R2 Fr Server, we moved from the Enterprise version to the Platinum version. At the conclusion of this update the tab “Mode” of the agent EdgeSight (5.3) had disappeared.

A google later and we arrive on CTX129029.

After upgrading from XenApp Enterprise to XenApp Platinum Edition, the EdgeSight Agent remains in “Basic” mode instead if being upgraded to “Advanced” mode automatically. The upgrade also removes the Mode tab, making it impossible to upgrade the agent manually. This fix restores the Mode tab, allowing for the agent mode to be set manually.

Once the last hotfix we found the tab mode.

Post to Twitter