Avec Overmon, superviser ses sites web n’a jamais été aussi simple !

L’intégration Overmon/Selenium n’est publié que depuis une semaine, et déjà, vous êtes nombreux à nous féliciter de ce nouvel apport.

Soyez-en remerciés. Ca nous touche, … vraiment … ;o)

Certains parmi vous ne connaissaient pas Selenium.

Cet article a pour but de vous expliquer en détail comment utiliser cette nouvelle fonctionnalité majeure d’Overmon.

Petit rappel de l’objectif : Produire une nouvelle sonde qui sera capable de simuler une activité utilisateur complexe sur n’importe quel site internet. Cette sonde sera ensuite déployée automatiquement vers la plateforme Centreon, qui est inclue dans Overmon.

Pré-requis : vous devez disposer d’une plateforme Overmon opérationnelle, ou avoir souscrit à une offre SaaS. Pour les besoins de cet article, nous allons créer un scénario web en utilisant la plateforme Overmon/SaaS

Trêve de préambules, et place à la magie !

Commencons par lancer l’OAT :

 

Launcher OAT

Connectons maintenant l’OAT à la plateforme Overmon/SaaS (en l’occurence => ovs01.overmon.fr).

Patientons quelques secondes, et l’écran principal de l’OAT nous est alors présenté :

Ecran principal de l'OAT

 

Cliquons maintenant sur l’onglet « Selenium » :

Onglet "Selenium"

 

C’est à partir de cet écran que nous allons travailler.

Notez à ce stade la présence d’une combo nommée « Moteur » (en haut à gauche de l’écran), qui mérite une explication :

Selenium, contrairement à d’autres produits, ne se contente pas de faire un get sur une suite d’URL pour en analyser le résultat. Selenium émule réellement l’activité d’un utilisateur humain, via l’utilisation d’un navigateur web tel que nous les connaissons tous. Overmon v9 embarque aujourd’hui l’utilisation du navigateur Firefox, mais d’autres viendront plus tard, en fonction des demandes de nos clients.

Puisque Selenium lance une session Firefox à chaque fois qu’il déclenche un scénario, la consommation mémoire induite peut rapidement devenir conséquente.

Nous avons donc décider de positionner les scénarios Selenium sur les Overmon Pollers (OVP).

Car les OVPs sont des satellites, qui peuvent être dupliqués à l’infini (ou presque). Et surtout, il aurait été dangereux de permettre une telle consommation de mémoire sur l’OVS, dont la mission prioritaire doit rester la délivrance aux utilisateurs des différentes interfaces (Centreon, GLPI, etc …)

Cliquons maintenant sur la combo « Moteur », et sélectionnons l’OVP ovp01.overmon.fr :

selection de ovp01.overmon.fr

 

OAT présente alors la liste des scénarios web disponible sur l’OVP choisi.

Notre but est d’en créer un nouveau. Pour ce faire, cliquons sur le bouton « Enregistrer un scénario Firefox » :

Ecran Firefox distant

A ce stade, de nouvelles explications sont de nouveau nécessaires …

Cette fenêtre Firefox qui vient d’apparaitre à l’écran N’EST PAS une session de Firefox hébergé sur notre PC. Il s’agit en fait d’une session Firefox qui a été déclenché sur l’OVP, et qui a ensuite été relayée en session X vers notre PC, à travers un outil Xming, qui est embarqué dans l’OAT.

Il est vrai qu’en relisant la dernière phrase, ca pique un peu, mais que voulez-vous : c’est la vocation d’Overmon de rendre simple des implémentations technologiques compliquées … ;o)

Ce Firefox « distant » a la particularité d’avoir été customisé par nos soins. Pour être précis, il embarque un plugin nommé « Selenium IDE » que nous allons  utiliser.

Pour ce faire, nous cliquons simplement sur l’icone « Selenium IDE » en haut à droite de l’écran Firefox :

Selenium IDE

 

Cet article n’a pas pour vocation de vous former de manière exhaustive sur Selenium, qui est un produit tout à fait exceptionnel par sa capacité, sa richesse.

Nous vous invitons à vous rapprocher de la grande communauté qui s’est formé autour.

Pour les besoins de cet article, nous allons nous contenter de créer un scénario assez basique, qui se connectera sur le site « Le bon coin », qui ira chercher les offres liées à une guitare « Fender », puis qui nous alertera en cas de prix intéressant …

Première chose, définir l’URL de base dans Sélenium IDE, puis cliquer sur le bouton d’enregistrement de scénario (le bouton rouge) :

Debut de l'enregistrement du scénario Selenium

 

A partir de maintenant, toute action déclenchée sur la fenêtre Firefox va être enregistrée.

Nous commençons par répercuter l’URL de base :

URL de base

 

Admettons maintenant que je souhaite rechercher en Corse. Je clique donc sur l’ile de Beauté … :

selection guitare fender

Maintenant, nous saisissons dans la zone de recherche « guitare fender », puis nous cliquons sur le bouton « CHERCHER ». Enfin nous cliquons sur « Trier par prix » :

Overmon_28052015_172534_014

 

Cliquons maintenant sur la première offre (la moins chère) :

Premiere offre de guitare

Notez qu’à ce stade, l’ensemble de nos actions sont logguées dans Selenium IDE :

Overmon_28052015_175536_016

Arrêtons l’enregistrement du scénario.

Nous pouvons maintenant demander à Sélenium de le rejouer pour nous, tout simplement en cliquand sur l’icone vert, en haut à gauche :

Overmon_28052015_180358_017

A ce moment là, vous constaterez que l’écran Firefox s’anime, et reproduit fidèlement les actions que vous avez enregistré précedemment.

Nous allons maintenant enregistrer notre travail, en cliquant sur « File », puis « Save Test Case » :

Overmon_28052015_180623_018

 

puis, nous sauvegardons notre scénario :

Overmon_28052015_180928_019

Attention à bien suffixer votre fichier avec l’extension .html, sans quoi l’OAT ne le reconnaitra pas.

Bien, nous pouvons maintenant fermer l’écran Firefox. Nous n’en aurons plus besoin.

De retour sur l’OAT, nous cliquons maintenant sur le bouton « Raffraichir » :

Overmon_28052015_181841_020

Comme vous pouvez le constater, nous retrouvons notre nouveau scénario.

Nous sélectionons se nouveau scénario, puis nous cliquons sur « Ouvrir scénario distant » :

Overmon_28052015_181949_021

Nous voici maintenant avec un scénario prêt à l’emploi.

Jetons maintenant un oeil avisé sur la zone « arguments » de l’écran …

Overmon_28052015_182145_022

La sonde que nous allons utiliser utilise 6 arguments :

  1. criticalavailability : Niveau de disponibilité (en %) sous lequel la sonde produira un statut CRITICAL. Le niveau de disponibilité correspond au pourcentage d’étapes qui se sont bien déroulées, par rapport au nombre total d’étapes dans le scénario
  2. warningavailability : Niveau de disponibilité (en %) sous lequel la sonde produira un statut CRITICAL
  3. criticaltimeall : Temps de réponse (en secondes) pour l’ensemble du scénario au-delà duquel la sonde produira un statut CRITICAL
  4. warningtimeall : Temps de réponse (en secondes) pour l’ensemble du scénario au-delà duquel la sonde produira un statut WARNING
  5. criticaltime : Temps de réponse (en secondes) chaque étape du scénario au-delà duquel la sonde produira un statut CRITICAL
  6. warningtime : Temps de réponse (en secondes) chaque étape du scénario au-delà duquel la sonde produira un statut WARNING

Avant de déployer ce Scénario sur Centreon, testons le, en cliquant sur « Tester le scénario » :

Overmon_28052015_182642_024

Diable ! le scénario tombe en erreur.

Tant pis … cet article n’a pas pour but d’arriver à un scénario opérationnel, mais simplement de vous montrer comment le module Selenium fonctionne …

Notons ici que la sonde nous montre le détail des différentes étapes qui sont rejouées, et qu’elle collecte effectivement les temps de réponses de chacune des étapes.

Sachez également, qu’il est possible, en cliquant sur « Test le scénario en mode visuel » de rejouer le scénario, mais en affichant en session X (comme pour l’enregistrement) la fenêtre Firefox. Ceci peut présenter un intérêt sur les phases de debugging.

Dernière étape, déployons la sonde, en cliquant sur le bouton « Ajouter dans centreon » :

Overmon_28052015_183139_025

Comme vous pouvez le constater, OAT a bel et bien déployé ce nouveau scénario sur ovp01.overmon.fr, puis redémarré automatiquement ce poller.

Il n’y a plus qu’à contrôler le résultat sur la plateforme Overmon/SaaS :

Overmon_28052015_183337_026

 

Comme auparavant, la sonde sort en KO. Ce qui est normal, rappelez-vous … ;o)

Après un certain laps de temps, vous disposerez alors de données métrologiques pertinentes …

… que ce soit au niveau du taux de disponibilité :

Overmon_28052015_183509_027

 

… de la durée d’exécution globale :

Overmon_28052015_183520_028

 

… que de la durée d’exécution de chaque étape du scénario :

Overmon_28052015_183533_029

 

Voilà … à vos claviers, et tous ensemble … supervisons the whole web !!!

L’équipe Overmon

P.S. : Pour vous faire une idée plus précise des possibilités offertes, n’hésitez pas à visionner les vidéos que nous avons produites en relation avec ce sujet. Elles sont disponibles ici



 


 

Join the Forum discussion on this post

Sébastien Sanchez

Author: Sébastien Sanchez

Après avoir passé 20 ans dans des directions informatiques de groupes internationaux (Generali, Altadis, Chronopost) à exercer des fonctions variées (Manager de services IT, chef de projet MOE, Ingénieur systèmes, DBA, analyste programmeur, etc …), j’ai créé Overmon.

Overmon se propose de fournir à ses utilisateurs une solution complète de gestion de production IT, incluant une multitude de fonctionnalités telles que : supervision, inventaire, gestion d’incidents, et bien d’autres.

Basé sur un socle open-source éprouvé (Nagios/Centreon/Glpi/FusionInventory/Mediawiki,…), Overmon permet de réduire considérablement la charge induite par certaines phases, telles que : Déploiement des agents de supervision et d’inventaire, déploiement/administration des satellites Nagios, développement de sondes spécifiques, supervision de bases de données et de sites web.

Share This Post On