Plugin de traitement d’information JBoss AS 7 pour Nagios

Avec Jboss AS 7  il est difficile de trouver un plugin simple permettant à la fois de remonter les informations de monitoring et des graphiques de performances.
alex.jpg
Alexandre GRONDINMis à jour le 10 Juin 2013

Avec Jboss AS 7  il est difficile de trouver un plugin simple permettant à la fois de remonter les informations de monitoring et des graphiques de performances.

Pour cela il faut traiter les informations que nous remonte notre commande dextraction (Voir larticle "Extraction des informations de monitoring JBoss AS 7").

Le plugin permettra dafficher les informations demandées et de remonter le graphique de chaque service sur Centreon.

Pour ce plugin nous travaillerons avec le langage perl, ce langage reprend des fonctionnalités du langage C et des langages de scripts sed, awk et shell(sh).

Ce langage est adapté au traitement et à la manipulation de fichiers texte, notamment du fait de lintégration des Regex (Expressions régulières) dans la syntaxe même du langage.

Ce quil faut savoir

@_ permet la déclaration de variables ou de tableaux.

$_ suivi dun mot permet de dire que le mot est une variable.

@_ suivi dun mot signifie que ce mot est un tableau.

La commande split coupe une réponse en fonction du symbole désigné afin de le glisser dans les cellules dun tableau.

Pour exploiter la cellule dun tableau, il faut appeler le tableau comme variable en précisant la cellule voulu entre crochet à la fin de lappellation.

<span >;</span>
<span >);</span>
<span >];</span></span>

Il faut toujours terminer par  "<span après une instruction sauf après une condition.

Mode opératoire

Il faut dabord lui indiquer quel langage va interpréter notre script.

<span >#! /usr/bin/perl -w</span>

Ensuite il faut analyser la commande et transformer tout ce qui peut être modifié en variable.

<span >;
(</span><span >&nbsp;</span>
``` ![Sans-titre-2.jpg](https://assets.axopen.com/assets/uploads/Sans_titre_2_2533701074.jpg)

Ce qui peut &ecirc;tre chang&eacute; sont&nbsp;: 

&#8211; l&rsquo;utilisateur &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#8211; le mot de passe &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-le port &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-le serveur &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-l&rsquo;argument 

<div >
  &nbsp;</p> 
  
  <p>
    <span># R&eacute;cup&eacute;rer le fichier r&eacute;ponse#</span>
  </p>
  
```java

<span >;
(</span><span >;</span>
<span >;</span>
<span >;</span>

 

Ensuite il faut faire un Regex afin de ne sélectionner que le  résultat dont il nous faut pour remonter des données de performances afin que Centreon (interface graphique améliorée des services de Nagios) les interprètes pour afficher les graphs.

Pour tester les Regex sous Perl jai choisi http://www.regexe.com.

<span >;
(</span><span >);</span>

Ensuite organiser la réponse dans un tableau afin de ne remonter que ce dont nous avons besoin.

Puis fait le traitement du résultat. Utiliser une boucle pour que toutes les cellules du tableau soit traitées en fonction de leurs nombres. On refait ensuite un autre regex pour retirer toutes les syntaxes qui pourrait nous gêner et on affiche le tout. 

Sans-titre-1.jpg

Le pipe (mot anglais, le tube "|") permet de remonter les informations en données de performances, le point permet de concaténer les variables et les chaines de caractères.

Maintenant, le plus dur est fait, il faut ajouter des options au plugin pour lui permettre donner les valeurs aux variables à partir du terminal. 

11.jpg

 

Afin que le plugin ne se lance pas sil manque des informations il faut ajouter la commande "unless". 

10.jpg

Use Getopt ::Long ; permet dattribuer aux variables la valeur des options.

On peut ajouter plus doptions comme laffichage daide ou de la version du plugin. 

9.jpg

 

Et ajouter en fin du plugin 

8.jpg

 

Ligne de commande

Une fois le plugin terminer lancer le en ligne de commande dans le dossier des plugins de Nagios, par default aller dans /usr/local/nagios/libexec/

Autoriser le plugin a sexécuté : chmod 755 nom_de_mon_plugin.pl puis le plugin : ./nom_de_mon_plugin.pl

Le résultat devrait être de ce type :  

7.jpg

 

Sur centreon :

Aller dans Configuration > Commandes > Ajouter 

6.jpg

Complèter la page en vous aidant des listes déroulantes, selectionner le connecteur perl, et le modèle de graphique par default.

Puis ajouté un service de la même manière que pour la commande, lattribuer à un Hôtes puis redémarrer.

Aller dans supervision cliquer sur le service et au bout de quelques minutes un graphique apparait. 

Sans-titre5.jpg