Outils Archive

12

XenApp_Usr7x

Et voilà ça faisait longtemps que nous souhaitions porter XenApp_Usr sur XenApp 7x , pressés par nos collègues de l’admin aujourd’hui c’est chose faite :  XenApp 7x est enfin UP.

Pour rappel nos XenApp_Usr repose intégralement sur du PowerShell (hé oui même la partie graphique, on sait ça c’est pas bien lol).

Le but de XenApp_Usr7x est de pouvoir rapidement retrouver la/les session(s) d’un utilisateur au sein d’une ferme XenApp, mais on ne s’arrête pas là puisque nous avons intégré aussi la recherche d’applications, serveurs, Delivery Group et Machine Catalog.

Lorsque qu’une session est sélectionnée plusieurs informations sont disponibles (dont notamment l’idle time de la session 😉 ).

  • Start time
  • Establishment Time
  • Establishment Duration
  • Idle Time
  • Connected Via IP
  • Connected Via IP
  • Client Adress
  • Client Platform
  • Client Name
  • Receiver Name
  • Receiver IP Address
  • Session Type
  • Application
  • Delivery Group du serveur hébergeant la session
  • Machine Catalog du serveur hébergeant la session
  • Process de la session
  • Gpo(s) de la session

Les actions possibles sur une session sont l’envoi d’un message, le shadowing, le logoff de la session et le kill de process.

XenApp_Usr7x a été validé sur des fermes XenApp 7.6 et 7.12 (DDC en W2k12 et environnement mixte pour les broker machine – W2K8 R2 et W2K12)

Pré-requis :
XenApp_Usr7x peut-être exécuté à partir d’un DDC (W2K12) ou d’un serveur d’admin (W2K12) avec les snap-ins PowerShell XenApp/XenDesktop.

Lors du premier lancement à partir d’un serveur admin il vous faudra entrer un DDC de votre ferme dans le champ DDC puis cliquez sur le bouton Check DDC (le DDC est stocké en dur dans un fichier afin d’éviter de le ressaisir lors des prochains lancements dans C:\Users\username\AppData\Roaming\Ctxblog\XenAppUsr\XenAppUsr7x.txt).

 

Les zones en jaune sont cliquables 😉



Si vous souhaitez rechercher un serveur, une application, un Machine Catalog ou un Delivery Group allez dans le Menu Tools-Search Server/Apps/DG/MC.

Exemple sur la recherche d’un Delivery Group
Cliquez sur le DG souhaité



En prime vous avez même le load du DG 🙂



Exemple sur la recherche d’un serveur


Vos remarques et suggestions sont comme toujours les bienvenues ;).


XenApp_Usr7x.rar

6

Test de Remote Display Analyzer (RDAnalyzer)

Dans ce billet nous allons vous présenter un outil que nous utilisons depuis quelques semaines : « Remote Display Analyzer » (by Bram Wolfs et Barry Schiffer). Remote Display Analyzer permet d’analyser et de modifier rapidement les paramètres d’affichage au sein d’une session HDX (et depuis peu RDP) afin de pouvoir comparer le rendu des différents modes d’affichage (idéal pour obtenir une meilleure expérience utilisateur ainsi que lors de séances de troubleshooting). Les modifications effectuées ont un impact temporaire (les paramètres issus des stratégies XenApp reviennent après un logoff/logon).

 

rda_001

 

Première bonne nouvelle, il n’y a pas d’installation, deux binaires sont livrés, un pour HDX et un pour RDS. Deuxième bonne nouvelle une version gratuite est proposée (cette dernière permet l’affichage des paramètres d’affichage en cours), si vous souhaitez passer à la version ++ il faudra passer par la case « DONATE » (honnêtement c’est l’histoire de quelques cafés 😉 ). Le seul prérequis est d’être admin local du serveur sur lequel vous exécutez Remote Display Analyzer (merci à Max pour la remarque).

 

Remote Display Analyzer for HDX :

 

rda_01En version free
Attention en XA 7.11 L’active Encoder ne s’affiche pas (c’est en cours de correction 😉 )

 

rda_02En version ++  ça devient vraiment très intéressant car on a accès aux options permettant de modifier en live les principales options d’affichage d’une session HDX (Mode d’affichage, nombre de frames max, codec de compression)

 

rda_02_01
La partie display

 

rda_02_02
La partie codec pour la compression

 

Remote Display Analyzer for RDP :

 

rda_03_rdsEn version free

 

rda_04_rdsEn version ++

 

De notre point de vue Remote Display Analyzer constitue un excellent outil pour le troubelshooting (portant sur des problématiques d’affichage), en outre il  permet de tester rapidement les différents modes d’affichage possibles pour comparer par exemple l’expérience utilisateur en fonction de vos fermes XenApp,  du type d’accès etc… (bien sûr ce ne sont que des exemples d’autre cas d’usage sont possibles).

Tags: , , ,
2

XenApp_Gpupdate v1.1

Mise à jour de XenApp_Gpupdate (ver 1.1).

  • Ajout de la possibilité d’afficher la liste complète des serveurs membres de la ferme (via le bouton « Servers »)
  • Ajout de la possibilité de rechercher un serveur spécifique (via la coche « Search server »)
  • Retour du statut de la commande Gpupdate /force (indique si le process a bien été lancé sur le serveur et si ce dernier est bien fermé.), avec la durée d’exécution (duration) par serveur
  • Correction de bugs mineurs

 

XenApp_GpUpdate_V1.1


Download_2XenApp_Gpupdate.rar

 

Le billet original  sur XenApp_GpUpdate ici.

0

MonitorX (us version)

MonitorX is a Zabbix non-official appliance dedicated to « XenApp » (which uses the XenApp 6.5 template). It allows you to monitor your XenApp 6.5 environment, including your Web Interface/StoreFront/NetScaler 10.x.

The appliance runs on a Debian Wheezy 7.8 (2 vCPU, 4Gb RAM and 40Gb thin provisioned disk), configured to use DHCP with the following modules:

  • apache2
  • mysql-server + mysql-client
  • php5-mysql libapache2-mod-php5
  • phpmyadmin
  • zabbix 2.4.4
  • zabbix agent 2.2.7

Read the rest of this entry »

12

MonitorX (fr version)

MonitorX est une appliance non officielle ZABBIX dédiée « XenApp » (qui reprend notamment le template XenApp 6.5), permettant rapidement et simplement de superviser/Monitorer un environnement XenApp 6.5 (avec ses Webi /StoreFront/Netscaler 10x. ).

L’appliance repose sur une Debian Wheezy 7.8, (2 Vcpu, 4Go de ram et 40 Go de DD en thin) en DHCP (le mot de passe root est « password!01 » on vous conseille fortement de le changer) avec les modules ci-dessous :

  • apache2
  • mysql-server + mysql-client
  • php5-mysql libapache2-mod-php5
  • phpmyadmin
  • zabbix 2.4.4
  • zabbix agent 2.2.7

 

Au préalable, si vous ne connaissez pas ZABBIX , nous vous conseillons d’aller faire un tour sur http://www.zabbix.com et http://www.monitoring-fr.org/solutions/zabbix/.

Dans un premier temps, veuillez décompacter le fichier MonitorX.rar (607 Mo), une fois décompacté vous obtenez deux dossiers :

  • Le dossier OVA qui contient l’ova à importer
  • Le dossier Zabbix_agent qui contient l’agent zabbix windows (avec le script permettant l’installation de l’agent et le service associé)

 

Installation de l’appliance :

  1. Importez dans votre hyperviseur favori l’ova « MonitorX.ova » (dans notre cas Esxi 5.5)
  2. Configurez la partie IP si vous ne souhaitez pas rester en DHCP (attention si vous changez le nom du Hostname (ZAB01 par défaut), pensez à changer aussi le nom du hostname dans Zabbix, voir en fin de billet)
    1. Connectez-vous en SSH (via PuTTY par exemple et choisissez le menu 5) via le compte root (mot de passe : password!01)

Menu-MonitorX
Les fans de Sexilog auront reconnu le SexiMenu que nous avons adapté à MonitorX 🙂

 

Lancez dans un navigateur l’url « http://IpMonitorX »

MonitorX_acceuile_ZabbixRenseignez les champs Username (admin) et Password (zabbix)

 

Activation du serveur Zabbix :

  1. Allez dans Configuration-Host

MonitorX_EnableSrv_ZabbixCliquez sur Disabled afin d’activer la supervision/monitoring serveur Zabbix

Ajout des hosts :

  1. Déploiement de l’agent Zabbix  sur vos serveurs XenApp
    1. Copiez le répertoire  « Zabbix_Agent_Install » sur un serveur d’administration de votre ferme XenApp.
    2. Exécutez dans une console PowerShell le script « Zabbix_Agent_Install.ps1 ».
    3. Via le menu vous pourrez :
      – Modifiez l’IP du server Zabbix (renseigné dans le fichier zabbix_agentd.win.conf)
      – Déployez l’agent Zabbix sur tous les serveurs membres de la ferme XenApp en cours
      – Ouvrir et modifiez le fichier contenant la liste des serveurs sur lesquels vous souhaitez déployer l’agent Zabbix ( si vous ne souhaitez pas déployer    l’agent Zabbix sur tous les serveurs membres de la ferme XenApp en cours)
      – Déployez l’agent Zabbix sur les serveurs inscrits dans le fichier Servers.txt

MonitorXMenuLa première étape est de changer l’IP du serveur Zabbix configuré par l’IP de votre serveur MonitorX (menu 1)
Une fois le déploiement terminé, un fichier de log (StatutAgentInstall.txt) est disponible dans le dossier Zabbix_Agent_Install.

  1. Ajoutez vos hosts dans Zabbix
    1. Via le discovery rule « XenApp_Discover » (allez dans Configuration-Discovery, modifiez le range IP de la règle « XenApp_Discover », activez la règle et cliquez sur Update).
    2. Ajoutez les hosts manuellement (pour les courageux 🙂  )
      • Ajoutez les  hosts XenApp dans le groupe « GRP_Citrix_XenApp_6.5 »
      • Associez les hosts XenApp au template « TPL_Citrix_XenApp_6.5 »
      • Associez les hosts de type Webi/StoreFront (Windows 2008 R2) au template « TPL_Windows_IIS_7.5 »

 

Si vous utilisez Edgesight (plus pour très longtemps 😉 ) ou UPM il vous faudra activez les items dans le template « TPL_Citrix_XenApp_6.5 ».
Allez Dans l’onglet Configuration-Template , puis cliquez sur TPL_Citrix_XenApp_6.5 et allez dans Items.

MonitorXTemplate_ItemsDisabledCliquez sur Disabled afin d’activer les items

 

Renommez le serveur dans Zabbix (Si vous avez renommé le serveur MonitorX):

  • Connectez-vous en SSH sur le serveur MonitorX
  • Lancez la commande « vi /etc/zabbix/web/zabbix.conf.php »

MonitorX_ZabbixHostnameVi
Modifiez le nom du serveur Zabbix ($ZBX_SERVER = ‘ZAB01’; et $ZBX_SERVER_NAME = ‘ZAB01’; ) et enregistrez le fichier (commande vi « :wq »), pour les réfractaires au « vi » vous pouvez passer par WinSCP.

Si vous ne renommez pas le Hostname dans Zabbix vous obtiendrez l’erreur ci-dessous :

Zabbix server is not running: the information displayed may not be current

ZabbisErrorPas d’inquiétude cependant, ce message dans le cas présent n’a pas d’impact sur les mises à jour des hosts ou autres

 

 

Administrer la base Zabbix
http://IpMonitorX/phpmyadmin ( root/password!01)

 

Et voila ce que ça donne 🙂 .

MonitorXSrvLes graphiques par host (onglet screen de chaque host)

 

 MonitorXAllSrv
Le graphique des CCU de la ferme XenApp (Onglet Monitoring-Screens)

 

Download_2MonitorX.rar

16

Supervision de silo serveurs

Comme vous le savez chez nous la supervision (et le monitoring) XenApp c’est une religion, c’est pourquoi au détour d’une discussion avec notre collègue Corvette_Man (à qui nous devons l’idée originale de ce billet)  l’idée d’une supervision global des silos (serveurs) d’une ferme XenApp nous est venue.

Le but de cette démarche est double, premièrement permettre à la Citrix team d’avoir une vision des silos avec leur taux d’utilisation et deuxièmement offrir aux équipes applicatives une vue de leurs silos respectifs avec le taux d’utilisation.

Nous avons donc mis en place un script PowerShell permettant d’afficher une page html au sein de laquelle sont regroupés tous les silos de serveurs (ayant au moins un serveur). La disponibilité de ces silos est exprimée en pourcentage au travers d’un graphique (le pourcentage est issu du total de la charge des serveurs du silo) , un clic sur un silo déclenche l’ouverture d’une page html regroupant la totalité des serveurs membres du silo avec leur charge respective.

Le script tourne au travers d’une boucle s’exécutant toutes les 5 mn (à adapté selon vos besoin, de notre côté le script tourne via une tache planifiée), Les graphiques sont issus de justGage.com (justGage est basé sur la librairie  Raphaël).

L’avantage de justGage est qu’il est personnalisable, rapide et facile à mettre en place. Le graphique change de couleur en fonction de la valeur entrée dans le graphique, vert en dessous de 34 %, jaune de 34 % jusqu’à 66 % et rouge à partir de 67 %.

 

XenApp_LoadMonitor1La vue globale d’une ferme XenApp 6.5
Le chiffre à côté du pourcentage de chaque silo correspond aux nombre de serveurs membre du silo

 

XenApp_LoadMonitor2La vue d’un silo avec la charge de chaque serveur

 

Les pages générées sont compatibles avec Chrome, Firefox et IE (9).

 

Download_2XenApp_LoadMonitor.rar

2

XenApp_Usr : mise à jour 1.4

XenApp_Check passe en 1.4, la liste des ajouts et corrections sont ci-dessous :

  • Rajout du refresh des sessions lors d’un logoff
  • La progressBar change de couleur en fonction de la charge du serveur hébergeant la session (vert de 0 à 5999, orange de 6000 à 8499 et rouge à partir de 8500)
  • Le champ username accepte la validation via la touche Entrée (Enter)
  • Refresh des process lorsqu’un process est tué via le bouton Stop
  • Correction de divers bug mineurs

XenApp_UsrV14

 

Pour télécharger XenaApp_Usr c’est par ici

2

XenApp_Gpupdate

———————–
MAJ : 28/06/2015
Version : 1.1
———————–

  • Ajout de la possibilité d’afficher la liste complète des serveurs membres de la ferme (via le bouton « Servers »)
  • Ajout de la possibilité de rechercher un serveur spécifique (via la coche « Search server »)
  • Retour du statut de la commande Gpupdate /force (indique si le process a bien été lancé sur le serveur et si ce dernier est bien fermé.), avec la durée d’exécution (duration) par serveur
  • Correction de bugs mineurs

XenApp_GpUpdate_V1.1

 


Tout est dans le titre 🙂 , via XenApp_Gpupdate vous avez désormais la possibilité de faire (en remote) des « gpupdate /force » sur des serveurs membres d’un silo applicatif au sein d’une ferme XenApp 6.5.

XenApp_Gpupdate (comme XenApp_Usr) est un script Powershell réalisé pour la partie GUI avec Powershell Studio de Sapien.

Le « gpupdate /force » est fait via un « Invoke-WmiMethod » (il faut donc que le port TCP 135 soit ouvert entre le serveur exécutant XenApp_Gpupdate et les serveurs XenApp des divers silos de la ferme courante, avant de lancer le GpUpdate un socket tcp est envoyé afin de vérifier que le port 135 est bien ouvert sur le ou les serveurs du silo choisis.

Le fonctionnement de XenApp_Gpupdate est simple, il suffit d’afficher la liste des silos (dossiers serveurs) ou la liste des applications via les boutons Applications ou Servers Silo (il est aussi possible de faire une recherche sur un silo ou une application), puis de sélectionner le silo (ou l’application) souhaité. Une fois le dossier ou l’application sélectionné(e) la liste des serveurs s’affichera sur la partie droite (lors de la première sélection un temps d’attente est à prévoir), une fois la liste des serveurs affichés vous pouvez lancer un gpupdate /force sur un ou plusieurs serveurs.

 

XenApp_GpUpdateC’est une V1 n’hésitez pas à nous faire part de vos retours (suggestions, critiques etc… )

 

Nous travaillons actuellement sur le retour des « gpupdate /force » afin de déterminer si ces derniers ont bien été réalisés sur le ou les serveurs sélectionnés.

 

Download_2XenApp_Gpupdate.rar

8

XenApp_Usr : mise à jour 1.3

Dans cette mise à jour, nous avons corrigé quelques bugs mineurs et rajouté les fonctionnalités ci-dessous :

  • Une section « Gpo Applied » qui affiche toutes les Gpos appliquées (avec les Gpos bloquées) sur l’utilisateur et le serveur hébergeant la session (avec un compteur total du nombre de Gpos appliquées)
  • Possibilité d’exporter la Gpo sélectionnée au format HTML (il faut comme pré-requis que le  Module GroupPolicy soit installé sur même le serveur que XenApp_Usr)
  • Possibilité d’exporter toutes informations de la session courante dans un fichier texte

 

XenApp_usr1_3
Nos collègues ont bien apprécié la partie Gpos applied 😉

Pour télécharger XenaApp_Usr c’est par ici

35

XenApp_Usr

————————————————————————————————————
MAJ : 23/03/2015
V1.4

  • Rajout du refresh des sessions lors d’un logoff
  • La progressBar change de couleur en fonction de la charge du serveur hébergeant la session (vert de 0 à 5999, orange de 6000 à 8499 et rouge à partir de 8500)
  • Le champ username accepte la validation via la touche Entrée (Enter)
  • Refresh des process lorsqu’un process est tué via le bouton Stop
  • Correction de divers bug mineurs

————————————————————————————————————

MAJ : 22/12/2014
V1.3

  • Correction de bugs mineurs
  • Ajout de la section « Gpo Applied »
  • Possibilité d’exporter la Gpo sélectionnée au format HTML (il faut comme pré-requis que le  Module GroupPolicy soit installé sur même le serveur que XenApp_Usr)
  • Possibilité d’exporter toutes informations de la session courante dans un fichier texte

————————————————————————————————————

C’est quoi XenApp_Usr  ? 🙂

C’est un script PowerShell que nous avons mis en place et qui permet via une GUI de retrouver la ou les session(s) d’un utilisateur au sein d’une ferme XenApp.

Un fois la ou les sessions retrouvée(s), il suffit de sélectionner une session afin que les informations ci-dessous s’affichent dans la GUI :

  • Nom et version de la ferme XenApp
  • Application publiée
  • Serveur sur lequel la session est connectée
  • Etat de la session
  • Version du client ICA
  • Type de client
  • Nom du client
  •  IP du client
  • Date et heure de la connexion
  • Imprimantes de la session
  • Processus  lancés dans la session
  • Afficher la bande passante de la session ICA
  • Afficher la latence de la session ICA

A cela nous avons ajouté la possibilité d’effectuer les actions ci-dessous :

  • Fermer la session
  • Lancer un remote assistance sur la session
  • Stopper un process de la session

 

XenApp_UsrV1 Ok la GUI fait un peu année 90 🙂

 

XenApp_Usr a été validé sur des fermes XenApp 6.5 R01, R03 et R04 (us et fr), la consommation mémoire est d’environ 60 Mo ( 🙁 faudra qu’on regarde pour diminuer ça).

Vos remarques et suggestions sont les bienvenues (au passage nous avons volontairement éviter les Splash Screen et Progress Bar).

Pour l’instant (et vu que le code n’est pas encore présentable) on ne livre que le ps1 compilé en binaire, la version ps1 arrive asap .

Au passage la GUI a été réalisée avec Powershell Studio de Sapien.

 

Download_2XenApp_Usr.rar

 

———————————————————
MAJ : 24/11/2014
V1.1
Correction de bugs mineurs
Ajout de la charge serveur (Load server)
———————————————————