L'équipe de Centreon, pour notre plus grand plaisir, a développé un plugin qui va pouvoir exécuter des scénarios en html créés avec Selenium IDE.
Pour aider à vous retrouver dans mes articles, voici les étapes à ne pas oublier pour la réussite de votre projet :
1 - Installation du serveur Selenium
2 - Installation du plugin Centreon waa
3 - Création d'un scénario avec Selenium IDE
4 - Configuration de Centreon pour superviser un site Web
Pour aider à vous retrouver dans mes articles, voici les étapes à ne pas oublier pour la réussite de votre projet :
1 - Installation du serveur Selenium
2 - Installation du plugin Centreon waa
3 - Création d'un scénario avec Selenium IDE
4 - Configuration de Centreon pour superviser un site Web
1 Installation du plugin check_centreon_waa
Une fois connecté sur votre serveur Centreon favori, téléchargez le plugin Centreon waa. Dans l'exemple suivant, nous utiliserons le moteur Centreon-Engine et le user centreon-engine.
cd /usr/local/src wget https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-waa/check_centreon_waa-1.0.3.tar.gz tar xzf check_centreon_waa-1.0.3.tar.gz cp check_centreon_waa-1.0.3/check_centreon_waa /usr/local/plugins/libexec/ chown centreon-engine: /usr/local/plugins/libexec/check_centreon_waa chmod a+x /usr/local/plugins/libexec/check_centreon_waa
Il nous faut un dossier pour stocker les scénarios html qui seront créé ultérieurement avec Selenium IDE.
mkdir /var/lib/centreon_waa chown centreon-engine: /var/lib/centreon_waa
1.1 Installation des paquets requis pour le plugin
Pour faire fonctionner ce plugin, nous avons besoin des paquets supplémentaires suivants (Debian 6).
apt-get install libxml-xpath-perl libtest-www-selenium-perl -y
1.2 Test de fonctionnement
Nous allons créer notre premier scénario pour tester notre plugin et la connexion avec notre serveur Selenium. Créez un fichier scenario-recherche-centreon.html dans /var/lib/centreon_waa. Vous pouvez le télécharger.
Il suffit d'exécuter le plugin avec les bons paramètres.
-c | valeur d'exécution du scénario de type critique en secondes |
---|---|
-w | valeur d'exécution de type warning en secondes |
-d | chemin du dossier où sont stockés les scénarios |
-t | Nom du scénario sans l'extension html |
-r | adresse du serveur Selenium et de son port |
cd /usr/local/plugins/libexec ./check_centreon_waa -c 60 -w 50 -d /var/lib/centreon_waa -t scenario-recherche-centreon -r [IP serveur Selenium]:4444
Au bout de quelques secondes, vous devriez avoir ce résultat. Il faut bien-sûr être connecté sur Internet.
CHECKWEB OK - Execution time = 1.456452s Test Ok 3/3 |'time'=1.456452s;50;60 'availability'=100%;;;0;100
Attention, le dossier /var/run/selenium doit exister sur le serveur Selenium, sous peine d'avoir ce message ci-dessous. Le service xvfb ne peut pas créer une session mozilla (dossier .mozilla).
Error requesting http://172.16.209.171:4444/selenium-server/driver/?cmd=getNewBrowserSession&1=%2Afirefox&2=http%3A%2F%2Fwww.google.fr%2F: Failed to start new browser session: org.openqa.selenium.server.RemoteCommandException: Error while launching browser
Nous continuerons notre série d'article sur la création de scénarios ou la configuration du serveur Centreon
2 Amélioration du plugin check_centreon_waa
Pour vérifier le bon fonctionnement des scénarios avec le plugin, il est apparu évident d'ajouter une option permettant un débogage facile. En effet, si une instruction ne passe pas, aucun retour de l'erreur n’apparait. Seul le nombre d'étapes effectué avec succès peut aider dans la recherche du dysfonctionnement.
Je vous propose donc une modification du plugin avec l'option -b (debug) pour faire apparaître l'erreur. Bien sûr, cette option sera à utiliser exclusivement en ligne de commande pour tester le scénario. En exemple, j'ai laissé volontairement une erreur dans le scénario suivant.
Je vous propose donc une modification du plugin avec l'option -b (debug) pour faire apparaître l'erreur. Bien sûr, cette option sera à utiliser exclusivement en ligne de commande pour tester le scénario. En exemple, j'ai laissé volontairement une erreur dans le scénario suivant.
/usr/local/plugins/libexec/check_centreon_waa -b -c 2 -w 1 -d /var/lib/centreon_waa -t scenario-centreon -r 172.16.209.175:4444 Base URL: http://172.16.209.192/ Etape 1 - open | /centreon/index.php | Etape 2 - sendKeys | name=useralias | admin Error requesting http://172.16.209.175:4444/selenium-server/driver/?cmd=sendKeys&1=name%3Duseralias&2=admin&sessionId=0ddf2b79ded0480f9ab754c5e26224e4: ERROR: Unknown command: 'sendKeys' CHECKWEB CRITICAL - Execution time = 0.137834s Test Ok 1/5 |'time'=0.137834s;1;2 'availability'=20%;;;0;100
Les messages sont clairs et indiquent un problème sur la commande sendKeys inconnue pour le plugin. Vous trouverez le plugin modifié ici. Avec un scénario sans erreur vous obtiendrez les messages suivants :
/usr/local/plugins/libexec/check_centreon_waa -b -c 2 -w 1 -d /var/lib/centreon_waa -t scenario-centreon -r 172.16.209.175:4444 Base URL: http://172.16.209.192/ Etape 1 - open | /centreon/index.php | Etape 2 - type | name=useralias | admin Etape 3 - type | name=password | password Etape 4 - clickAndWait | name=submit | Etape 5 - clickAndWait | link=Logout | CHECKWEB OK - Execution time = 0.78013s Test Ok 5/5 |'time'=0.78013s;1;2 'availability'=100%;;;0;100