====== Supervision d'expérience utilisateur UX et WUX ====== {{indexmenu_n>7}} ===== Introduction ===== {{:wiki:icono-modulo-enterprise.png |Version Enterprise.}} Le contrôle de l'expérience utilisateur consiste à enregistrer des tâches automatisées de **navigation sur le web** (PWR/WUX) et d'interaction avec le **bureau et les applications du système Windows** (PDR). Ces enregistrements peuvent aller d'un clic de souris sur un navigateur web à l'ouverture d'une application sur le bureau, en passant par la saisie d'un texte ou la réalisation d'une recherche sur le web. Cela permet de configurer des fonctions et de les enregistrer automatiquement en vue d'une exécution ultérieure à la recherche de résultats. ===== Différences entre supervision 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 supervision **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. 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. 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 de la supervision grâce aux plugins dans les agents software installés dans les machines correspondantes. Pour l'exécution des transactions web Pandora FMS utilise Selenium Engine. * Selenium version 2. * Selenium version 3. ===== Surveillance PWR UX ===== Compte tenu des [[:fr:documentation:pandorafms:monitoring:13_user_monitorization#differences_entre_supervision_ux_et_wux|différences entre la surveillance UX et la surveillance WUX]], de manière générale, la surveillance UX doit respecter une série de conditions préalables liées à l'environnement à surveiller, avec les étapes préliminaires suivantes : * Installer Java®. * Créez un profil dans Mozilla Firefox®. * Installation d'un service Selenium®. * Répartir les PWR dans le système. * Installez l'IDE de Selenium® pour Mozilla Firefox®. * Enregistrement d'une session PWR. Pour l'exécution standard de sessions préenregistrées, utilisez la fonction [[https://pandorafms.com/guides/public/books/plugin-pandora-ux|Plugin Pandora UX]] dans sa dernière version 28-04-2022. ===== Expérience utilisateur Web (WUX) avec Selenium 3 ===== Pour le déploiement de Selenium dans les serveurs WUX on utilisera un stack de conteneurs pour un déploiement rapide et facile à étendre. ==== Configurations préalables ==== Docker et Docker Compose doivent être installés ; on recommande l'utilisation de CentOS en tant que système d'exploitation de base. Pour installer Docker, suivez la documentation selon votre système d'exploitation dans [[http://docs.docker.com/engine/install/|https://docs.docker.com/engine/install//]] Pour Selenium, utilisez les images officielles pour l'installation et déploiement du stack dans: [[http://hub.docker.com/u/selenium|https://hub.docker.com/u/selenium]] Le répertoire de Selenium met à votre disposition de différentes images avec navigateurs. Pour Pandora FMS, nous vous recommandons les conteneurs Mozilla Firefox® et Google Chrome®. ==== Déploiement du stack Selenium ==== Afin de déployer le stack Selenium, créez un fichier en format **YAML** avec les configurations nécessaires : # To execute this docker-compose yml file use `docker-compose -f up` # Add the `-d` flag at the end for detached execution version: "3" services: selenium-hub: image: pandorafms/pandorafms-selenium-hub mem_limit: 2G container_name: selenium-hub-v3 logging: driver: "json-file" options: max-file: "5" max-size: "4m" mode: "non-blocking" environment: - TZ=Europe/Amsterdam ports: - "4444:4444" chrome: image: pandorafms/pandorafms-selenium-node-chrome mem_limit: 2G volumes: - /dev/shm:/dev/shm depends_on: - selenium-hub logging: driver: "json-file" options: max-file: "5" max-size: "4m" mode: "non-blocking" environment: - TZ=Europe/Amsterdam - HUB_HOST=selenium-hub - HUB_PORT=4444 firefox: image: pandorafms/pandorafms-selenium-node-firefox mem_limit: 2G volumes: - /dev/shm:/dev/shm depends_on: - selenium-hub logging: driver: "json-file" options: max-file: "5" max-size: "4m" mode: "non-blocking" environment: - TZ=Europe/Amsterdam - HUB_HOST=selenium-hub - HUB_PORT=4444 Dans l'exemple ci-dessus, vous devez apporter les modifications nécessaires pour chaque cas, comme la limite de mémoire, le fuseau horaire, le nombre de nœuds, etc. Vous pouvez garder le fichier avec le nom ''docker-compose.yml'' pour rendre son identification plus facile. Pour activer le conteneur de la configuration que vous avez défini, il faut juste d'exécuter (remplacer '''' par le nom que vous avez choisi pour le fichier) : docker-compose -f up -d Pour vérifier les services en exécution dans le conteneur, utilisez : docker-compose -f ps Pour afficher l'état et les journaux des services Selenium, utilisez la commande suivante : docker-compose -f logs Une fois les vérifications pertinentes sont faites, pour vérifier que le //grid// fonctionne correctement et que les //workers// ont été enregistrés comme nous avons défini dans le fichier de configuration, accédez à l'URL suivante : http://:4444/grid/console {{ :wiki:newux4.png }} Si vous avez besoin d'augmenter le nombre de //workers //: docker-compose -f scale chrome=X firefox=Y ==== Infrastructure du service Selenium ==== Selenium fonctionne en tant que HUB dans lequel un conteneur est activé, qui fonctionne en tant que grille où déployer les conteneurs worker dont vous avez besoin. {{ :wiki:newux9.png }} ==== Configuration de Pandora FMS ==== Pour l'utilisation du mode centralisé (WUX) il est necéssaire d'appliquer la configuration suivante au serveur Pandora FMS. Quel que soit le mode choisi, une fois intitié vous pouvez attribuer des exécutions aux sessions de navigation, en ajoutant les paramètres de configuration WUX server au fichier de configuration du serveur Pandora FMS. Ajoutez la configuration suivante à la fin du ficihier ''/etc/pandora/pandora_server.conf'' (rémplasez ''ip_wux_host>'' par l'adresse IP du serveur, si c'est le même serveur qui exécute lServeur PAndora FMS, utilisez ''127.0.0.1'') : wuxserver 1 wux_host wux_port 4444 Le fichier de configuration du serveur a un nouvel jeton pour éliminer les sessions qui peuvent être en file d'attente chaque fois que le serveur Pandora FMS est initié. clean_wux_sessions 1 #(default) === Gestion des fils du Pandora FMS === * La gestion des threads de ''wuxserver'' se fait automatiquement lors du démarrage du service ''pandora_server''. * **Elle est effectuée en tenant compte du nombre de nœuds d'un navigateur MINOR dans le hub Selenium.** Par exemple : * Si 2 nœuds Firefox et 2 nœuds Chrome sont configurés dans le //hub//, le nombre de threads ''wuxserver'' sera 2. * Si 1 nœud Firefox et 4 nœuds Chrome sont configurés dans le //hub//, le nombre de threads sera 1. * Si 6 nœuds Firefox sont configurés dans le //hub//, le nombre de threads sera 6. Notez que chaque thread indique les sessions qui peuvent être envoyées simultanément du ''wuxserver'' au //hub// Selenium. ==== Annexe : Ajouter des workers pour Internet Explorer et Microsoft Edge ==== S'il est nécessaire de lancer des transactions web contre des navigateurs Microsoft®, il ess nécessaire de configurer une machine (qu'elle soit physique ou virtuelle) avec la version de Windows® souhaitée et configurer le contrôleur ou //driver// en suivant la documentation officielle. Documentation pour l'installation du //driver// Internet Explorer®: github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver Nous recommandons l'utilisation du driver 3.141 version 32bit pour éviter les problèmes de performance de la version 64bit. Documentation pour l'installation du //driver// de Microsoft Edge® : https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ Pour l'exécution Selenium, il sera nécessaire d'avoir installé Java® dans l'appareil Windows®. Pour vérifier si vous avez Java®, exécutez la commande suivante : java -version Obtenez une sortie pareille à la suivante : {{ :wiki:newux1.png }} Le fichier **JAR** Selenium est aussi nécessaire pour exécuter le serveur locallement et l'enregistrer dans votre grille. Vous pouvez l'obtenir dans : https://www.selenium.dev/downloads/ {{ :wiki:newux2.png }} Pour activer le serveur **Microsoft Edge**®, exécutez dans un terminal dans le répertoire où vous avez le fichier JAR le suivant : java -jar selenium-server-standalone-.jar -port 5555 -role node -hub http://:4444/grid/register -browser "browserName=MicrosoftEdge, platform=WINDOWS, maxInstances=1" Pour activer le serveur **Internet Explorer**® la commande est similaire, mais vous devez spécifier le chemin '''' du //driver// que vous avez téléchargé : java -Dwebdriver.ie.driver=IEDriverServer.exe -jar selenium-server- standalone.jar -port 5555 -role node -hub http://ip_selenium_server:4444/grid/register -browser "browserName=internet explorer,platform=WINDOWS,maxInstances=1" {{ :wiki:newux3.png }} Configurez le pare-feu de Windows® pour permettre le traffic dans les ports spécifiés dans la commande d'exécution. Dans le cas des exemples antérieures : 5555 et 4444. ==== Enregistrement ==== Vous devez tenir sur compte que les enregistrements faites dans Selenium 2 peuvent ne pas fonctionner correctement. Pour la version 3 de Selenium, ils seront compatibles les anciens enregistrements ainsi que les nouveaux, bien que ça ne garantit pas la compatibilité totale avec les versions anciennes. Pour pouvoir enregistrer une nouvelle session, installez l'extension **Selenium IDE** dans le navigateur que vous souhaitez. **Firefox** https://addons.mozilla.org/es/firefox/addon/selenium-ide/ **Chrome** https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd L'icône {{:wiki:newux10.png}}sera celui qui permet d'initier l'environnenment d'enregistrement une fois l'extension est installée. Si vous cliquez, ça vous montrera un menu qui vous permet dìniter de nouveaux projets d'enregistrement. {{ :wiki:newux5.png }} Une fois l'enregistrement fait, vous aurez un résultat pareil à celui-ci : {{ :wiki:newux6.png }} Apart de la fonctionnalité fournie par Selenium, Pandora FMS dispose des commandes personnalisées pour extraire de l'information du cible à superviser. === Commandes === Vous pouvez trouver la liste de commandes compatibles pour les utiliser dans Pandora FMS dans [[:en:documentation:pandorafms:technical_annexes:17_compatible_selenium_commands|l'annexe des commandes]]. === Recommendations et suggestions lors des enregistrements === Ici nous détaillons une série de recommendations et conseils lors des enregistrements des transactions Selenium IDE ainsi que pour intégrer avec Pandora FMS les commandes les plus complexes : * **Diviser la transaction en étapes aussi que possible.** Donc les les modules d'état et de temps créés ainsi que les captures d'écran seront segmentés et il sera plus facile de localiser où est-ce que la transaction a échouée. * **Utiliser la commande Selenium **''set speed'' **et**''wait for'' **pour éviter de faux négatifs.** Lors de l'exécution d'une transaction, les commandes Selenium n'ont pas de délais par défaut depuis qu'un d'entre eux finit jusqu'à l'exécution du suivant, et quelques-uns n'ont pas de temps de finalisation ou timeout. Cela fait que l'exécution soit exécutée très rapidement dans aussi peu de temps que possible, mais en raison d'un processus si rapide, si le web est un peu lente ou il prend un seconde de plus, il ne trouvera pas l'élément dans la nouvelle page et la vérification échouera. Par exemple, après exécuter la commande ''click'' et changer de page, si après vous avez une commande qui intéragit avec un élément de la nouvelle pafe et la page prend une seconde de plus pour charger, il ne trouvera pas la'élément dans la nouvelle page et la vérification échouera. Pour éviter cettes situtations, il existe la commande ''set speed'', qui ajoute un délai avec la quantité de millisecondes indiqués dans le cible entre chaque commande. Nous vous recommandons de l'établir au début de la transaction. Il y a aussi pour les cas ou vous savez que la charge d'une page ou d'un élément peuvent se retarder, les commandes ''wait for element present'', ''wait for visible'' y ''wait for text'' dans lesquelles vous pouvez établir le tamps en millisecondes qu'il attendera pour que l'élément apparaît sur la page avant de considérer la transaction échouée. Il est important de remarquer que l'utilisation de cettes commandes augmente la fiabilité de la vérification il aussi augmente le temps d'ecécution de la transaction. * **Faire des vérification des éléments.** Pour ça des commandes telles que ''assert'' et ''verify'', dans ses différents versants. Finir une transaction par exemple avec un clique ne vous garantit pas que la nouvelle page que l'élément doit ouvrir soit en fait ouverte, seulement qu'il est possible de cliquer sur l'élément. Si après le clique, vous entrez ''verify text'' dans un texte que vous savez que vous allez seulement chager après de cliquer, ça serait en fait une manière de vérifier que la page où vous allez après cliquer est disponible. * **Utiliser **''store window handle'' **dans transactions dans lasquelles vous allez changer fenêtres****.** Le changement de fenêtre (avec ''select window'') peut échouer si vous n'avez pas stocké précédement un identifiant dans la fenêtre initial. * **Utiliser **''xpath'' **lorsque le ****//Target// par identificateur de CSS ou lorsque vous voulez chercher du contenu dans la page**. Par défaut l'enregistreur Selenium IDE introduit dans le cible (//target)// de l'élément le localisateur du CSS, mais aussi enregistre le localisateur par ''xpath'', pourtant il est possible de voir tous les localisateurs qu'il garde si vous cliquez dans la boîte du cible dans l'enregistreur: {{ :wiki:recomendaciones_ux1.png }} Aussi, en utilisant des chemins par ''xpath'', il est possible de chercher des textes dans les étiquettes des pages pour réaliser des enregistrements beaucoup plus dynamiques. Dans la capture d'écran antérieure regardez qu'il est possible d'utiliser le texte "Innovateurs de la supervision" dans toutes les étiquettes ''span'' de la page, pas dans un localisateur particulier. * **Utilisation correcte de la commande **''execute script''. Cette commande exécute une partie du code de JavaScript dans la fenêtre dans laquelle la transaction est localisée. Il est recommandée de lire le guide pour connaître son utilisation et les différents options qu'elle offre : [[https://ui.vision/rpa/docs/selenium-ide/executescript|https://ui.vision/rpa/docs/selenium-ide/executescript]] . Cependant, l'utilisation des variables stockées précédement (par une commanda ''store text'' par exemple) doit être entre doubles guillemets pour que le //webdriver// de Pandora FMS les interprète correctement. Ici il y a un exemple d'une variable stockée avec ''store text'' et son utilisation avec ''execute script'' de telle manière que le serveur Pandora FMS l'interprète correctement. Notez que cette utilisation de la variable entre des guillemets échouera lors de l'exécution du script dans l'enregistreur Selenium IDE : {{ :wiki:recomendaciones_ux2.png }} ===== Expérience utilisateur Web (WUX) avec Selenium 2 ===== Selenium 2 est maintenant obsolète, la version actuelle est Selenium 3. ==== Configurations préalables ==== === Selenium === == Déploiement avec Pandora Web Robot Daemon (PWRD) == Pandora FMS Web Robot Daemon est un service qui fournit les outil nécessaires afin d'automatiser les sessions de navigation web, en utilisant un fichier qui contient une liste d'actions nécessaires pour naviguer dans le portal web de l'utilisateur. Il est intégré dans le serveur Pandora FMS et vous pouvez le trouver dans le dossier ''/usr/share/pandora_server/util/pwrd'' lors de l'installation du serveur Enterprise (Linux) ou dans la librairie de modules (Windows). Pour le télécharger allez vers le lien suivant : [[https://pandorafms.com/library/pandora-ux-and-wux-pwr-recorder/|https://pandorafms.com/library/pandora-ux-and-wux-pwr-recorder/]] Il contient : * Binaire du navigateur Firefox version 47. * Profil preconstruit pour l'exécution de sessions de navigation web. * Serveur d'automatisation de sessions (serveur Selenium). == Déploiement du serveur Selenium dans systèmes Windows == Éxigences préalables : * Installer Java® 1.8 dans la machine qui fournira le service. * Installer Firefox® 47.0.1 (disponible à télécharger depuis [[https://ftp.mozilla.org/pub/firefox/releases/47.0.1/|https://ftp.mozilla.org/pub/firefox/releases/47.0.1/]]). * Préparer un profil de Firefox® qui sera utilisé pour tester les sessions automatisés (optionel) : [[http://toolsqa.com/selenium-webdriver/custom-firefox-profile/|http://toolsqa.com/selenium-webdriver/custom-firefox-profile/]] * Créér le répertoire suivant : ''C:\PWR'' . Pour télécharger le ''PWR_Server.zip'', allez vers le lien suivant : [[https://pandorafms.com/library/pwr-server-for-ux-monitoring/|https://pandorafms.com/library/pwr-server-for-ux-monitoring/]] Faites la distribution de fichiers suivante : * Décompression du fichier ''PWR_Server.zip'' a ''C:\PWR\''. * Exporter le profil de Firefox® vers ''C:\PWR\profile'' L'utilisation d'un profil pour faire des vérifications **n'est pas obligatoire **; cependant il est recommandé de l'utiliser surtout si vous utilisez proxy ou lorsqu'il faut untiliser le complètement automatique des mots de passe. Pour créer un profil de Firefox® suivez les étapes des suivantes : {{ :wiki:ux1.jpg }} {{ :wiki:ux2.jpg }} Choisir le répertoire de destination : {{ :wiki:ux3.jpg }} Initiez Firefox® avec le nouvel profil pour personnaliser les options telles que le prexy, l'affichage des menus contextuels ou //popups//, etc. : {{ :wiki:ux4.jpg }} Après installez le service exécutant le fichier BAT ''service_installer.bat'' qui a été fourni. Pour un fonctionnement correcte du ''service_installer.bat'' il faut modifier le contenu, en ajoutant les chemins existants dans le fichier telle que vous les avez installés dans votre machine. Par exemple, dans le cas de Java®, il pourra seulement fonctionner en tant que Java® si vous avez configuré correctement son ''PATH'' ; autrefois, sinon, il faut entrer le ''PATH'' complet dans le fichier. Finalement, initiez le service : net start PWRSRV Depuis ce moment là, vous aurez le serveur Selenium en exécution dans votre machine. Cependant, vous pouvez l'exécuter manuellement (en arrêtant le service précédement) au cas où vous voulez faire certaines tâches de dépuration où //debugging//, par le biais de la commande suivante : java -jar C:\PWR\server\selenium-server-standalone-2.53.0.jar -firefoxProfileTemplate C:\PWR\profile -port 4444 -v == Déploiement du serveur Selenium dans systèmes Linux == Exigences préalables : * Installer Java® 1.8 dans la machine qui fournira le service. * Installer Firefox® 47.0.1 (disponible à télécharger depuis [[https://ftp.mozilla.org/pub/firefox/releases/47.0.1/|https://ftp.mozilla.org/pub/firefox/releases/47.0.1/]]). * Préparer un profil de Firefox® qui sera utilisé pour tester les sessions automatisés (optionel) : [[http://toolsqa.com/selenium-webdriver/custom-Firefox-profile/|http://toolsqa.com/selenium-webdriver/custom-Firefox-profile/]] * Installer ''xorg-x11-server-xvfb''. * Installer Java®. Le composant Selenium du démon PWRD précise Java® pour fonctionner, pour l'installer exécutez : yum install Java Pour que PWRD soit capable de lancer Firefox® dans le serveur GNU/Linux, il est nécessaire d'installer, en plus, ''gtk2'' et ''gtk3'' pour pouvoir virtualiser un environnenment graphique : yum install xorg-x11-server-Xvfb gtk2 gtk3 S'il n'est pas disponible dans les répertoires, vous pouvez trouver les fichiers ''.rpm'' dans 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/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|ftp://rpmfind.net/linux/centos/7.4.1708/os/x86_64/Packages/gtk2-2.24.31-1.el7.x86_64.rpm]] Pour faire une installation dans les packages ''.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 installés les exigences préalables, continuez avec l'installation de ''install_pwrd.sh''. Ledit installateur se trouve par défaut dans le dossier ''/usr/share/pandora_server/util/pwrd/install_pwrd.sh'' et il s'exécute comme suit : cd /usr/share/pandora_server/util/pwrd/ ./install_pwrd.sh --install Une fois installé, démarrez le service : /etc/init.d/pwrd start Vous pouvez utiliser le //script// pour démarrez le serveur Selenium : #!/bin/sh # Monitoring selenium process if [[ "`ps aux |grep selenium ]]; then exit else if [[ "`ps aux |grep Xvfb ]]; then Xvfb :99 -ac & export DISPLAY=:99 fi export DISPLAY=:99 java -jar /usr/share/pandora_server/util/pwrd/selenium-server-standalone-2.53.1.jar & fi Ou bien manellement avec les commandes suivantes : $ Xvfb :99 -ac & -> Pulse Enter to continue $ export DISPLAY=:99 $ java -jar /usr/share/pandora_server/util/pwrd/selenium-server-standalone-2.53.1.jar -port 4444 & Vous avez ausse la possibilité de faire l'installation personnalisée avec un utilisateur et un répertoire différent del'installation par défaut. **Modes de fonctionnement de PWRD** PWRD fournit quelques modes de fonctionnement : **Standalone** Mode standard, il démarre une seule instance de PWRD. Chaque des instances sera associée à un serveur Pandora FMS. **HUB** Mode concentrateur. Dans ce mode, le service PWRD n'évaluera pas les sessions de navigation directement, mails des "noeuds" devront être enregistrés afin d'exécuter les tâches. C'est le mode grappe ou //cluster// du service PWRD. Chaque HUB será attribué à un serveur Pandora FMS. == PWRD en mode standalone == PWRD en mode //standalone// démarrera le démon et lui rendra prêt pour exécuter les actions indiqués par l'utilisateur à partir du serveur WUX. {{ :wiki:wux_pwrd_standalone.png }} Pour démarrer : /etc/init.d/pwrd start Pour voir l'état : /etc/init.d/pwrd status Pour arrêter : /etc/init.d/pwrd stop == PWRD en mode HUB == Le mode concentrateur (HUB) démarrera le démon en tant qu'équilibreur de charge. Dnas ce mode de travail, le système équilibrera la charge entre tous les noeuds régistrés dedans, en attribuant l'exécution des sessions de navigation aux noeuds en fonction de leur charge de travail. Vous pouvez voir à tout moment l'état du HUB en accèdant à la console de son administration (rémplasez '''' par l'adresse IP du HUB) : http://:4444/grid/console {{ :wiki:wux_pwrd_hub.png }} Pour démarrez : /etc/init.d/pwrd start-hub Pour voir l'état : /etc/init.d/pwrd status-hub Pour arrêter : /etc/init.d/pwrd stop-hub == Ajouter les noeuds PWRD à HUB == Pour ajouter un nouveau noeud PWRD vous avez besion de : * Un concentrateur (PWRD en mode HUB). * Les fichiers PWRD, dans la même machine ou dans une différente. * Connectivité TCP/4444 depuis l'appareil qui stocke le neud vers l'equipement qui stocke le HUB. Avec ce mode de travail, le service traitera toutes les requêtes en file d'attente **depuis le concentrateur** (HUB), en lui retournant les résultats des exécutions. Il sera le HUB celui qui " parle " exclusivement avec le serveur WUX, étant visible pour celui qui exécute les actions de l'utilisateur. Pour 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 Pour voir l'état : /etc/init.d/pwrd status-node Pour arrêter : /etc/init.d/pwrd stop-node == Télécharger des certificats pour Firefox == Il est possible que quelques-unes des vérifications configurées s'exécutent contre des pages web qui utilisent des certificats auto-signés ou signés par une CA non inclue entre celles qui sont acceptées par défaut dans Firefox®, donc dans ces cas il sera nécessaire de charger le certifie lui-même dans le profil Firefox® qui est utilisé. Pour faire ça, il est plus facile de démarrer le navigateur dans un environenment graphique, accèder à l'URL et ajouter le certificat SSL. Après nous vous explicons comment faire ça sous MS Windows® et sous GNU/Linux® : **Avec PWRD déploié dans des systèmes Windows** Dans ce cas, puisque vous comptez avec un environenment graphique, vous avez seulement à démarrer le navigateur Firefox® avec le profil utilisé pour les vérifications : {{ :wiki:profile_01.png }} {{ :wiki:profile_02.png }} Une fois initié, accèdez à l'URL avec le certificat que vous voulez charger at ajoutez-le en tant qu'exception pour le navigateur : {{ :wiki:profile_03.png }} {{ :wiki:profile_04.png }} Une autre possibilité, si vous voulez accepter n'importe quel type de certificat SSL et tenant sur compte qu'il est un environenement de test et/ou supervision, serait d'accèder aux options de Firefox®, et l'onglet de " Privacité et sécurité ", et désélectionner le châmp " Consulter aux serveurs qui répondent OCSP pour confirmet la validité actuelle des certificats " : {{ :wiki:profile_05.png }} {{ :wiki:profile_06.png }} **Avec PWRD déployé dans des systèmes Linux** En général, lorsque vous installez un serveur GNU/Linux®, un environenement de bureau graphique n'est pas inclu, donc pour pouvoir suivre les m^mes étapes que précédement il faut faire un rédirection des graphiques X vers un équimpement qui aie un environenment de bureau graphique. Cela se fait de différents manières si vous rédirigez les X vers un bureau graphique dans GNU/Linux ou MS Windows®. == Rédirigeand X11 vers un bureau Linux == Établissez une connexion SSH au serveur PWRD avec le paramètre " -X " : ssh -X user@pwrd_ip_address Cela fait, lorsque vous lancez le navigateur Firefox, vous pourrez voir comment ça est affiché sur le bureau : firefox -p Dans une installation par défaut vous verrez seulement le profil " default ", donc il est recommendable de faire pareille à ce que vous avez fait pour l'installation dans MS Windows® et créer un nouveau profil à utiliser : {{ :wiki:profile_07.png }} {{ :wiki:profile_08.png }} {{ :wiki:profile_09.png }} Si vous sauvegardez les profil dans un chemin différent de ''/opt/firefox_profile'' il est nécessaire d'éditer le //script// de démarrage du PWRD ''/etc/init.d/pwrd'' pour indiquer un nouvel chemin au nouveau profil : PWROPTS=" -firefoxProfileTemplate /path/to/profile/folder" Le profil créé, démarrez le navigateur : {{ :wiki:profile_10.png }} Une fois initié, accàdez à l'URL avec le certificat que vous voulez télécharger et ajouter en tant qu'exception pour le navigateur : {{ :wiki:profile_11.png }} {{ :wiki:profile_12.png }} Une autre possibilité si vous voulez accepter n'importe quel certificat SSL et gardant à l'esprit qu'il est un environenment de test et/ou supervision, il serait d'accèder aux options de Firefox, à l'onglet de " Avancé > Certificats ", et désélectionner le châmp " Consulter aux serveurs qui répondent OCSP pour vérifier la validité actuelle des certificats " : {{ :wiki:profile_13.png }} {{ :wiki:profile_14.png }} == Rédirigeant X11 vers un bureau Windows == Dans le cas de Windows, au début installez un serveur de X pour pouvoir faire la rédirection, comme par exemple **Xming**. Une fois installé et initié, vous pouvez faire la rédirection des X. En utilisant le client SSH [[https://pandorafms.com/blog/es/putty/|Putty]], allez vers la section " Connexion > SSH > X11 " avant de faire la connexion, et assurez-vous de sélectionner l'option " Enable X11 forwarding " ainsi que de remplir le châmp " X display location " en tant que " localhost:0 " : {{ :wiki:profile_15.png }} Après retournez vers la section " Session " et établissez la connexion : {{ :wiki:profile_16.png }} Une fois connecté, si vous lancez le navigateur Firefox® dans le serveur PWRD, vous pourrez l'afficher sur le bureau MS Windows®. firefox -p Dans une installation par défaut vous verrez seulement le profil " default ", donc il serait recommendable de faire de même que dans l'installation dans Windows® et créer un nouveau profil dans lequel utiliser : {{ :wiki:profile_17.png }} {{ :wiki:profile_18.png }} {{ :wiki:profile_19.png }} si vous sauvegardez le profil dans un chemin différent de ''/opt/firefox_profile'', il sera nécessaire d'éditer le //script// de démarrage du PWRD ''/etc/init.d/pwrd'' Certificats", et désélectionner le champ " Consulter les serveurs qui répondent OCSP pour confirmer la validité actuelle des certificats " : {{ :wiki:profile_23.png }} {{ :wiki:profile_24.png }} === Configuration du serveur PFMS === Pour l'utilisation du mode centralisé (WUX) il est nécessaire d'appliquer la configuration suivante au serveur Pandora FMS. Quel que soit le mode choisi, une fois démarré vous pouvez commencer à attribuer des exécutions de vos sessions de navigation, an ajoutant les paramètres de configuration du serveur WUX au fichier de configuration du serveur Pandora FMS. Supossant que vous avez déployé le serveur PWRD dans le même serveur dans lequel le serveur Pandora FMS s'exécute, il **ajouterait** la configuration suivante dans ''/etc/pandora/pandora_server.conf '': wuxserver 1 wux_host 127.0.0.1 wux_port 4444 wux_timeout 30 Le paramètre ''wux_timeout'' établit le temps maximale des transactions jusqu'à 30 secondes : **s'il est nécessaire, modifiez cette valeur selon votre environenment particulier****.** == Gestion des fils du PFMS == En cas d'utilisation du PWRD en mode //hub //: * La gestion des threads de ''wuxserver'' se fait automatiquement lors du démarrage du service ''pandora_server''. * **Elle est effectuée en tenant compte du nombre de nœuds d'un navigateur MINOR dans le hub Selenium.** Par exemple : * Si 2 nœuds Firefox et 2 nœuds Chrome sont configurés dans le //hub//, le nombre de threads ''wuxserver'' sera 2. * Si 1 nœud Firefox et 4 nœuds Chrome sont configurés dans le //hub//, le nombre de threads sera 1. * Si 6 nœuds Firefox sont configurés dans le //hub//, le nombre de threads sera 6. Notez que chaque thread indique les sessions qui peuvent être envoyées simultanément du ''wuxserver'' au //hub// Selenium. === Enregistreur de sessions (PWR) === La nouvelle version de Selenium IDE est compatible à partir de la version 745 de Pandora FMS (Selenium 3). Les transactions enregistrées dans Selenium 2 ne seront pas affectées. Avant de superviser un éxperience utilisateur, faites l'enregistrement. Selon le type de technologie que vous avez choisi il utilisera un système d'enregistrement ou un autre. Les sessions enregistrées avec Selenium 2 seulement pourront se faire avec Firefox®. Pour faure l'enregistrement d'une navigation avec PWR l'enregistreur PWRD disponible dans la librairie de modules est nécessaire : [[https://pandorafms.com/library/pandora-ux-and-wux-pwr-recorder/|https://pandorafms.com/library/pandora-ux-and-wux-pwr-recorder/]] Il contient : * Navigateur web [[https://ftp.mozilla.org/pub/firefox/releases/47.0.1/|Firefox versión 47.0.1]]. * Extension [[https://addons.mozilla.org/es/firefox/addon/selenium-ide/|Selenium IDE]]. Démarrez l'enregistreur ''PWR_recorder.exe'' {{:wiki:pwr_recorder.png}}. Firefox démarrera automatiquement avec l'environenment prèt à enregistrer des sessions PWR : {{ :wiki:pwr_recorder_main.png }} Après accèder à l'IDE de Selenium, vous pouvez initier l'enregistrement de l'expérience utilisateur comme suit : {{ :wiki:ux10.jpg }} Naviguez par le site web à superviser ; les différents actinos de chaque étape finie seront affichées sur l'enregistreur. Afin d'arrêter l'enregistrement, utilisez le bouton suivant, situé sur la coin superieur droit de l'enregistreur : {{ :wiki:ux11.jpg }} Une fois complétées les actions, faites les vérifications sur la page ; par exemple, vérifier l'existence d'un texte determiné pour assurer que la page chargée est la correcte. Pour ça, clique sur le bouton droit de la souris sur une section de texte dans la fenêtre du navigateur pendant l'enregistrement, et sélectionner l'option //verifyText //: {{ :wiki:ux13.jpg }} Une nouvelle étape dans l'enregistreur en indicant l'action de vérification de texte indiquée : {{ :wiki:ux14.jpg }} Réproduissez la séquence complète par le biais du bouton **Play entire test suite** et vérifiez qu'il fini correctement : {{ :wiki:ux15.jpg }} Une fois vérifié la validité de la séquence de navigation, gardez (Archive → Save Test Case) pour l'exécuter après avec Pandora FMS UX. Le fichier résultant sera un document HTML que Pandora FMS UX interpretera. == Enregistrer une session transactionelle pour Pandora WUX == Pandora FMS WUX permet de diviser la supervision de la navigation d'un site web en quelques modules, qui représenteron chacune des étapes réalisées. Pour insérer un nouveau point de contrôle et géneérer des modules de phase (jusqu'à ce point là) cliquez sur le bouton droit de la souris sur le point où vous souhaitez idéntier le départ de la phase. {{ :wiki:pwrd_recorder_transaction.png }} En tant que commentaire, ajoutez le texte suivant : phase_start: L'étape comprise le temps et le résultat de toutes les commandes que vous trouvez usqu'au commentaire suivant : phase_end: Tooutes les commandes qui s'exécutent entre une étiquette ''phase_start'' et ''phase_end'' seront inclus dans cette étape. {{ :wiki:pwrd_recorder_transaction2.png }} Gardez sur compte que les enregistrements realisés dans Selenium 3 ne peuvent pas fonctionner correctement. ==== Exécutions des transactions web ==== === Exécution standard === Pour lancer des sessions pré-enregistrés de PWR appellez à l'exécutable ''pandora_ux_x64.exe'', que vous pouvez télécharger depuis le lien suivant : [[https://pandorafms.com/library/user-experience-pandora-ux|https://pandorafms.com/library/user-experience-pandora-ux]] Indiquez que le mode de travail est PWR, et le fichier qui contient les instructions de la session. Dans le chemin indiqué dans le paramètre ''-folder'' les captures d'écran à montrer en cas d'erreur seront sauvegardées (paramètre optionel). Vous pouvez également introduire le nombre de réessais consecutifs au cas d'échec (paramètre optional). Son exécution dans Windows est : pandora_ux_x64.exe -exe PWR -script C:\tests\std.html -retries 3 Les modules suivants seront rétournés : * UX_Status_> si la séquence a été complétée ou a echouée. * UX_Time_> temps emploiée pour complèter la séquence. * UX_Snapshot_> capture d'écran avec le dernier point avant de l'erreur, s'il y en a. Exemple de la sortie avec l'exécution correcte : generic_proc UX UX generic_data UX UX UX_Status_std.html Exemple de sortie avec exécution incorrecte : generic_proc UX UX generic_data UX UX UX_Status_std.html async_string UX UX UX_Status_std.html Si tout a été correcte, vous pouvez ajouter la ligne d'exécution à l'agent de Pandora FMS instalé dans la machine que vous ayez préparé pour exécuter les vérifications. La ligne à ajouter au fichier de configuration de l'agent aura un aspect similaire à celui-ci (dans une seule ligne): Sous Windows® : module_plugin C:\Users\artica\Documents\Producto\UX-Trans\UX\pandora_ux_x64.exe -exe PWR -script C:\Users\artica\Documents\Producto\UX-Trans\PWR\sesion.html -folder Sous Linux : module_plugin /usr/share/pandora_server/util/pwrd/firefox/pandora_ux.64 -exe PWR -script /usr/share/pandora_server/util/pwrd/firefox/PruebaUX.html -pwr_port 4444 Une fois qu'il rapporte les informations au serveur Pandora FMS, vous verrez que les modues correspondantes apparaissent. Vous pouvez habilliter la viste en mode jérarquique pour voir la rélation entre eux : {{ :wiki:ux33.jpg }} Comme indiqué précédement, vous verrez le résultat de lexécution (si elle a e´té complétée) dans le module ''UX_Status_sesion.html'', le temps employé (en secondes) dans le module ''UX_Time_sesion.html'', et un autre avec la capture d'écran du dernier erreur dans ''UX_Snapshot_sesion.html'', que dans ce cas est vide. Vous pouvez créer des alertes sur ces modules et montrer les graphiques individuelles de chaque module. === Exécution basée sur des étapes === Si vous avez un enregistrement transactionnel avec Pandora FMS UX PWR, comme indiqué dans les sections précédentes, le système lui-même générera les modules nécessaires pour identifier chacune des étapes indiquées, donc l'exécution ne sera pas différent du cas précédent ; uniquement indiquez le fichier html correspondant, qui dans ce cas contiendra les différentes étapes. Exemple d'exécution sous Windows : pandora_ux_x64 -exe PWR -script C:\tests\std.html --folder Les modules suivantes seront retournés par étape : * UX_Time_nom_projet.étape_ordre * UX_Status_nom_proyjet.étape_ordre S'il y a une étape avec des erreurs, le module suivant sera aussi créé : * UX_Snapshot_nom_projet.étape_ordre Il montrera une image du web dans le moment de l'erreur. Les modules de résumé globales seront aussi retrounes indentifiés avec les noms suivants : * UX_Global_Time_nom_projet * UX_Global_Status_nom_projet * UX_Global_Snapshot_nom_projet Et une image du web sera montrée dans le moment de l'erreur. La igne d'exécution de l'agent sera la même que le cas précédent, mais avec le fichier html qui contient les étapes accordées. Lorsque l'information arrive correctement au serveur Pandora FMS, il sera affiché sous forme de modules de cette manière. Habiliter la vue sous mode hiérarchique dans la liste de modules vous aide à afficher l'information de manière beaucoup plus claire : {{ :wiki:ux34.jpg }} En accèdant à la section //WUX// de l'agent, vous pourrez voir les détails supplémentaires de la transaction et ses étapes. L'exemple ci-dessous répresente un processus de navigation à travers notre site web et a quelques articles, divisé en 5 étapes afin de mesurer exactement les temps employés et savoir où est ce qu'il faut des améliorations ou où est-ce qu'il se produit un goulot d'étranglement : {{ :wiki:ux44.jpg }} === Récuperation de valeurs === Pandora FMS UX est capable de récuperer des données directement depuis le web pendant l'exécution des vérifications d'expérience utilisateur. Pour utiliser cette novelle charactéristique, il faut seulement ajouter l'**ordre de capturer** sous forme de commentaire la vérification de Selenium : {{ :wiki:pwr_recorder_getvalue.png }} Danc cet exemple, deux valeurs sont récupérés après de naviguer, il seront réprénsentés en tant que modules dans Pandora FMS (numéro et résultat en tant que texte). Lés étapes pour ordonner le plugin de faire la collecte de données sont les suivants : * Ajouter un nouveau commentaire au fichier des vérifications avec l'enregistreur Selenium. * Ajouter la directive au commentaire. Directive de capture de données getValue;;; Qu'est-ce que réprésente chaque champ séparé par des points-virgules? **getValue** Instruction pour le système UX. **Nom du module** Le nom du module tel qu'il apparaît sur Pandora FMS. **Type de donnée du module** Quel type sera utilisé ; il peut être n'importe quel des [[:es:documentation:pandorafms:installation:05_configuration_agents#module_type|types de données]] supportés par Pandora FMS. **Expression regulière Perl è utiliser pour la capture de données** Elle doit être une expression regulière Perl, avec l'orde de capture d'information entre parenthèses. Par exemple, dans le texte :

The temperature of the solar panel is: 54º C

Si vous voulez récuperer la temperature pour suivre la valeur, spécifiez l'expression regulière comme suit : (\d+\.*\,*\d*).* De manière que la valeur 54 de l'exemple sera récupérée, ou possibles valeur avec des positions decimaux. La directive de capture complète serait comme suit : getValue;solar panel temperature;generic_data;(\d+\.*\,*\d*).* Les commandes qui générent des modules sont : * **getValue **: Extrait une valeur. getValue;module_name;module_type;REGEX_string_match * **getVariable **: (Version NG 753 ou supérieure) Il extrait une valeur spécifique d'une variable. getVariable;module_name;module_type;var_name * **getScreenshot **: Extrait une capture d'écran. getScreenshot;module_name ''getValue'' est une commande qui appartient au type qui [[:en:documentation:pandorafms:technical_annexes:17_compatible_selenium_commands#commandes_qui_generent_modules|génèrent les modules]] Pandora FMS. Visitez le lien précédent pour en savoir plus. Tous les commandes propres doivent apparaître dans le fichier de vérification (.side) en tant que commentaires. Au cas contraire, il échouera lors de la vérification dans l'extension de Selenium. ===== Gestion et affichage de données ===== ==== Créer un module d'analyse web dans la Console Pandora FMS ==== Une fois vous avez une session de navigation enregistrée, il faut le déployer en tant que Module dans la Console Pandora FMS. À cette fln, accèdez à **n'importe quel des agents associés au serveur avec une fonctionnalité WUX activée **et crééz un module du type Analyse web en choisissant l'option **Create a new web analysis module **: {{ :wiki:wux_module.png }} Cliquez sur **Create** et après remplissez tous les champs dans le formulaire : {{ :wiki:wux_form.png }} **Name** Module WUX (Père) ; rappelez-vous que tous les sousmodules avec les résultats de la supervision dépendront de ce nouveau module. **Run performance tests** Il spécifique le lancement des vérifications de performance, c'est à dire de superviser pas seulement l'expérience utilisateur mais ausse les statistiques de performancce de l'accès au site web cible. **Execute tests from** Il indique le serveur WUX qui exécutera la vérification. **Browser** Navigateur web avec lequel exécuter la vérification. Le navigateur indiqué doit apparaître dans la grille ou serveur Selenium utilisé par le serveur WUX. **User data dir** (//Version 764 ou ultérieure//) Facultatif : il permet de spécifier un répertoire pour les données. L'option **User data dir** ne fonctionne que sur le navigateur web Google Chrome. \\ **Profile** (//Version 764 ou ultérieure//) Facultatif : il permet de spécifier un profil utilisateur. Si le nom du profil n'existe pas, utilisez le profil par défaut. L'option **Profile** ne fonctionne que sur le navigateur web Google Chrome. \\ **Accept insecure certificates** Sil est activé, n'importe quel certificat non-sécurisé sera accepté (auto-signé, expiré, etc.) qui fait partie de la navigation. Cette option est seulement disponible pour les navigateurs Google Chrome® et Mozilla Firefox®, et seulement sera appliquée si la vérification exécutée par un serveur Selenium 3. **Historical data** Sauvegardez ou pas l'information historique des modules qui supervisent l'expérience utilisateur. **Section de texte** Copiez (ou téléchargez avec le bouton **Browse…**) le contenu des fichiers de la session de navigation que vous avez enregistré précédement. {{ :wiki:wux_form_2.png }} **FF interval** Intervalle de temps Flip Flop d'exécution du module (en secondes). **Retries** Nombre de tentatives pour lancer le module. === Macros personnalisées === {{ :wiki:wux_form_3.png }} Le fonctionnement des macros personnalisées comprend le remplacement de certaines chaînes de texte présentes dans le fichier de session navigation par certaines valeurs personnalisables. Dans les cas de modules d'analyse web, cette fonctionnalité a été amélioré, permetant des **macros dinamiques** qui permettent que ces valeurs soient traduits en **dates et heures** variables. //Pourquoi cette fonctionnalité ?// Supposez que vous avez besoin de superviser, par le biais d'une session de navegation, le correcte fonctionnement d'une application web de réservation de salles de réunion. Si vous établissez une date et heure fixée lors de remplir les données du formulaire, il est possible que le système cancèle la réservation parce à quelque moment il est dans le passé ; par exemple, vous pourriez réserver une salle pour la semaine prochaine. Il est aussi possible de trouver un temps maximale pour pouvoir faire la réservation et que le système vous fait réserver la salle dans un temps concret, par exemple pas supérieur au mois en vigueur. Pour éviter d'éditer la macro tous les quelques jours, et ne pas s'inquiéter à cause de la section de configuration, vous pouvez utiliser les macros dinamiques, en indicant le système que vous réservez la salle toujours pour le jour suivant au moment de faire la vérification. Afin de pouvoir utiliser cette fonctionnalité, les valeurs doivent avoir un format spécifique, en obtenant les remplacements possibles suivantes : * ''@DATE_FORMAT'': date/heure actuelle avec 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. Ou “ n ” peut être un numéro sin sgne positif ou négatif. Et FORMAT suive le standard de [[http://search.cpan.org/~dexter/POSIX-strftime-GNU-0.02/lib/POSIX/strftime/GNU.pm|strftime de Perl]] Exemples : @DATE_%Y-%m-%d %H:%M:%S @DATE_%H:%M:%S_300s @DATE_%H:%M:%S_-1h ==== Affichage des données ==== L'information générée par WUX sera affichée sous forme de modules comme suit. L'activation de la vue en mode hiérarchique, dans la liste de modules aidera à afficher l'information de manière beaucoup plus claire : {{ :wiki:wux_modules.png }} Dans cette hiérarchie vous trouverez les modules suivants : * //módulo//_Global_Status : Indiquera l'état **g****lobal** de la navigation complète. * Au cas où il existe un enregistrement il donne l'état de l'enregistrement WUX. * Dans le cas où les [[:fr:documentation:pandorafms:monitoring:13_user_monitorization#creer_un_module_danalyse_web_dans_la_console_pandora_fms|run performance Test]]// sont activées mais il n'y a pas d'enregistrement inclu, //l'état du module Global Status est celui de la vérification fait lors de l'obtention de ces modules. * //módulo//_Global_Time : Il indiquera le temps **global** employé dans la navigation complète. * //módulo//_Global_Screenshot : Il contient une image avec le résultat de l'échec de navigation, **il ne sera généré qu'en cas d'échec**. * //módulo//_Phase X : //Nom de étape//_Status : Il indiquera l'état de la navigation pendant l'étape X. * //módulo//_Phase X : //Nom de étape//_Time : Il indiquera le temps employé dans l'étape X. Exemple : Vue de la capture d'erreur. {{ :wiki:wux_screenshot.png }} Attention : Si vous avez mis à jour depuis une version précédente à Pandora FMS 7.0NG 712 vous devez fair un léger changement. Afin de pouvoir stocker les captures d'écran générées par le serveur WUX, vous devez lancer les opérations suivantes dans votre schéma de base de données : alter table tagente_estado modify column datos mediumtext; alter table tagente_datos_string modify column datos mediumtext; Si vous ne faites pas ces actions, les captures pourraient être incomplètes. En accèdant à la section WUX de l'agent vous pouvez voir des détails supplémentaires de la transaction et ses étapes : {{ :wiki:wux_nueva_imagen.png }} Les statistiques du site web sont résumées dans les concepts suivants : * **Stats_TT **: Temps total pour obtenir le site web. * **Stats_TDNS **: Temps total pour résoudre l'adresse IP du cible. * **Stats_TTCP**: Temps employé pour connecter par le biais de TCP. * **Stats_TSSL **: Temps employé pour établir communication SSL. * **Stats_TST** : Temps passé jusqu'au démarrage du transfert de données. * **Stats_TTC **: Temps passé en transférant des données ; il groupera tous les temps de tranfert de ressources. * **Stats_TTR **: Temps employé pour transférer le contenu de la page. * **Stats_TTR_main **: Temps employé pour transférer le code HTML. * **Stats_TTR_image **: Temps employé pour transférer les ressources du type image (''png|jpg|jpeg|bmp|tiff|gif|webp|svg''). * **Stats_TTR_css **: Temps employé pour transférer les feuilles de styles. * **Stats_TTR_js **: Temps employé pour tranférer les fichiers JavaScript. ==== Attribuer des alertes à un module d'analyse web ==== Les alertes associées aux modules d'analyse web suivent la même distance dynamique de fontionnement que tout le système d'alertes Pandora FMS. Pour compatibilité il est recommandé d'attribuer les modèles d'alertes sur les souséléments autogénérés par le module d'analyse web, comme par exemple : * L'état de navigation global. * Alertes sur les seuils de temps. * Alertes avec modèle d'avertissement mis sur " toujours " pour les modules capture d'image de résultats. ==== Nouveaux widgets pour Dashboards ==== Afin de pouvoir répresente les informations de la navigation d'utilisateurs, de nouveaux types de widget ont été ajoutés : **Widget d'état des étapes de navigation** {{ :wiki:widget_wux_fases.png }} **Widget de statistiques du site web** {{ :wiki:widget_wux_stats.png }} ===== Expérience utilisateur bureau(PDR) ===== ==== Déploiement du système PDR ==== {{:wiki:icono-modulo-enterprise.png |Versión Enterprise.}} **Le système PDR fonctionne uniquement dans des systèmes Windows®**, et une fois en exécution par l'Agent de Pandora FMS, celui-ci doit être exécuté en **mode processus**, car être exécuté en mode service ne fonctionnera pas. En outre, il ne sera pas possible de bloquer la session de bureau, donc il est recommandé de l'utiliser dans des machines virtuelles. Exigences préalables : * Système Windows® en mode bureau avec auto-démarrage et auto-connexion. Pour y parvenir à cette configuration : **Pour des versions précédentes à Windows 10® **: control userpasswords2 Et décochez **U****sers must enter a user name and password to use this computer **: {{ :wiki:ux5.jpg }} Cliquez sur **Ok** et insérez le nom d'utilisateur et votre mot de passe. **Pour Windows 10® **: Une manière d'activer l'auto-démarrage sur MS Windows®, version 10, c'est d'utiliser Powertoys de Sysinternals (disponible dans la [[https://docs.microsoft.com/en-us/sysinternals/downloads/autologon|section de téléchargements]] de la documentation de Microsoft®) et activer l'utilisateur qui supervisera, par exemple : {{ :wiki:autologon_enable_-_sysinternals.png }} Pour préparer l'environenment créez le répertoire suivant : C:\PDR Et décomprimez le fichier ''PDR.rar'' (fournit depuis ce lien [[https://pandorafms.com/library/pdr-cmd-for-ux-monitoring/|https://pandorafms.com/library/pdr-cmd-for-ux-monitoring/]]) dans ledite dossier. ==== Exécution de sessions PDR ==== Pour démarrer l'enregistreur, exécutez le script suivant: C:\PDR\pdr {{ :wiki:scriptwux22332.png }} Après le chargement, entrez dans l'environnement d'enregistrement: {{ :wiki:ux18.jpg }} Sélectionnez les actions que vous souhaitez effectuer et faites une capture d'écran dans la zone où vous souhaitez les appliquer. Vous trouverez ci-dessous une liste des actions les plus courantes. Actions générales : {{ :wiki:ux19.jpg |ux19.jpg}} Actions de contrôle des flux: {{ :wiki:ux20.jpg |ux20.jpg}} Plus de soutien linguistique: [[http://sikulix-2014.readthedocs.io/en/latest/index.html|http://sikulix-2014.readthedocs.io/en/latest/index.html]] Lorsque le projet est enregistré, un dossier contenant les éléments suivants est créé : * Fichier .py avec le code du script d'automatisation. * Images pour contrôler la navigation. Un exemple simple d'exécution pourrait être le contrôle du bon fonctionnement de votre calculatrice Windows. Nous montrerons l'ensemble du processus à l'aide de captures d'écran. 1. Choisissez l'action "click" et la zone où vous souhaitez appliquer l'action. L'écran passe en mode "area selection" : {{ :wiki:ux21.jpg |ux21.jpg}} {{ :wiki:ux22.jpg |ux22.jpg}} 2. Saisissez l'action //type// et le texte "calc". Entrez ensuite les actions pour attendre que la zone "calculatrice" apparaisse et cliquez dessus. Attendez ensuite que la fenêtre de la calculatrice apparaisse pour entrer les actions suivantes de cette manière : {{ :wiki:ux23.jpg |ux23.jpg}} 3. Cliquez ensuite sur les boutons correspondants, en sélectionnant les zones comme dans les étapes précédentes. 4. Enfin, sauvegardez le processus et exécutez-le en utilisant la fonction du bouton **Run**. Remarques importantes : * En double-cliquant sur l'une des images de l'environnement d'enregistrement, vous pouvez ajuster les détails de la capture d'écran de contrôle, par exemple en sélectionnant le point exact sur lequel cliquer. * Il est fortement recommandé de saisir des actions telles que //wait// après chaque clic pour s'assurer que l'exécution ne s'arrêtera pas en raison d'un retard du système d'exploitation. * L'enregistreur recherchera la zone qui ressemble à la capture d'écran, il faut donc faire très attention au cas où quelque chose serait mis en évidence lorsque le bouton est en haut (par exemple, les boutons de la calculatrice deviennent orange lorsque la souris les survole). Dans le dossier où vous avez sauvegardé l'enregistrement, vous trouverez les fichiers images et le fichier Python. {{ :wiki:ux24.jpg |ux24.jpg}} **__Note:__** Vous pouvez personnaliser la capture effectuée par le moteur d'enregistrement 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) Cela créera une image de la fenêtre active à la destination indiquée par le fichier, à partir de laquelle vous pourrez faire une capture d'écran quand vous le souhaiterez. Vous pouvez personnaliser la capture d'écran à l'aide de coordonnées. Pour ce faire, spécifiez la syntaxe suivante : capture(x, y, w, h) Où : X : position horizontale du rectangle dans lequel la capture d'écran doit être effectuée : X : position horizontale du rectangle pour la capture d'écran. Y : position verticale du rectangle à capturer. W : largeur de l'écran. H : hauteur de l'écran. === Enregistrer une section transactionelle avec Pandora FMS UX PDR === Il n'est pas nécessaire d'enregistre une session spécifique ; tout simplement enregistrez les sessions dont vous avez besoin dans des scripts différents. Il sera Pandora FMS UX qui gère le retournement de résultats pour l'organiser en tant que transaction complèxe. Dans le point suivant, on verra comment faire l'appel de l'exécution pour qu'il fonctionne correctement. Si vous allez faire d'enregistrements pour créer un processus transactionnel vous devez faire attention lorsque vous faites l'enregistrement les éléments que vous chrchez soient présents. Il est récommandé d'exécuter manuellement les enregistrements que vous voulez utiliser dans un seul processus transactionnel continu, pour vous assurez que les actions se passent selon vos attentes. Dans l'exemple suivant, un processus d'enregistrement a été fait, qui constituera la deuxième étape du processus employé dans l'exemple précédent. Nous allons prendre lerésultat retourné par la calculatrice et le coller dans un bloc-notes. L'enregistrement présente l'apparence suivante : {{ :wiki:ux40.jpg }} Et nous avons inclu une autre séquence qui consistera à sauvegarder le fichier dans une location particulière, en remplaçant celui précédent. Celui grante une grande flexibilité, car il ouvre la posibilité de superviser parallèlement ces fichiers reflétant les informations dont vous avez besoin dans tout type de varieté de vérifications de grands applications de bureau. Cette troisième séquence compris les étapes suivantes : {{ :wiki:ux43.jpg }} ==== Exécution de sessions PDR ==== === Exécution standard === Pour lancer les sessions pré-enregistrées PDR, indiquez que le mode de travail es le chemin au fichier ''pdr.cmd'' déployé dans le point correspondant, l'argument du fichier ''-r'', le fichier qui contient les directrices de la session (''-script''), le répertoire où stocker les captures d'écran (''-folder'') terminé en " \ ", celui qui est optionnel, où sauvegarder les captures dans le dossier où se trouve le ''pdr''. Le nombre de réessais consecutifs peut être ajouté en cas d'échec (paramètre optionnel). Dans l'exécution suivante, la cpature d'écran est personnalisée pour collecter uniquement 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 rétournés : * UX_Time_nom_projet. * UX_Status_nom_projet. * UX_Control_Snapshot_nom_projet (seulement dans la première exécution). S'il y a quelque étape avec erreur, le module suivant sera aussi créé : * UX_Snapshot_nom_projet. Et montrera une image de la fenêtre active (avec ''-ss_config active'') du moment de l'erreur. Exemple de sortie avec exécution correcte : generic_proc UX UX generic_data UX UX UX_Status_calculadora.sikuli async_string UX UX UX_Status_calculadora.sikuli Exemple de sortie avec exécution échouée : generic_proc UX UX generic_data UX UX UX_Status_std.html async_string UX UX UX_Status_std.html Si tout a été correcte, vous pouvez ajouter la ligne d'exécution à l'agent Pandora FMS installé dans la machine Windows® en tant que plugin d'agent. La ligne à ajourter au fichier de configuration de l'agent aura une apparence similaire à celle-ci (dans une seule ligne) : module_plugin C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.bat -args -r -script C:\PDR\calc.sikuli -folder C:\PDR\ -ss_config active -checkpoint -post "taskkill /F /IM calc.exe" Comme vous pouvez le voir, dans cette exécution, vous avez plus d'options. Le paramètre ''-checkpoint'' montre une capture du résultat final même s'il n'y a pas d'échec ; ''-post'' exécutera les actions après la réproduction de la session. Dans ce cas, nous allons fermer le processus de calculatrice initié par l'enregistrement, pour éviter que le système finit par échouer à cause d'excès de fenêtres ouvertes ou processus similaires. Bien que l'agent a la ligne d'exécution //module_plugin// lista, vous devez le lancer en mode processus, exécutant le suivant depuis la ligne de commande en tant qu'administrateur : "%ProgramFiles%\pandora_agent\PandoraAgent.exe" --process Lors du lancement vous pourrez voir comment les actions sont exécutées automatiquement selon l'enregistrement. Depuis ce moment, **le processus d'agent ne doit pas se fermer** et vous ne devez pas vous connecter à la machine par bureau distant, ou les exécutions pourraient être interrompues. La machine ne doit pas être manipulée, donc il est recommandé de l'utiliser dans des machines virtuelles. Si vous avez déjà des vérifications d'automatisation, vous pouvez les inclure dans Pandora FMS avec l'exécution suivante. pandora_ux.64 -exe -args -script * '''': exe (exécutable) du système d'automatisation. * '''': Arguments du système. * '''': Chemin d'accès au fichier de test. === Exécution fondée sur transaction === Si vous avez de différents processus enregistrés avec PDR et vous avez vérifié qu'ils fonctionnent lorsque vous les réproduisez continuellement, faites l'exécution de la manière suivante : 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 le voir, tout simplement indiquez le chemin du nouveau //script// dans le paramètre ''-script'' séparé par une comme du script précédent et utilisez le paramètre ''-t'' avec le nom de la transaction qui comprend les différentes étapes. Si vous avez un processus avec plus d'étapes, suivez 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 serait 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'' vous pouvez voir des captures du résultat finale de chaque étape dans la console Pandora FMS. Les modules suivants seront retournés par étape : * UX_Time_nom_projet.étape_ordre. * UX_Status_nom_projet.étape_ordre. S'il y a quelque étape avec erreur, le module suivant sera aussi créé : * UX_Snapshot_nom_projet.étape_ordre. Une image de la web sera aussi montrée au moment de l'erreur, au cas où il se produit. Les modules de résumé globales seront aussi retournés indetifiés ave les noms suivants : * UX_Global_Time_nom_projet. * UX_Global_Status_nom_projet. * UX_Global_Snapshot_nom_projet. Lorsque l'agent s'exécute en mode processus et les modules sont récupérés par Pandora FMS vous le verrez dans la console. À nouveau, par le biais de la vue en mode hiérarchique vous pourrez montrer clairement la relation entre les modules montrés, limitant clairement les différentes étapes : {{ :wiki:ux41.jpg }} Et dans le viseur des transactions, vous pouvez voir le détail des étapes et la graphique avec les temps : {{ :wiki:ux42.jpg }} Les captures d'erreur seulement seront montrées lorsque le client UX (PWR) et le serveur PWR s'exécutent dans la même machine. Au cas contraire, le répertoire de livraison des images par le serveur PWR doit être accessible par le client afin de pouvoir montrer l'image Pandora FMS. Il sera sur ces modules sur lesquels vous pourrez créer des alertes et regarder l'historique pour construire des graphiques et montrer l'évolution dans le temps des systèmes à superviser. Il est recommandé de créer une tâche programmée qui démarre l'agent Pandora FMS en mode processus lorsque l'équipement démarre et ainsi les exécutions ne seront pas interrompues bien que le système aie un redémarrage forcé. Puisqu'il est en mode connexion automatique sans mot de passe, l'agent s'exécutera toujours bien que la machine est redémarrée. {{ :wiki:ux26.jpg }} {{ :wiki:ux27.jpg }} {{ :wiki:ux28.jpg }} {{ :wiki:ux29.jpg }} {{ :wiki:ux30.jpg }} {{ :wiki:ux31.jpg }} {{ :wiki:ux32.jpg }} De cette manière nous garantisons que dans ce système Windows l'agent Pandora FMS s'exécutera en mod eprocessus même si la mchine se redémarre, en envoyant les informations collectées par la sonde PDR. Systèmes avec quelques bureaux peuvent devenir problématiques, donc il est toujours récommandñee d'utiliser la configuration décrite précédement, dans une machine en mode bureau avec autodémarrage et un seul bureau. [[:fr:documentation:start|Retour à l'index de documentation du Pandora FMS]]