Pandora: Documentation fr: Supervision experience utilisateur UX WUX

From Pandora FMS Wiki
Jump to: navigation, search

Revenir à l’index de Documentation Pandora FMS

Contents

1 Introduction

La surveillance de l’expérience utilisateur consiste à réaliser des enregistrements de tâches automatisées aussi bien de navigation web que d'interaction avec le bureau et les applications du système Windows. Ces enregistrements peuvent aller d’un clic sur un navigateur, à l’écriture d’un texte ou la réalisation d’une recherche sur le navigateur web en passant par l’ouverture d’une application sur le bureau. Cela nous permettra de réaliser les fonctions enregistrées de façon automatique et elles seront exécutées pour obtenir des résultats, comme par exemple le temps requis pour réaliser les tâches. Pour cela, nous comptons sur les surveillances de UX automatisées et la surveillance d’expérience web de l’utilisateur (WUX).

A partir de la version 7.0NG.728 de Pandora FMS, les surveillances UX et WUX ont fusionné dans la console de Pandora FMS, permettant de disposer de leurs fonctionnalités respectives sur un seul et même écran.

Wux ux unifcado.png

Ci-dessous, nous verrons les différences entre les systèmes WUX et UX et la description de leurs fonctionnalités avec leurs variantes.

1.1 Différences entre surveillance UX et WUX

Ces deux systèmes de surveillance servent à l’exécution de tâches automatisées de navigation web grâce au système Pandora Web Robot Daemon (PWRD).

Le système UX réalise des surveillances grâce à l’agent software installé sur une machine, tandis que la surveillance WUX se base sur un serveur intégré dans Pandora FMS.

Pandora Web Robot Daemon (PWRD) est un service qui prévoit les outils nécessaires pour automatiser les sessions de navigations web. Pour cela, il utilise une archive qui contient une liste des actions nécessaires pour naviguer sur le portail web de l’utilisateur.

Par ailleurs, la surveillance UX permet l’exécution de tâches automatisées qui interagissent avec le bureau et les applications du système Windows. Ce type de tâches ne peuvent être réalisées avec WUX.

2 Surveillance UX automatisée

2.1 Introduction

Pandora FMS UX est un système qui exécute des tâches automatisées, remettant à Pandora FMS un rapport avec les résultats de l’exécution, le temps requis et des captures avec les éventuelles erreurs rencontrées.

Pandora FMS UX utilise deux technologies par défaut pour l’automatisation des tâches :

  • Pandora Web Robot (PWR) : permet la navigation sur des sites web, en simulant les actions d’un utilisateur. Il peut vérifier des contenus, des textes, etc. C’est le choix parfait pour surveiller des sites et des applications web non basées sur flash. Son avantage : plus rapide, avec possibilité d’exécution en second plan.
  • Pandora Desktop Robot (PDR) : permet l’interaction avec des systèmes d’exploitation Windows comme s’il s’agissait d’un utilisateur. Pandora UX lancera des scripts préparés avec cet outil, permettant une surveillance plus avancée et spécifique. Par exemple, nous pouvons déployer le plugin dans un équipement et réaliser des connexions sur différents réseaux pour vérifier si tout fonctionne correctement, tel un utilisateur qui travaillerait devant son PC. Son utilisation principale consiste à surveiller des applications de bureau lourdes. Il inclut aussi la surveillance d’applications basées sur la technologie Flex (Adobe), qui seraient incompatibles avec Selenium sans procéder à des modifications dans l’application elle-même.

Comme on peut le remarquer, il existe donc une grande différence entre ces deux méthodes d’automatisation. Tandis que la méthode PWR se base sur la navigation automatisée d’un utilisateur sur un site web, réalisant les tâches prévues dans l’enregistrement, la méthode PDR, quant à elle, peut réaliser des interactions entre différents outils du système d’exploitation comme si un utilisateur les exécutait. En résumé, l’un se base sur la navigation web alors que l’autre se base sur l’exécution d’applications de bureau distinctes.

Si vous disposez d’un système d’automatisation de tâches, Pandora FMS UX permet aussi d’exécuter les scripts que vous avez déjà et d’en surveiller leur exécution.

Il est important de préciser l’usage de ce type de surveillance. Ces deux méthodes se basent sur l’exécution des surveillances grâce aux plugins dans les agents software installés dans les machines correspondantes.

2.2 Expérience de l’utilisateur WEB (PWR)

2.2.1 Déploiement du système PWR

Étapes à suivre pour préparer un environnement de travail pour Pandora FMS UX.

2.2.1.1 Déploiement du serveur Selenium sur des systèmes Windows

Pré-requis :

C:\PWR
C:\sondes

Pour télécharger le PWR_Server.zip, allez sur le lien suivant : https://pandorafms.com/library/pwr-server-for-ux-monitoring/

Nous ferons la distribution de fichiers suivante :

  • Décompression du fichier PWR_Server.zip a C:\PWR\
  • Exportation du profil Firefox sur C:\PWR\profile

L’utilisation d’un profil pour réaliser des tests “n’est pas obligatoire”. Évidemment, son utilisation est recommandée, surtout en cas d’usage d’un proxy ou si vous souhaitez le pré-remplissage des mots de passe. Pour créer un profil Firefox, nous suivrons les étapes des captures suivantes :


Ux1.JPG


Ux2.JPG


Choix du répertoire de destination :


Ux3.JPG


Nous devons lancer Firefox avec le nouveau profil pour personnaliser des options comme le proxy, l’affichage de popups, etc :


Ux4.JPG


Par la suite, nous installerons le service en exécutant le fichier BAT service_installer.bat fourni. Pour un fonctionnement correct du service_installer.bat, nous devrons modifier le contenu, en indiquant les chemins d’accès qui existent dans le fichier comme nous les avons déjà installés sur notre machine. Par exemple, sur Java, vous pourrez vous servir uniquement de Java si son chemin d’accès est correctement installé. Sinon, nous devrons vous donner tout le chemin dans le fichier. Enfin, nous lancerons le service :

net start PWRSRV

A partir de ce moment, nous avons déjà le serveur Selenium en exécution sur notre machine. Il est évidemment possible de l’exécuter manuellement (en arrêtant le service au préalable) si nous souhaitons réaliser des tâches de debugging, grâce à la commande suivante :

java -jar selenium-server-standalone-2.53.0.jar -firefoxProfileTemplate C:\selenium\firefox_profile -port 4444 -v

2.2.1.2 Déploiement du serveur Selenium dans des systèmes Linux

Pré-requis :

Pour l’installation du pack xorg-x11 à partir des répertoires :

yum install xorg-x11-server-Xvfb
yum install java

S’il n’est pas disponible dans vos répertoires, vous pouvez trouver le fichier rpm dans le lien suivant : ftp://rpmfind.net/linux/centos/6.9/os/x86_64/Packages/xorg-x11-server-Xvfb-1.17.4-16.el6.centos.x86_64.rpm

Pour réaliser l’installation du pack rpm manuellement :

yum install xorg-x11-server-Xvfb-1.17.4-16.el6.centos.x86_64.rpm

Une fois les pré-requis installés, nous poursuivons avec l’installation du install_pwrd.sh. Ledit installateur se trouve par défaut dans le dossier /usr/share/pandora_server/util/pwrd/install_pwrd.sh et s’exécute de la façon suivante:

/usr/share/pandora_server/util/pwrd/install_pwrd.sh --install

Une fois installé, nous devrons lancer le service :

/etc/init.d/pwrd start

Nous pourrons utiliser le script suivant pour démarrer le serveur Selenium :

#!/bin/sh
# Monitoring selenium process
if [[ "`ps aux |grep selenium |grep -v grep |grep -v selenium.sh |wc -l `" != "0" ]]; then
   exit
else
   if [[ "`ps aux |grep Xvfb |grep -v grep | wc -l `" != "0" ]]; then
      Xvfb :99 -ac &
      export DISPLAY=:99
   fi
   export DISPLAY=:99
   java -jar /usr/share/pandora_server/util/pwdr/selenium-server-standalone-2.53.1.jar &
fi

Ou bien manuellement avec les commandes suivantes :

$ Xvfb :99 -ac &
-> Appuyez sur Enter pour continuer
$ export DISPLAY=:99
$ java -jar  /usr/share/pandora_server/util/pwdr/selenium-server-standalone-2.53.1.jar -port 4444 &

2.2.1.3 Qu’est-ce-que Pandora Web Robot Daemon (PWRD) ?

Pandora FMS Web Robot Daemon est un service qui prévoit les outils nécessaires pour automatiser les sessions de navigation web, en utilisant une archive qui contient une liste d’actions utiles pour naviguer sur le portail web de l’utilisateur.

Il est intégré dans le serveur de Pandora FMS et nous pouvons le trouver dans le dossier /usr/share/pandora_server/util/pwrd en installant le serveur Enterprise (Linux) ou dans la bibliothèque de modules (Windows).

Pour le télécharger, cliquez sur le lien suivant : https://pandorafms.com/library/pandora-ux-and-wux-pwr-recorder/

Il contient :

  • Le binaire du navigateur Firefox version 43.
  • Le profil pré-construit pour l’exécution des sessions de navigation web.
  • Le serveur d’automatisation de sessions (Selenium server).

2.2.2 Enregistrer une session PWR

Avant de surveiller une expérience utilisateur, nous devons faire l’enregistrement. Nous utiliserons un système d’enregistrement plutôt qu’un autre en fonction du type de technologie que nous avons choisi de prendre.

Pour réaliser l’enregistrement d’une navigation avec PWR, il faudra l'enregistreur PWRD disponible dans la bibliothèque de modules :

https://pandorafms.com/library/pandora-ux-and-wux-pwr-recorder/

Il contient :

Nous démarrons l’enregistreur PWR_recorder.exe:


PWR recorder.PNG


Firefox sera automatiquement démarré avec l’environnement préparé pour enregistrer des sessions PWR :


PWR recorder main.png



Après l’accès à l’IDE de Selenium, nous pourrons lancer l’enregistrement de notre expérience utilisateur :


Ux10.JPG


A partir de ce moment, nous pourrons naviguer sur le site web que nous souhaitons surveiller et les différentes actions de chaque étape apparaîtront dans l’enregistreur, au fur et à mesure que nous avançons dans l’enregistrement.

Pour arrêter l’enregistrement, nous utiliserons le bouton suivant, situé sur la partie supérieure droite de l’enregistreur :


Ux11.JPG


Une fois les actions achevées, nous pouvons réaliser des vérifications sur la page. Par exemple, vérifier l’existence d’un texte déterminé pour nous assurer que la page chargée est la correcte. Pour cela, nous ferons un clic droit sur une section du texte dans la fenêtre du navigateur, tout en continuant l’enregistrement. Nous sélectionnons ensuite l’option “verifyText” :


Ux13.JPG


Une nouvelle étape apparaîtra dans l’enregistreur, indiquant l’action de vérification de texte indiquée :


Ux14.JPG


Nous pouvons reproduire la séquence achevée grâce au bouton Play entire test suite et vérifier qu’elle se termine correctement :


Ux15.JPG


Une fois que la validité de la séquence de navigation est vérifiée, nous la sauvegardons (Archive -> Save Test Case) pour l’exéctuer plus tard avec Pandora FMS UX. Le fichier qui en résulte sera un document HTML que Pandora FMS UX interprétera.

2.2.2.1 Enregistrer une session transactionnelle avec Pandora UX PWR

Pandora FMS UX en mode PWR (Pandora Web Robot) permet de diviser la surveillance de la navigation d’un site web en plusieurs modules, qui représenteront chacune des étapes réalisées.

Pour insérer un nouveau point de contrôle et générer les modules de phase (jusqu’à ce point), faites un clic droit sur le point sur lequel vous souhaitez que le commencement de la phase s’effectue.


Ux16.JPG


Comme commentaire, nous mettrons le texte suivant :

phase_start:nombre_de_fase

La phase comprendra le temps et le résultat de toutes les commandes trouvées jusqu’au commentaire suivant :

phase_end:nombre_de_fase

Toutes les commandes qui s’exécutent entre une étiquette phase_start et phase_end seront incluses dans cette phase.

2.2.3 Exécution des sessions PWR

2.2.3.1 Exécution standard

Pour lancer des sessions pré-enregistrées de PWR, nous nommerons l’exécutable pandora_ux_x64.exe, téléchargeable depuis le lien : https://pandorafms.com/library/user-experience-pandora-ux

Nous préciserons que le mode de travail est PWR et nous indiquerons l’archive qui contient les directives de la session. Sur le chemin d’accès, dans le paramètre -folder, les captures d’écran en cas d’erreur seront sauvegardées. Néanmoins, ce paramètre est facultatif. Le nombre de tentatives consécutives peut être indiqué en cas d’échec. Ce paramètre est également facultatif. Son exécution sur Windows est la suivante :

pandora_ux_x64.exe -exe PWR -script tests\std.html -retries 3

Les modules suivants seront renvoyés :

  • UX_Status_nom_projet : si la séquence a été un succès ou un échec.
  • UX_Time_nom_projet : temps requis pour achever la séquence.
  • UX_Snapshot_nom_projet : capture avec le dernier point juste avant l’erreur, s’il y en a une.

Exemple de sortie avec une exécution correcte :

<module>
   <name><![CDATA[UX_Status_std.html]]></name>
   <type>generic_proc</type>
   <![CDATA[1]]>
   <description><![CDATA[Test OK]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
</module>
<module>
   <name><![CDATA[UX_Time_std.html]]></name>
   <type>generic_data</type>
   <![CDATA[16.317]]>
   <description><![CDATA[Test OK]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
   <module_parent>UX_Status_std.html</module_parent>
</module>

Exemple de sortie avec une exécution incorrecte :

<module>
   <name><![CDATA[UX_Status_std.html]]></name>
   <type>generic_proc</type>
   <![CDATA[0]]>
   <description><![CDATA[Failed to execute verifyText]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
</module>
<module>
   <name><![CDATA[UX_Time_std.html]]></name>
   <type>generic_data</type>
   <![CDATA[15.463]]>
   <description><![CDATA[Failed to execute verifyText]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
   <module_parent>UX_Status_std.html</module_parent>
</module>

<module>
   <name><![CDATA[UX_Snapshot_std.html]]></name>
   <type>async_string</type>
   <![CDATA[data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAA…JRU5ErkJggg==]]>
   <description><![CDATA[Image (last error)]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
   <module_parent>UX_Status_std.html</module_parent>
</module>

Si tout s’est déroulé correctement, nous pouvons ajouter la ligne d’exécution à l’agent de Pandora FMS installé sur la machine que nous avons préparé pour exécuter les tests. La ligne à ajouter au fichier de configuration de l’agent sera semblable à (sur une seule ligne) :

Sur Windows :

module_plugin C:\Users\artica\Documents\Produit\UX-Trans\UX\pandora_ux_x64.exe -exe PWR -script C:\Users\artica\Documents\Produit\UX-Trans\PWR\sesion.html -folder C:\sondes

Sur Linux:

module_plugin /usr/share/pandora_server/util/pwrd/firefox/pandora_ux.64 -exe PWR -script /usr/share/pandora_server/util/pwrd/firefox/TestUX.html -pwr_port 4444	

Une fois que l’information est transmise au serveur de Pandora FMS, nous verrons comment apparaissent les modules correspondants. Nous pourrons activer la vue en “mode hiérarchique” pour voir la relation entre eux :


Ux33.JPG


Comme nous l’avons indiqué précédemment, nous voyons le résultat de l’exécution (succès ou échec) dans le module UX_Status_sesion.html, le temps nécessaire (en seconde) dans le module UX_Time_sesion.html, et la capture de la dernière erreur dans UX_Snapshot_sesion.html, qui, dans ce cas-ci, se trouve vide. Ce sera sur ces modules que nous pourrons créer des alertes et montrer les graphiques individuels de chaque module.

Imagen nueva ux.png

2.2.3.2 Exécution basée sur des transactions

Si nous avons un enregistrement transactionnel avec Pandora FMS UX PWR, comme indiqué précédemment, ce sera le système lui-même qui générera les modules nécessaires pour identifier chacune des phases indiquées. C’est pourquoi l’exécution ne variera pas concernant le cas précédent. Nous changerons uniquement le fichier html correspondant, qui dans ce cas, contiendra les différentes phases. Voici un exemple d’exécution sur Windows.

pandora_ux_x64 -exe PWR -script tests\std.html –folder C:\sondes

Les modules suivant seront renvoyés par phase :

  • UX_Time_nom_projet.phase_ordre
  • UX_Status_nom_projet.phase_ordre

S’il y a quelques phases avec une erreur, le module suivant sera également créé :

  • UX_Snapshot_nom_projet.phase_ordre

Une image du web sera affichée lors de l’erreur.

Les modules globaux de résumé identifiés avec les noms suivants seront également retournés :

  • UX_Global_Time_nom_projet
  • UX_Global_Status_nom_projet
  • UX_Global_Snapshot_nom_projet

Une image du web sera affichée au moment de l’erreur.

La ligne d’exécution de l’agent serait la même que dans le cas précédent, mais avec un fichier html qui contient les phases stipulées.

Lorsque l’information arrive correctement au serveur de Pandora FMS, elle s’affichera sous la forme de modules. En activant la vue en “mode hiérarchique” dans la liste de modules, cela nous aidera à visualiser l’information de façon beaucoup plus claire.

Ux34.JPG


En accédant à la section WUX de l’agent, nous pouvons voir des détails supplémentaires de la transaction et ses phases :

L’exemple suivant représente un processus de navigation sur notre site web. L’achat de plusieurs articles est divisé en cinq phases pour mesurer exactement les temps requis et savoir où il est nécessaire d’apporter des améliorations ou bien savoir où se produit un “goulot d’étranglement” :


Ux44.JPG



2.2.3.3 Récupération des valeurs

Pandora FMS UX est capable de récupérer des données directement depuis le web pendant l’exécution des tests de l’expérience utilisateur.

Pour utiliser cette nouvelle caractéristique, il faut seulement ajouter l’ordre de capture comme commentaire dans le test de Selenium :


PWR recorder getValue.png


Dans cet exemple, deux valeurs sont récupérées après la réalisation de la navigation. Ils seront représentés comme des modules dans Pandora FMS (petit nombre et résultat textuel).

Les étapes pour ordonner au plugin de collecter les données sont les suivantes :

  • Ajouter un nouveau commentaire à notre fichier de tests avec l’enregistreur Selenium.
  • Ajouter la directive au commentaire.

Directive de capture de données

getValue;nom du module;type de donné du module;expression régulière pour la capture de données 

Que représente chaque champs séparé par des points et virgules ?

  • getValue : instructions pour le système UX.
  • Nom du module  : le nom du module tel qu’il apparaîtra sur Pandora FMS.
  • Type de donnée du module : quel type sera utilisé. Ce peut être n’importe quel type de données parmi ceux supportés par Pandora FMS. (generic_proc,generic_data,generic_data_string,async_proc,async_data,async_string...)
  • Expression régulière Perl à utiliser pour la capture de données : ce doit être une expression régulière Perl, avec l’ordre de capture d’information entre parenthèses :

Par exemple, dans le texte :

 <p>La température de la plaque solaire est de : <span class="température">54º C</span></p>

Si nous souhaitons récupérer la température pour mener un suivi de la valeur, nous préciserons l’expression régulière comme ceci :

<span class="température">(\d+\.*\,*\d*).*</span>

De telle sorte que la valeur 54 de l’exemple sera récupérée, voire même des valeurs décimales.

La directive de capture terminée serait donc comme cela :

getValue;température plaque solaire;generic_data;<span class="température">(\d+\.*\,*\d*).*</span>

2.3 Expérience utilisateur de bureau (PDR)

2.3.1 Déploiement du système PDR (uniquement Windows)

Le système PDR ne fonctionne que sur des systèmes Windows. Une fois en exécution par l’agent de Pandora FMS, ce dernier doit s’exécuter en mode processus, puisqu’en mode service, il ne fonctionnerait pas. De plus, il ne sera pas possible de bloquer la session de bureau. C’est pourquoi, il est recommandé de l’utiliser sur des machines virtuelles.

Pré-requis :

  • Système Windows en mode bureau avec auto-démarrage et auto-lancement de la session.

Pour réussir ladite configuration, nous exécuterons :

control userpasswords2

Nous décocherons la case "Users must enter a user name and password to use this computer" :


Ux5.JPG


Pour préparer l’environnement, nous créerons les répertoires suivants :

C:\PDR
C:\sondes

Nous décompresserons le fichier "PDR.zip" fourni dans le lien suivant : https://pandorafms.com/library/pdr-cmd-for-ux-monitoring/ dans C:\PDR.

Pour lancer l’enregistreur, nous exécuterons le script suivant :

C:\PDR\pdr

2.3.2 Enregistrer une session PDR

Pour enregistrer une session avec PDR, il faut :

  • Installer le système d’automatisaton (décompresser pdr.zip dans un répertoire de votre choix)
  • Démarrer le système d’enregistrement (pdr.cmd).


Ux17.JPG


Après un processus de chargement, nous entrerons dans l’environnement d’enregistrement :


Ux18.JPG


Sélectionnez les actions que vous souhaitez réaliser et faites une capture de la zone où vous souhaitez les appliquer. Vous trouverez ci-dessous une liste avec les plus communes :

Actions générales :


Ux19.JPG


Actions de contrôle de flux :


Ux20.JPG


Plus d’aide sur le langage : http://sikulix-2014.readthedocs.io/en/latest/index.html

En enregistrant le projet, un dossier sera créé qui contiendra les éléments suivants :

  • Fichier .py avec le code du script d’automatisation.
  • Images pour contrôler la navigation.

Un exemple simple d’exécution pourrait être de surveiller que notre calculatrice Windows fonctionne correctement. Nous allons vous présenter tout le processus dans les captures d’écran suivantes :

1. Nous choisissons l’action “clic” et la zone sur laquelle nous souhaitons appliquer l’action. L’écran passera en “sélection de zone” :


Ux21.JPG


Ux22.JPG


2. Nous indiquerons l’action type et le texte "calc". Ensuite, nous préciserons les actions qui consistent à attendre que la zone “calculatrice” apparaissent et nous cliquerons dessus. Puis, nous patienterons jusqu’à ce qu’apparaisse la fenêtre de la calculatrice pour indiquer les actions suivantes, de cette façon :


Ux23.JPG


3. Ensuite, nous cliquerons sur les boutons correspondants, en sélectionnant les mêmes zones que lors des étapes précédentes.

4. Enfin, nous pourrons sauvegarder le processus et le relancer grâce au bouton Run.

Notes importantes :

  • Si nous double-cliquons sur n’importe quelle image dans l’environnement d’enregistrement, nous pouvons modifier les détails de la capture de contrôle, comme sélectionner l’endroit exact où il faut cliquer.
  • Il est fortement recommandé d’indiquer des actions du type wait entre chaque clic pour nous assurer que l’exécution ne va pas s’arrêter en cas de retard dans le système d’exploitation.
  • L’enregistreur cherchera la zone avec le même aspect que celui de la capture. Ainsi, il faut faire particulièrement attention dans le cas où quelque chose serait en surbrillance lorsque le curseur est situé au dessus (par exemple, les boutons de la calculatrice se changent en couleur orange lorsque la souris se trouve dessus).

Dans le dossier sur lequel nous avons conservé l’enregistrement, nous pouvons voir les archives des images et le fichier Python.


Ux24.JPG


Note: Vous pouvez personnaliser la capture réalisée depuis le moteur d’enregistrement du PDR en utilisant le code suivant :

## OPTIONAL ##capture file names
import shutil
file = "C:\probes\screenshot_prueba.sikuli.png"
focusWindow = App.focusedWindow()
regionImage = capture(focusWindow)
shutil.move(regionImage, file)


Ceci créera une image de la fenêtre active dans la destination indiquée par file, avec laquelle nous pourrons réaliser la capture au moment souhaité.

Nous pouvons personnaliser cette capture en utilisant des coordonnées. Pour cela, nous indiquerons la syntaxe suivante :

capture(x, y, w, h)

Où :

X : position X du rectangle à capturer.

Y : position Y du rectangle à capturer.

W : largeur de la capture.

H : hauteur de la capture.



2.3.2.1 Enregistrer une session transactionnelle avec Pandora UX PDR

Il n’est pas nécessaire d’enregistrer une session spécifique. Enregistrez simplement les sessions dont vous avez besoin dans différents scripts. Ce sera Pandora FMS UX qui gérera la restitution des données pour l’organiser comme une transaction complexe. Dans la prochaine section, nous verrons comment faire l’appel d’exécution pour qu’elle fonctionne correctement.

Si nous allons réaliser plusieurs enregistrements pour créer un processus transactionnel, nous devons faire attention en réalisant l’enregistrement, notamment que les éléments que nous cherchons soient bien présents. Il est recommandé d’exécuter manuellement les enregistrements que nous souhaitons utiliser dans un seul processus transactionnel de façon suivie, pour nous assurer que les actions se déroulent comme prévues.

Dans l’exemple suivant, nous avons réalisé un processus d’enregistrement qui constituera la seconde phase du processus employé dans l’exemple précédent. Nous allons prendre le résultat renvoyé par la calculatrice et le coller dans un bloc notes. L’enregistrement présente l’aspect suivant :


Ux40.JPG


Nous avons aussi inclu une autre séquence qui consistera à sauvegarder l’archive de texte dans un emplacement déterminé, en écrasant la précédente. Ceci nous permet d’avoir une grande flexibilité puisque cela ouvre la possibilité de surveiller parallèlement ce fichier en reflétant l’information dont nous avons besoin sur tout type de variété de tests d’applications de bureau lourdes. Cette troisième séquence consiste à :


Ux43.JPG


2.3.3 Exécution de sessions PDR

2.3.3.1 Exécution standard

Pour lancer des sessions pré-enregistrées de PDR, nous indiquerons que le mode de travail est le chemin d’accès au fichier pdr.cmd déployé dans l’emplacement correspondant, l’argument dudit fichier “-r”, l’archive qui contient les directives de la session (-script), le répertoire où les captures d’écran sont stockées (-folder) terminant par ‘\’. Ce qui est facultatif, c’est de sauvegarder dans le dossier où est placé le PDR. Il est aussi possible d’indiquer le nombre de tentatives consécutives en cas d’échecs. C’est également un paramètre facultatif.

Dans l’exécution suivante, la capture d’écran est aussi personnalisée pour ne collecter que la fenêtre active :

pandora_ux_x64 -exe C:\PDR\pdr -args -r -script C:\pandora_ux\calculadora.sikuli -folder C:\pandora_ux\ -ss_config active -retries 3

Les modules suivants seront retournés :

  • UX_Time_nom_projet.
  • UX_Status_nom_projet.
  • UX_Control_Snapshot_nom_projet (uniquement pendant la première exécution).

S’il y a quelques phases avec erreurs, le module suivant sera également créé :

  • UX_Snapshot_nom_projet.

Une image sera affichée depuis la fenêtre active (avec -ss_config active) au moment de l’erreur.

Exemple de sortie avec exécution correcte :

<module>
   <name><![CDATA[UX_Status_calculadora.sikuli]]></name>
   <type>generic_proc</type>
   <![CDATA[1]]>
   <description><![CDATA[C:\pandora_ux\calculadora.sikuli execution completed Control snapshot rebuild ]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
</module>
<module>
   <name><![CDATA[UX_Time_calculadora.sikuli]]></name>
   <type>generic_data</type>
   <![CDATA[20.204]]>
   <description><![CDATA[C:\pandora_ux\calculadora.sikuli execution completed Control snapshot rebuilt ]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
   <module_parent>UX_Status_calculadora.sikuli</module_parent>
</module>
<module>
   <name><![CDATA[UX_Control_Snapshot_calculadora.sikuli]]></name>
   <type>async_string</type>
   <![CDATA[data:image/png;base64, IBCAIAAAAOCnfhAAAAAXNSR…/4x79e/7757f8H2C00s1C73yMAAAAASUVORK5CYII=]]>
   <description><![CDATA[Control image rebuilt]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
   <module_parent>UX_Status_calculadora.sikuli</module_parent>
</module>

Exemple de sortie avec échec d’exécution :

<module>
   <name><![CDATA[UX_Status_std.html]]></name>
   <type>generic_proc</type>
   <![CDATA[0]]>
   <description><![CDATA[Failed to execute verifyText]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
</module>
<module>
   <name><![CDATA[UX_Time_std.html]]></name>
   <type>generic_data</type>
   <![CDATA[15.463]]>
   <description><![CDATA[Failed to execute verifyText]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
   <module_parent>UX_Status_std.html</module_parent>
</module>
<module>
   <name><![CDATA[UX_Snapshot_std.html]]></name>
   <type>async_string</type>
   <![CDATA[data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAA…JRU5ErkJggg==]]>
   <description><![CDATA[Image (last error)]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
   <module_parent>UX_Status_std.html</module_parent>
</module>

Si tout s’est déroulé correctement, nous pouvons ajouter la ligne d’exécution à l’agent de Pandora FMS installé sur la machine Windows comme plugin d’agent. La ligne à ajouter au fichier de configuration de l’agent sera semblable à cela (une seule ligne) :

module_plugin C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -script C:\PDR\calc.sikuli -folder C:\PDR\ -ss_config active -checkpoint -post "taskkill /F /IM calc.exe"

Comme on peut le voir, cette exécution a quelques options en plus. Le paramètre -checkpoint sert à montrer une capture du résultat final même s’il n’existe pas d’erreur. -post exécutera des actions une fois la reproduction de la session terminée. Dans ce cas, nous allons fermer le processus de calcul que l’enregistrement a démarré, pour éviter que le système ne finisse par échouer pour excès de fenêtres ouvertes ou de processus semblables. Maintenant que notre agent a la ligne d’exécution module_plugin qui est prête, nous devons le lancer en mode processus, en exécutant le suivant à partir de la ligne de commande comme administrateur :

"C:\Program Files\pandora_agent\PandoraAgent.exe" --process

Bien évidemment, le chemin d’accès à l’exécutable PandoraAgent.exe doit correspondre à notre installation.

En le lançant, nous verrons comment s’exécutent automatiquement les actions conformément à notre enregistrement. A partir de ce moment, le processus agent ne doit pas se fermer et la session ne doit pas non plus se démarrer sur la machine par un bureau à distance, au risque que les exécutions ne s’interrompent. La machine ne doit pas être manipulée. C’est pour cela qu’il est recommandé de l’utiliser sur des machines virtuelles.

Imagen nueva pdr.png

Info.png

Si les tests d’automatisation sont déjà disponibles, ils peuvent être inclus dans Pandora FMS avec l’exécution suivante.

 


pandora_ux.64 -exe <exe du système d’automatisation> -args <arguments du système> -script <chemin d’accès des fichiers de test>

2.3.3.2 Exécution basée sur une transaction

Si nous avons différents processus d’enregistrés avec PDR et nous avons testé qu’ils fonctionnent en continu, nous ferons l’exécution du mode suivant :

C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t calculadora_trans -script C:\PDR\calc.sikuli,C:\PDR\savecalc.sikuli,C:\PDR\savefile.sikuli -folder C:\PDR\ -ss_config active

Comme vous pouvez l’observer, nous n’indiquerons que le chemin d’accès du nouveau script dans le paramètre -script, séparé du script précédent par une virgule et nous utiliserons le paramètre -t avec le nom de la transaction qui inclura les différentes phases. Si nous avions eu un processus avec plus de phases, nous aurions suivi la même logique. Par exemple :

pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t proceso_transaccional -script C:\PDR\script1,C:\PDR\script2,C:\PDR\script3,C:\PDR\script4 -folder C:\PDR\ -ss_config active

La ligne à ajouter au fichier de configuration de l’agent, pour ce cas-ci, sera la suivante :

module_plugin C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t calculadora_trans -script C:\PDR\calc.sikuli,C:\PDR\savecalc.sikuli,C:\PDR\savefile.sikuli -folder C:\PDR\ -ss_config active -checkpoint -post "taskkill /F /IM calc.exe"

Grâce au paramètre -checkpoint, nous pourrons voir des captures du résultat final de chaque phase dans la console de Pandora FMS.

Les modules suivants seront renvoyés par phase :

  • UX_Time_nom_projet.phase_ordre.
  • UX_Status_nom_projet.phase_ordre.

S’il y a quelques phases avec des erreurs, le module suivant sera aussi créé :

  • UX_Snapshot_nom_projet.phase_ordre.

Une image du web sera affichée au moment de l’erreur, si le cas se présente.

Les modules de résumé globaux seront également retournés, identifiés avec les noms suivants :

  • UX_Global_Time_nom_projet.
  • UX_Global_Status_nom_projet.
  • UX_Global_Snapshot_nom_projet.


Lorsque l’agent exécute en mode processus et que les modules sont récupérés par Pandora FMS, nous les verrons dans la console. À nouveau, grâce à la vue en “mode hiérarchique”, nous pourrons clairement montrer la relation entre les modules présentés, en délimitant précisément les différentes phases :

Ux41.JPG


Dans la visionneuse des transactions, nous pouvons voir le détail des phases et le graphique avec les temps :


Ux42.JPG


Les captures d’erreur ne seront affichées que lorsque le client UX (PWR) et le serveur PWR s’exécutent sur la même machine. Dans le cas contraire, le répertoire de transfert des images par le serveur PWR devra être accessible par le client pour pouvoir montrer l’image sur Pandora FMS.

Ce sera sur ces modules que nous pourrons créer des alertes et visualiser l’historique pour construire des graphiques et montrer l’évolution dans le temps de nos systèmes. La création d’une tâche programmée qui démarre l’agent de Pandora FMS en mode processus lorsque l’équipement se lance est recommandé . Ainsi, les exécutions ne s’interromperont pas, même si le système a un redémarrage forcé et, en étant en mode démarrage de session automatique sans mot de passe, l’agent s’exécutera toujours même si la machine se redémarre.


Ux26.JPG


Ux27.JPG


Ux28.JPG


Ux29.JPG


Ux30.JPG


Ux31.JPG


Ux32.JPG


De cette façon, nous garantissons que dans ce système, Windows exécutera toujours l’agent de Pandora FMS en mode processus même lorsque la machine se redémarre, en envoyant toujours l’information collectée par la sonde PDR.

Des systèmes avec plusieurs bureaux peuvent s’avérer problématiques. C’est pourquoi, il est recommandé de toujours utiliser la configuration précédemment décrite, dans une machine en mode bureau avec auto-démarrage de session et un seul bureau.

3 Surveillance de l’Expérience Web Utilisateur (WUX)

3.1 Introduction

Pandora FMS WUX Server est un composant interne du serveur Pandora FMS, qui permet aux utilisateurs d’automatiser leurs sessions de navigation web.

Pour pouvoir fonctionner, WUX Server devra se connecter à un serveur PWRD (Pandora Web Robot Daemon).

PWRD est un service qui exécute, étape par étape, des actions pré-enregistrées par l’utilisateur sur un portail web.

Pour réussir cela, PWRD utilise la technologie d’automatisation web de Selenium.


Il sera donc essentiel que l'utilisateur indique à Pandora WUXServer les actions à effectuer pour naviguer sur son portail Web.

Avec ces données, Pandora WUXServer générera un rapport avec les résultats des exécutions, le temps passé et les captures avec les erreurs éventuelles trouvées.

Pandora WUX Server est capable de diviser les sessions de navigation en phases, ce qui simplifiera la vue et nous aidera à déboguer les éventuels goulots d’étranglement.


Wux simple.png


3.2 Configuration

Pour pouvoir activer WUX Server dans notre serveur Pandora FMS, nous devrons configurer le service Pandora Web Robot (PWRD)

3.2.1 Qu’est-ce-que Pandora Web Robot Daemon (PWRD) ?

Pandora FMS Web Robot Daemon est un service qui fournit les outils nécessaires pour automatiser les sessions de navigation web, en utilisant une archive qui contient une liste des actions nécessaires pour naviguer sur le portail web de l’utilisateur.

Il est intégré dans le serveur de Pandora FMS et nous pouvons le trouver dans le dossier /usr/share/pandora_server/util/pwrd en installant le serveur Enterprise (Linux) ou dans la bibliothèque de modules (Windows).

Il contient :

  • Le binaire du navigateur Firefox version 46.
  • Un profil construit pour l’exécution des sessions de navigation web.
  • Un serveur d’automatisation de sessions (Selenium server).


3.2.2 Déploiement de PWRD sur Linux

Le composant Selenium du domaine PWRD requiert Java pour fonctionner. Il nous faudra l’installer :

yum install java 

Pour que PWRD soit capable de lancer Firefox dans notre serveur Linux, il faudra installer xorg-x11-server-Xvfb, gtk2 et gtk3 pour pouvoir virtualiser un environnement graphique :

yum install xorg-x11-server-Xvfb gtk2 gtk3

S’il n’est pas disponible dans vos bases, vous pouvez trouver les fichiers rpm sur les liens suivants : ftp://rpmfind.net/linux/centos/6.6/os/x86_64/Packages/xorg-x11-server-Xvfb-1.15.0-22.el6.centos.x86_64.rpm

ftp://rpmfind.net/linux/centos/7.4.1708/os/x86_64/Packages/gtk2-2.24.31-1.el7.x86_64.rpm

Pour installer les packs rpm manuellement :

yum install xorg-x11-server-Xvfb-1.15.0-22.el6.centos.x86_64.rpm
yum install gtk2-2.24.31-1.el7.x86_64.rpm

Une fois les dépendances terminées, nous procéderons à l’installation du domaine PWRD. Nous pouvons le trouver dans le dossier /usr/share/pandora_server/util/pwrd/ en installant le serveur Enterprise :

sudo /bin/bash /usr/share/pandora_server/util/pwrd/install_pwrd.sh --install [utilisateur] [répertoire]

Sur la version 730 et les précédentes, il est possible de réaliser l’installation personnalisée avec un utilisateur et un répertoire différent de l’installation par défaut.

Une fois installé, nous devrons le démarrer.

PWRD propose divers modes de fonctionnement :

  • Standalone : mode standard, il lancera une seule instance de PWRD. Chacune de ces instances sera associée à un serveur de Pandora FMS.
  • HUB : mode concentrateur. Dans ce mode, le service PWRD n’évaluera pas directement les sessions de navigation mais elles devront s’inscrire comme “noeuds” pour exécuter les tâches. C’est le mode cluster du service PWRD. Chaque HUB sera assigné à un serveur de Pandora FMS.

3.2.2.1 PWRD en mode standalone

PWRD en mode standalone démarrera le domaine et le le tiendra prêt à exécuter les actions indiquées par l’utilisateur grâce à WUX Server.


Wux pwrd standalone.png



# Démarrer
/etc/init.d/pwrd start
# voir l’état 
/etc/init.d/pwrd status
# arrêter
/etc/init.d/pwrd stop


3.2.2.2 PWRD en mode "HUB"

Le mode concentrateur (ou HUB) démarrera le domaine comme un équilibreur de charge. Dans ce mode de travail, le système va équilibrer la charge entre tous les noeuds qu’il a, en assignant l’exécution des sessions de navigation aux noeuds, en fonction de leur charge de travail.

Vous pouvez voir à tout moment l’état de l’HUB en accédant à sa console d’administration :

http://hub:4444/grid/console



Wux pwrd hub.png



# Démarrer
/etc/init.d/pwrd start-hub
# voir l’état
/etc/init.d/pwrd status-hub
# arrêter
/etc/init.d/pwrd stop-hub


3.2.2.2.1 Ajouter des noeuds de PWRD à notre HUB

Pour ajouter un nouveau noeud PWRD, il nous faudra :

  • Un concentrateur (PWRD en mode HUB).
  • Les archives de PWRD, dans la même machine ou une différente.
  • Connectivité TCP/4444 à partir de l’équipement qui héberge le noeud vers l’HUB.

Dans ce mode de travail, le service traitera toutes ces requêtes collées depuis le concentrateur (HUB), en lui renvoyant les résultats des exécutions. Ce sera le HUB qui échangera exclusivement avec le WUX Server, en toute transparence pour qu’il exécute les actions de l’utilisateur.

# Démarrer et enregistrer dans le HUB, remplacer "hub" par l’IP du serveur PWRD HUB
/etc/init.d/pwrd start-node http://hub:4444/grid/register
# voir l’état 
/etc/init.d/pwrd status-node
# arrêter
/etc/init.d/pwrd stop-node

3.2.2.3 Configuration du serveur de Pandora FMS

Indépendamment du mode choisi, une fois démarré, nous pourrons commencer à lui assigner des exécutions de notre session de navigation, en ajoutant les paramètres de configuration de WUX Server au fichier de configuration de notre serveur de Pandora FMS.

En supposant que nous ayons déployé notre serveur PWRD dans le même serveur que celui dans lequel notre serveur Pandora FMS s’exécute, nous ajouterions la configuration suivante :

# ajouter à  /etc/pandora/pandora_server.conf
wuxserver 1
wux_host 127.0.0.1
wux_port 4444

3.2.3 Déploiement sur Windows

Étape à suivre pour préparer un environnement de travail pour Pandora FMS WUX sur Windows.

Note : nous recommandons vivement Linux pour recevoir le service PWRD.

3.2.3.1 Déploiement de PWRD sur des systèmes Windows

Pré-requis :

Pour télécharger le PWR_Server.zip, cliquez sur le lien suivant : https://pandorafms.com/library/pwr-server-for-ux-monitoring/

Nous ferons la distribution des fichiers suivants :

  • Décompression du fichier PWR_Server.zip a C:\PWR\
  • Exportation du profil Firefox sur C:\PWR\profile

L’utilisation d’un profil pour réaliser les test n’est pas obligatoire. Bien évidemment, son usage est recommandé si vous utilisez un proxy ou que vous souhaitez la saisie automatique des mots de passe.

Pour créer un profil Firefox, nous suivrons les étapes des captures suivantes :


Ux1.JPG


Ux2.JPG


Choix du répertoire de destination :


Ux3.JPG


Nous devons démarrer Firefox avec le nouveau profil pour personnaliser des options comme le proxy, afficher des popups, etc.


Ux4.JPG


Par la suite, nous installerons le service en exécutant le fichier BAT service_installer.bat qui est fourni. Nous démarrerons ensuite le service :

net start PWRSRV

À présent, nous avons déjà le serveur Selenium en exécution dans la machine. Bien évidemment, nous pouvons l’exécuter manuellement (en arrêtant le service au préalable) si nous souhaitons réaliser des tâches de “debugging”, grâce à la commande suivante :

java -jar selenium-server-standalone-2.53.1.jar -firefoxProfileTemplate C:\selenium\firefox_profile -port 4444 -v

3.3 Enregistrer une session PWR

Avant de surveiller une expérience utilisateur, nous devons enregistrer les actions que nous souhaitons que le système réalise, afin de naviguer sur notre portail web.

Pour cela, l’utilité "PWR recorder" est disponible dans la librairie de modules.

Exécutez l’archive téléchargée pour démarrer l’environnement de l’enregistrement. Une fois l’environnement démarré, vous pourrez accéder à l’enregistreur en cliquant sur le bouton suivant :




Une fenêtre devrait apparaître comme celle de l’image suivante :


Ux10.JPG



À présent, nous pouvons naviguer sur le site web que nous souhaitons surveiller et les différentes actions de chaque étape apparaîtront au fur et à mesure dans l’enregistreur.

Pour arrêter l’enregistrement, nous utiliserons le bouton suivant, situé dans la partie supérieure droite de l’enregistreur :


Ux11.JPG


Une fois les actions terminées, nous pouvons réaliser des vérifications sur la page. Par exemple, vérifier l’existence d’un texte déterminé pour nous assurer que la page chargée est la correcte. Pour cela, nous ferons un clic droit sur la section de texte dans la fenêtre du navigateur tout en continuant l’enregistrement puis nous sélectionnons l’option “verifyText” :


Ux13.JPG


Une nouvelle étape apparaîtra dans l’enregistreur indiquant l’action de vérification de texte indiquée :


Ux14.JPG


Nous pouvons reproduire la séquence achevée grâce au bouton Play entire test suite et vérifier qu’elle se termine correctement :


Ux15.JPG



Une fois que la validité de la séquence de navigation est vérifiée, nous la sauvegardons (Archive -> Save Test Case). Cette archive sera celle que nous chargerons lorsque nous créerons un nouveau module d’analyse web dans notre console Pandora FMS.

3.3.1 Enregistrer une session transactionnelle pour Pandora WUX

Pandora FMS WUX permet de diviser la surveillance de la navigation d’un site web dans de nombreux modules, qui représenteront chacune des étapes réalisées.

Pour insérer un nouveau point de contrôle et générer les modules de phase (jusqu’à ce point), faites un clic droit où vous souhaitez indiquer le commencement de la phase.


Pwrd recorder transaction.PNG


Nous mettrons le texte suivant comme commentaire :

phase_start:nombre_de_fase

La phase inclura le temps et le résultat de toutes les commandes rencontrées jusqu’au commentaire suivant :

phase_end:nombre_de_fase

Toutes les commandes qui s’exécutent entre une étiquette phase_start et phase_end seront inclues dans cette phase.


Pwrd recorder transaction2.PNG


3.4 Créer un module d’analyse web dans Pandora FMS Console

Une fois que nous avons enregistré notre session de navigation, c’est le moment de le déployer comme module dans la console de Pandora FMS.

Pour cela, nous accédons à “n’importe quel agent associé à un serveur avec la fonctionnalité WUX activée” et nous créons un module de type “Analyse web” :

Wux module.PNG


Après avoir sélectionné "créer", il faudra remplir tous les champs que nous présente le formulaire :

Wux new module form2.PNG
  • Nom du module : module WUX (Père). Tous les sous-modules avec les résultats de la surveillance seront dépendants de ce nouveau module.
  • Site web ciblé (target web site) : pour la surveillance de statistique de performance de site web.
  • Lancer des tests de performance (Run performance tests) : cela indique que nous souhaitons non seulement surveiller l’expérience navigation mais aussi les statistiques de performance d’accès au site ciblé.
  • Historique de données : sauvegarder ou non les historiques des modules qui surveillent cette expérience utilisateur.
  • Section “textâche” : dans ce cadre de texte, nous devrons copier (ou charger) le contenu des fichier de navigation préalablement enregistrés.

3.4.1 Macros personnalisés

Le fonctionnement des macros personnalisés implique la substitution de chaînes de caractères déterminées qui sont présentent dans notre fichier de session de navigation par certaines valeurs personnalisables.

Dans le cas de modules d’analyse web, cette fonctionnalité a été améliorée, proposant maintenant des “macros dynamiques” qui permettent que ces valeurs se traduisent en “dates et heures” variables.

Pourquoi cette fonctionnalité ?

Supposons que nous devons surveiller, grâce à une session de navigation, le bon fonctionnement d’une application web de réservations de salles de réunion.

Si nous avions établi une date et heure fixe au moment de remplir les données du formulaire, il est possible que le système ait annulé la réservation parce qu’à un moment, il est resté bloqué dans le passé. Par exemple, nous pourrions essayer de réserver une salle pour la semaine précédente. Il est également possible que nous ayons un temps limité pour effectuer cette réservation et que le système nous oblige à réserver la salle dans un délai déterminé, comme par exemple ne dépassant pas le mois en cours.

Pour éviter d’avoir à modifier la macro très régulièrement et de nous soucier de la partie configuration, nous pouvons utiliser les macros dynamiques, en demandant au système qu’il réserve toujours la salle pour le lendemain au moment de la réalisation du test.

Pour utiliser cette fonctionnalité, les valeurs devront avoir un format spécifique, en permettant les substitutions possibles suivantes :

@DATE_FORMAT (date/heure actuel avec le format défini par l’utilisateur) @DATE_FORMAT_nh (heures)
@DATE_FORMAT_nm (minutes)
@DATE_FORMAT_nd (jours)
@DATE_FORMAT_ns (secondes)
@DATE_FORMAT_nM (mois)
@DATE_FORMAT_nY (années)


Où “n” peut être un nombre sans signe (positif) ou négatif.

Et FORMAT correspond au norme de strftime de perl


Exemples :

@DATE_%Y-%m-%d %H:%M:%S
@DATE_%H:%M:%S_300s
@DATE_%H:%M:%S_-1h

3.5 Charge des certificats au profil Firefox

Il est possible que quelques tests configurés s’exécutent sur des pages web qui utilisent des certificats auto-signés ou signés par une CA non inclues dans les “acceptées par défaut” sur Firefox. C’est pourquoi dans ces cas-là, il faudra charger le certificat en question dans le profil Firefox utilisé.

Pour ce faire, le plus simple est de démarrer dans un environnement graphique, d’accéder à l’URL et d’ajouter le certificat SSL. Nous expliquerons ensuite comment le faire, aussi bien sur Windows que sur Linux :

3.5.1 Avec PWRD déployé dans des systèmes Windows

Dans ce cas, puisque nous compterons sur un environnement graphique, nous n’aurons qu’à démarrer le navigateur Firefox avec le profil que nous utilisons pour les tests :

Profile 01.png
Profile 02.png

Une fois démarré, il faudra accéder à l’URL avec le certificat à charger et l’ajouter comme exception pour le navigateur.

Profile 03.png
Profile 04.png

Une autre possibilité, si vous souhaitez accepter n’importe quel certificat SSL, serait d’accéder aux options de Firefox, dans l’onglet “Confidentialité et Sécurité” et décocher le champs “Consulter les serveurs de réponses OCSP pour confirmer la validité actuelle des certificats” :

Profile 05.png
Profile 06.png

3.5.2 Avec PWRD de déployé dans des systèmes Linux

Généralement, lorsqu’un serveur Linux est installé, un environnement de bureau graphique n’est pas inclu. C’est pourquoi, pour suivre les mêmes étapes que dans le cas précédent, nous devons rediriger les graphiques X à un équipement sur lequel nous avons bien un environnement de bureau graphique. Cette manipulation se réalise différemment selon que les X sont redirigés vers un bureau graphique sur Linux ou Windows.

3.5.2.1 En redirigeant X11 à un bureau sur Linux

Faire cela est très simple puisqu’il suffira d’établir une connexion SSH au serveur PWRD avec le paramètre "-X" :

ssh -X [email protected]_ip_address

Une fois fait, si nous lançons le navigateur Firefox, nous pourrons voir comment cela se présente sur notre bureau :

firefox -p

Dans une installation par défaut, nous ne verrons que le profil “default”. C’est pourquoi, il est recommandé de faire comme dans l’installation sur Windows et de créer un nouveau profil à utiliser :

Profile 07.png
Profile 08.png
Profile 09.png

Si vous sauvegardez le profil dans un chemin d’accès différent de /opt/firefox_profile, il faudra modifier le script de démarrage du PWRD /etc/init.d/pwrd pour lui indiquer le chemin d’accès au nouveau profil :

PWROPTS=" -firefoxProfileTemplate /path/to/profile/folder"

Avec le profil créé, le navigateur peut être démarré.

Profile 10.png

Une fois démarré, il faudra accéder à l’URL avec le certificat à charger et l’ajouter comme exception pour le navigateur :

Profile 11.png
Profile 12.png

Une autre possibilité, si vous souhaitez accepter n’importe quel certificat SSL, serait d’accéder aux options de Firefox, dans l’onglet “Avancé > Certificats” et décocher le champ “Consulter les serveurs de réponses OCSP pour confirmer l’actuelle validité des certificats”

Profile 13.png
Profile 14.png

3.5.2.2 En redirigeant X11 vers un bureau Windows

Avec Windows, il faudra tout d’abord installer un serveur de X pour le faire rediriger, comme par exemple Xming. Une fois installé et lancé, nous pourrons rediriger les X. En utilisant le client SSH Putty, nous devrons aller dans la partie “Connexion > SSH > X11” avant de nous connecter et de nous assurer que nous marquons l’option "Enable X11 forwarding" et de remplir le champ "X display location" en "localhost:0":

Profile 15.png

Ensuite, nous revenons à "Session" et nous établissons la connexion :

Profile 16.png

Une fois la connexion établie, si nous lançons le navigateur Firefox sur le serveur PWRD, nous pourrons le visualiser dans le bureau de Windows.

firefox -p

Dans une installation par défaut, nous ne verrons que le profil "default". C’est pourquoi, il est recommandé de procéder comme pour l’installation sous Windows et de créer un nouveau profil à utiliser :

Profile 17.png
Profile 18.png
Profile 19.png

Si vous sauvegardez le profil sur un chemin d’accès différent de /opt/firefox_profile, il faudra modifier le script de lancement du PWRD /etc/init.d/pwrd pour lui indiquer l’itinéraire jusqu’au nouveau profil :

PWROPTS=" -firefoxProfileTemplate /path/to/profile/folder"

Avec le profil créé, le navigateur peut être lancé :

Profile 20.png

Une fois démarré, il faudra accéder à l’URL avec le certificat que vous souhaitez charger et l’ajouter comme exception pour le navigateur :

Profile 21.png
Profile 22.png

Une autre possibilité, si vous souhaitez accepter n’importe quel certificat SSL, serait d’accéder aux options de Firefox, dans l’onglet “Avancé > Certificats” et décocher le champ “Consulter les serveurs de réponses OCSP pour confirmer l’actuelle validité des certificats” :

Profile 23.png
Profile 24.png


3.6 Visualisation des données

Les informations générées par WUX seront visibles sous forme de modules, de la manière suivante. Activer la vue en “mode hiérarchique”, dans la liste de modules, nous aidera à visualiser les informations beaucoup plus facilement :


WUX modules.PNG


Dans cette hiérarchie, nous trouverons les modules suivants:

  • module_Global_Status : il indiquera le statut global de la navigation achevée.
  • module_Global_Time : il indiquera le temps global requis lors de la navigation.
  • module_Global_Screenshot : il contient une image avec le résultat de l’erreur de navigation, qui ne se générera qu’en cas d’erreur
  • module_Phase X : Nom de la phase_Status : il indiquera l’état de la navigation pendant la phase X.
  • module_Phase X : Nom de la phase_Time : il indiquera le temps requis lors de la phase X.

Exemple : vue d’une capture d’erreur.


Wux screenshot.png


Template warning.png

Attention : si vous avez fait une mise à jour à partir des versions antérieures à Pandora FMS 7.0NG 712, vous devez réaliser un petit changement.

 


Pour pouvoir stocker les captures d’écran par WUX Server, vous devrez lancer les opérations suivantes dans votre modèle de base de données :

alter table tagent_etat modify column datos mediumtext;
alter table tagent_donnees_string modify column datos mediumtext;

Si vous ne réalisez pas ces actions, les captures pourraient être coupées.

En accédant à la section WUX de l’agent, nous pouvons voir des détails supplémentaires de la transaction et ses phases :

Wux nueva imagen.png

Les statistiques du site web se résument dans les concepts suivants :

  • Stats_TT : temps total pour obtenir le site web.
  • Stats_TDNS : temps total pour résoudre l’adresse IP de l’objectif.
  • Stats_TTCP : temps requis pour se connecter via TCP.
  • Stats_TSSL : temps requis pour établir la communication SSL.
  • Stats_TST : temps écoulé jusqu’à ce que démarre le transfert de données.
  • Stats_TTC : temps de transfert des données. Il regroupera tous les temps de transfert de ressources.
  • Stats_TTR : temps requis pour transférer le contenu de la page.
  • Stats_TTR_main : temps requis pour transférer le code HTML.
  • Stats_TTR_image : temps requis pour transférer les ressources de type image (png|jpg|jpeg|bmp|tiff|gif|webp|svg).
  • Stats_TTR_css : temps requis pour transférer les feuilles de style.
  • Stats_TTR_js : temps requis pour transférer les fichiers JavaScript.

3.7 Assigner des alertes à un module d’analyse web

Les alertes associées aux modules d’analyse web ont la même dynamique de fonctionnement que tout le système d’alertes sur Pandora FMS.

Pour une question de compatibilité, il est recommandé d’assigner les écrans d’alertes sur les sous-éléments autogénérés par le module d’analyse web, comme par exemple :

  • L’état de la navigation globale.
  • Les alertes sur des seuils de temps.
  • Alertes avec un écran d’avertissement défini sur “Toujours” pour les modules de captures d’images des résultats.


3.8 Nouveaux widgets pour Dashboards

Pour représenter les informations de la navigation de l’utilisateur, deux nouveaux types de widgets ont été ajoutés :

Widget de l’état des phases de navigation :

Widget wux fases.PNG


Widget des statistiques du site web :

Widget wux stats.PNG



Revenir à l’index de Documentation Pandora FMS