XenApp_Check

MAJ :03/12/2014
Version : 2.6 (XA6x)

Le check du nombre de serveur(s) publié(s) au sein d’une application comprend désormais les Worker Groups (section “Server in Application(s)”)

XenAppcheck_26


 

Afin de connaitre l’état de nos fermes XenApp, nous avons mis en place un script powershell (XenApp_Check.ps1) afin que ce dernier nous remonte un ensemble d’informations permettant de se faire une idée précise de l’état de nos fermes XenApp.

XenApp_Check va générer un fichier .htm et procéder à un envoi de mail du rapport (format .html) afin que vous puissiez être informé où que vous soyez.

XenApp_Check (tout comme XenApp_InfoFarm) est très fortement inspiré pour la partie graphique du script vcheck de la communauté Vmware.

XenApp_Check va remonter une série d’informations permettant d’avoir une synthèse de la ferme XenApp accompagnée du résultat d’une série de checks (détaillés plus bas dans ce billet) permettant d’avoir un instantané de l’état de la ferme XenApp (très pratique le matin quand les admins arrivent par exemple, ou si vous devez intervenir sur une ferme XenApp que vous n’avez jamais administré 🙂 ).

XenApp_Check a été testé sur des serveurs Windows 2003 Fr sp2 et des fermes XenApp 5 fr en R01,R03 et R06, XenApp_CheckXA6 a été testé sur des serveurs 2008 R2 sp1 et des fermes en XenApp 6 R01.

Partie information :

  • Nom de la ferme
  • Type de datastore
  • Serveur licence XenApp et son port
  • Nombre d’application(s) de la ferme
  • Nombre de serveur(s) de la ferme
  • Nombre de stratégie(s) de la ferme
  • Nombre de calculateur(s) de charge de la ferme
  • Nombre d’administrateur(s)

Partie Check :

  • Dschek
  • Stratégie(s) désactivée(s)
  • Test de présence de l’event 4033 sur les serveurs membres de la ferme XenApp (afin de pouvoir visualiser les éléctions de ZDC)
  • Test des principaux services XenApp (ainsi que le service Spooler) sur les serveurs membres de la ferme XenApp
  • Test de l’espace disque restant sur les serveurs membre de la ferme XenApp (si l’espace disque est inférieur à 1,7 Go alors nous considerons que c’est une alerte à remonter)
  • Test si l’ouverture de session sur les serveurs membres de la ferme n’est pas désactivée
  • Test si les serveurs membres de la ferme XenApp appartiennent à un calculateur de charge spécifique (dans notre cas le calculateur de charge se nomme “MAINTENANCE” et permet de sortir un serveur de notre production via la planification horaire )
  • Test si une application a au moins deux serveurs pour sa publication
  • Test si une application est désactivée




Pré-requis XenApp_Check :

  • Powershell V2
  • Citrix XenApp Command CTP3
  • Modifier la ligne 24 du fichier XenApp_Check.ps1 afin d’indiquer l’emplacement ou se trouvera le fichier Ctx_Function.ps1
  • Modifier les lignes 27,29 et 31 la partie Configurez la partie “# Set the SMTP Server address” du fichier XenApp_Check.ps1 pour la partie envoie de mail
  • Modifier les lignes 41 et 43 du fichier XenApp_Check.ps1 afin de préciser où seront stocker les html et leurs backup

L’exécution de XenApp_Check sur une ferme de 304 serveurs, 484 applications, 6 zones, 10 calculateurs de charge et 10 stratégies prend environ 45 mn 30 mn.

Vos suggestions et critiques sont les bienvenus 😉 .

 

 

XenApp_Check (XenApp 5)

XenApp_CheckXA5.rar

 

 

XenApp_CheckXA6 (XenApp 6.x)

XenApp_CheckXA6.rar

——————–

MAJ :19/09/2014

Version : 2.5 (XA5x)

Rajout des sections UPM et Statut (voir MAJ du 13/09/2013 pour plus de détails)

 

MAJ :13/09/2014

Version : 2.5 (XA6x)

Dans cette mise à jour  nous avons ajouté une section “UPM version” qui permet de vérifier si les agents UPM sont UpToDate (par rapport à la version que vous avez validée ) au sein de vos fermes et une section “Section statut” affichant les sections désactivées”.

La version UPM de référence dans XenApp_Check est la “5.0.0.111” (modifiable via la variable $UPMVer)
Nous avons aussi corrigé divers bugs mineurs et amélioré le temps d’exécution du script (réduction d’environ 15 % du temps d’exécution) en changeant le check WMI  (on passe par un socket.TcpClient sur le port 135).

Seule la version XA6 passe en version 2.5, la version XA5 sera très prochainement mise à jour.

Désormais les fichiers XenApp_CheckXAx.ps1 et le fichier Ctx_FunctionXa6x.ps1 sont regroupés au sein d’un fichier rar.

 

XenApp_Check_2_5

MAJ :02/07/2013
Version : 2.3 (XA5/XA6x)

Ajout de la section Server(s) Load, cette section regroupe les serveurs dont la charge est supérieure à 9998. Vous pouvez désactiver cette section via le script XenApp_Check.ps1 en mettant à FALSE la variable $Check_Ctx_SrvLoad.
Les serveurs dont le calculateur de charge correspond à celui configuré dans la variable  $LoadEval_Check (calculateur de charge de maintenance configuré via le script XenApp_Check.ps1) sont exclus de cette section.

MAJ :29/04/2013
Version : 2.2 (XA5/XA6x)
Ajout de la section Citrix HotFix missing, permettant de vérifier la présence d’un HotFix Citrix sur chaque serveur membre de la ferme XenApp (XA5/6x).
Par défaut cette section est activée, vous pouvez la désactiver via le fichier XenApp_Check.ps1 en mettant à FALSE la variable $Check_Ctx_HotFix.

Si vous souhaitez changer version du HotFix Citrix recherché (la modification se fait dans le fichier XenApp_CheckXAx.ps1) :
– Pour XenApp6.0/6.5 changer la valeur de la variable $Ctx_HotFixXA60 (pour XenApp 6.0)  ou $Ctx_HotFixXA65 (pour XenApp 6.5).
– Pour XenApp 5 changer les valeur de  la variable $Ctx_HotFixXA5_32 (pour les OS 32bits) et/ou $Ctx_HotFixXA5_64 (pour les OS 64 bits).

Reste plus qu’à leur installer le HotFix validé par vos soins

Si le message LHC error or CtxHotFix not Installed apparait dans la colonne Citrix HotFix, soit le HotFix n’est pas installé soit la LHC est corrompu

MAJ : 12/02/2013
Version : 2.1 (XA5/XA6x)
Ajout de la section EdgeSight Agent, permettant de vérifier la version agent installée sur chaque serveur membre de la ferme XenApp (XA5/6x).
Par défaut cette section est désactivée, vous pouvez l’activer via le fichier XenApp_CheckXAx.ps1 en mettant à TRUE la  variable $Check_EdgeSightAgentVer.

MAJ : 22/12/2012
Version : 2.0 (XA5/XA6x)
Récupération du répertoire d’exécution de XenApp_Check afin de renseigner la variable $Path
Modification du  path function file “. \\your share\XenApp_Check\Ctx_Functions.ps1” par “. $Path’Ctx_FunctionsXA6.ps1′ ”
Création automatique du répertoire Backup
Ajout d’un check Wmi afin d’éviter les Time out WMI sur les différents checks lorsque WMI n’est pas accessible

MAJ : 25/11/2012
Ajout du domaine et du server de licence TS/RDS dans la section General Détail.
Ajout de la section “Server(s) type”
La mise à jour 1.6 est pour l’instant porté sur XenApp_Check XA6x , la version XA5 sera rapidement mise à jour

 

 

 

MAJ : 05/09/2012
Ajout de la section “Cmdlet Execution Time” . Par defaut cette section est désactivée, vous pouvez l’activer via le fichier XenApp_CheckXA6.ps1 en mettant à TRUE la  variable $Check_CmdletExecutionTime.

Ajout de la section “Uptime Servers”, par defaut la valeur d’Uptime est à 30 (jours) vous pouvez modifier cette valeurs via le fichier Ctx_FunctionsXA6.ps1 dans la fonction “Uptime”.

Corrections de bugs d’affichage dans les tableaux

MAJ : 03/08/2012
Test de XenApp_CheckXA6 ver 1.1 sur une ferme XenApp 6.5 ok . 
Ajout de l’item Farm version (version de la ferme XenApp) dans  XenApp_CheckXA6 (testé sous XA 6.0/6.5).

MAJ : 19/03/2012
XenApp_CheckXA6 ver 1.0
Ajout d’une version compatible XenApp 6.
Le code est fonctionnel mais pas encore optimisé 😉 .
Le fonctionnement reste identique à XenApp_check pour XA5, à la différence qu’il faut configurer le mode policy via les lignes 58 et 64 du script XenApp_CheckXA6.ps1

 

MAJ : 21/10/2011
Version 1.2
Ajout de la possibilité de ne pas afficher dans la rapport certains checks :

Ajout de la possibilité d’exclure des applications (via la variable $AppNameExclude).

 

MAJ : 07/06/2011
Version 1.1
Ajouts des compteurs sur chaque Sections

MAJ : 13/05/2011
Version 1.02
Ajout de la possibilité d’exclure des dossiers (folderPath) serveur et application (exemple : QUALIF) via les variables $AppFolderExclude and $ServFolderExclude

MAJ : 07/05/2011
Version 1.01
Ajout de la section “Server(s) Off Line”

Post to Twitter

40 thoughts on “XenApp_Check”

  1. @Nitro
    Merci 😉
    La valeur 1,7 Go permet de laisser du temps aux admins pour traiter le problème d’espace disque (mais il est vrai que nous aurions pu descendre un peu cette valeur 🙂 ).

  2. C’est synthétique comme il faut !
    Est-ce que tu as capacité à exclure des folders de serveurs ou d’applis.
    Dans certains environnements, ça peut arriver qu’il y ai de la “presque-prod” ou de l’administration.

    Et dire que j’ai commencé mais jamais terminé un tool (Watchthefarm), qui permettait de voir de manière synthétique l’etat des serveurs, des apps ou le nombre de process pour des bureaux. Faudrait que je m’y remette…

    1. @MaxB
      Merci 😉
      Oui il est tout à fait possible d’exclure des folders de serveurs ou d’applis, je vais voir ça rapidement, merci pour le retour.

  3. Merci !
    Fini le mode furtif des serveurs en “maintenance”, ou des serveurs coincés en logon disable lors d’un pb de reboot sur redemarrage plannifié etc …
    Appreciable egalement je pense le fait d’avoir une synthese de ce qui se passe sur les fermes avant d’arriver au bureau ou en vacances 🙂

  4. Bonjour, ce script est une excellente idée mais chez moi il semble bien s’exécuter mais ne crée aucun fichier…

    Quelqu’un aurait il eu le même souci ?

  5. It’s awesome . Do you have any PS script related to Xenapp servers uptime report. It should be a html email report.

  6. Hi …Thanks for the reply …………. Can you please separately write script which you report the offline servers and send a html email report to a group. Thanks in advance.

  7. Bonsoir, tout d’abord super boulot, aussi je pense avoir exécuté les choses dans l’ordre vérifié les requis, modifier les lignes sur le script Check mais à l’execution toutes les commandes passent en rouge (en erreur).
    Une aide ne serait pas refus, je voudrais me mettre à modifier le script alors qu’il à été testé .

    Ferme du test XA 6.5 / CP3 Command/ Powershell V2

  8. Bonjour,
    Merci pour ce script 🙂
    Comme Christopher, je rencontre quelques problème d’utilisation mais après quelques essais j’ai intégré le script contenant les fonctions dans XenApp_Check.ps1 (au début du script) et j’ai supprimé la ligne #File functions […].
    Cette fois je reçois bien le mail mais j’ai encore quelques erreurs coté powershell (du type “Le terme ‘PolicyCompDisable’ n’est pas reconnu comme nom d’applet de commande […]”).
    Je suis en XenApp6/PowerShell V2 mais par contre (et les erreurs viennent de là je pense) pas de Command CTP3 à ma connaissance.

    1. Salut Cédric,
      Merci pour ce retour 😉 .
      – Pourquoi avoir supprimer le chemin du fichier de function ? vous obteniez quoi comme message d’erreur ?
      – Concernant l’erreur “PolicyCompDisable”, pourriez-vous me donner l’erreur exact (vos policy sont-elles en GPO ?).
      Si besoin n’hésitez pas à me contacter via l’onglet contact en me laissant un mail .
      @bientôt

  9. Pingback: Outils
  10. Le client chez qui je suis à plusieurs Ferme XA6.5 à travers le monde.

    Est-il possible d’avoir un seul rapport à partir du script ? En gros, est-ce possible d’adresser plusieurs fermes via le même script ?

    Merci

Leave a Reply

Your email address will not be published. Required fields are marked *

*