![Stacks Image 29834](files/stacks-image-a189bbd-100x108.png)
Les lignes de style Wearthermap sont disponibles dans Nagvis depuis la version 1.5. Ces lignes ont la possibilité d’afficher des lignes en couleur selon le résultat des sondes de supervision à la manière de PHP Weathermap. Pour cela nous aurons besoin de sonde avec un format de données de performances adapté à ces lignes.
La documentation Nagvis indique l'utilisation d'une sonde Perl s’appelant check_iftraffic3.pl. Celle-ci va écrire des données de performance exploitables par l’objet ligne « weathermap » de Nagvis. Nous aurons besoin de réaliser quelques modifications pour le rendre compatible avec notre maquette sous Centreon 18.10 avec Debian 9.
Nous verrons plus loin, comment utiliser les sondes Centreon avec les bonnes données de performances. Cette article a été mis à jour avec la version 1.9.11 de Nagvis.
La documentation Nagvis indique l'utilisation d'une sonde Perl s’appelant check_iftraffic3.pl. Celle-ci va écrire des données de performance exploitables par l’objet ligne « weathermap » de Nagvis. Nous aurons besoin de réaliser quelques modifications pour le rendre compatible avec notre maquette sous Centreon 18.10 avec Debian 9.
Nous verrons plus loin, comment utiliser les sondes Centreon avec les bonnes données de performances. Cette article a été mis à jour avec la version 1.9.11 de Nagvis.
1 Utilisation de la sonde check_iftraffic3.pl
1.1 prérequis
Tout d’abord, installez les paquets manquants au bon fonctionnement de check_iftraffic3.pl. L’hôte supervisé devra avoir le service SNMP fonctionnel.
Récupérez le plugins perl check_iftraffic3.pl sur le site Nagios Exchange (c’est indiqué sur la documentation Nagvis) . Copiez celui-ci dans le dossier /usr/lib/nagios/plugin. Mettre les droits d’exécution et le propriétaire centreon-engine
Ce plugin utilise des fichiers temporaires pour les données de performance. A l’instar des plugins centreon, nous redirigerons ces fichiers vers un dossier spécifique dans /var/lib/centreon/centplugins. Modifiez le plugin et remplacez la ligne suivante
par
Notre plugin est prêt à fonctionner. Il va falloir l’intégrer dans Centreon. Connectons-nous à l’interface de Centreon. La configuration de Centreon va se dérouler en plusieurs étapes :
apt-get install libnet-dns-perl
Récupérez le plugins perl check_iftraffic3.pl sur le site Nagios Exchange (c’est indiqué sur la documentation Nagvis) . Copiez celui-ci dans le dossier /usr/lib/nagios/plugin. Mettre les droits d’exécution et le propriétaire centreon-engine
chmod +x /usr/lib/nagios/plugins/check_iftraffic3.pl
chown centreon-engine: /usr/lib/nagios/plugins/check_iftraffic3.pl
Ce plugin utilise des fichiers temporaires pour les données de performance. A l’instar des plugins centreon, nous redirigerons ces fichiers vers un dossier spécifique dans /var/lib/centreon/centplugins. Modifiez le plugin et remplacez la ligne suivante
my $TRAFFIC_FILE = « /tmp/traffic »;
par
my $TRAFFIC_FILE = « /var/lib/centreon/centplugins/traffic »;
Notre plugin est prêt à fonctionner. Il va falloir l’intégrer dans Centreon. Connectons-nous à l’interface de Centreon. La configuration de Centreon va se dérouler en plusieurs étapes :
- création d’une commande de plugin,
- création d’un modèle,
- création d’un service associé à un hôte.
1.2 Création d’une commande de plugin
Sélectionnez le menu Configuration / commands / checks. Ajoutez une commande.
![Stacks Image 43673](files/stacks-image-dea6306.png)
Création de la commande
Saisir la commande $USER1$/check_iftraffic3.pl -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$
- $USER1$ étant le chemin des plugins
- $HOSTADDRESS$ étant l’adresse IP ou DNS du nom de l’hôte associé
- $_HOSTSNMPCOMMUNITY$ étant le nom de communauté SNMP de l'hôte
1.3 Création d’un modèle (template)
Sélectionnez le menu Configuration / services / Templates. Ajoutez un modèle.
![Stacks Image 43685](files/stacks-image-d1425eb.png)
Création d'un modèle
Mettre le minimum d’information à savoir le nom du service, l’alias, le nom du template générique et le plus important le nom de la commande précédemment créée.
![Stacks Image 43688](files/stacks-image-6556f1f.png)
Association à un modèle d'hôte
Associer le modèle de service à un modèle d’hôte.
1.4 Création d’un hôte
Sélectionnez Configuration / Hosts / Add.
![Stacks Image 43699](files/stacks-image-59ae142.png)
Création d'un hôte
Remplissez les champs suivants : Name, Alias, IP, SNMP et ajouté le modèle d'hôte associé à notre modèle. Vérifiez la prise en compte du service.
![Stacks Image 43704](files/stacks-image-ef46283.png)
Les services ont été créés
Appliquez la configuration et vérifiez que vos services sont actifs. Voici les données de performances de cette sonde
![Stacks Image 43763](files/stacks-image-6da6853.png)
Statut et données de performances du service
Et le graphe généré.
![Stacks Image 43768](files/stacks-image-a17ff9c.png)
graphe du service
1.5 Création d’une carte Nagvis
Nous allons créer deux lignes de type Wearthermap : une avec des flèches et le pourcentage du traffic et l'autre avec des flèches, pourcentage et affichage du débit. Créons la première ligne.
![Stacks Image 43714](files/stacks-image-71f7f35.png)
Sélectionnez l'hôte et le service
![Stacks Image 43717](files/stacks-image-a2ce6f3.png)
Sélectionnez line et le type -%-><-%-
Pour la deuxième ligne, modifiez le deuxième onglet.
![Stacks Image 43722](files/stacks-image-3f5850e.png)
Sélectionnez line et le type -%+BW-><-%+BW-
Nous obtenons cette carte.
![Stacks Image 43727](files/stacks-image-9e5044e.png)
Exemple de cartographie
Nous utiliserons iperf pour réaliser nos tests.
Emetteur
iperf -c 10.0.3.167 -u -b 1000m -t 360Récepteur
iperf -s -u
Et voici quelques exemples en fonction du débit des interfaces.
![Stacks Image 43757](files/stacks-image-87a2aa2.png)
![Stacks Image 43761](files/stacks-image-5670f54.png)
![Stacks Image 43759](files/stacks-image-124b9d0.png)
2 Utilisation des sondes Centreon Plugins
Nous utiliserons la dernière version du GitHub pour les utilisateurs de la version open-source ou les derniers plugins centreon version 20190111-102147 pour les utilisateurs des ISO Centreon. Pour l'installation des plugins Centreon voir l'article sur les plugins Centreon.
2.1 Création d’une commande de plugin
Sélectionnez le menu Configuration / commands / checks. Ajoutez une commande. Voici un exemple de mon cru avec les plugins du GitHub :
![Stacks Image 43795](files/stacks-image-0ec8e6a.png)
Création de la commande
Saisir la commande $CENTREONPLUGINS$/centreon_plugins.pl --plugin=os::linux::local::plugin --mode=traffic --speed=$_SERVICESPEED$ --name= --warning-out='$_SERVICEWARNING$' --critical-out='$_SERVICECRITICAL$' --warning-in='$_SERVICEWARNING$' --critical-in='$_SERVICECRITICAL$' $_SERVICEOPTIONS$
- $CENTREONPLUGINS$ étant le chemin des plugins
- $_SERVICESPEED$ indique la vitesse max de la carte réseau
- $_SERVICEINTERFACE$ étant le nom de l'interface réseau
- $_SERVICEWARNINGIN$ et $_SERVICEWARNINGOUT$ étant les seuils Warning du service
- $_SERVICECRITICALIN$ et $_SERVICECRITICALOUT$ étant les seuils Critical du service
- $_SERVICEOPTION$ étant une MACRO permettant d'ajouter des options non prévues.
2.2 Création d’un modèle (template)
Sélectionnez le menu Configuration / services / Templates. Ajoutez un modèle.
![Stacks Image 43804](files/stacks-image-d66e480-800x564.png)
Création d'un modèle
La chaine --units=% a été rajouté dans la macro OPTION, utile pour obtenir les pourcentages avec l'association de l'option speed.
2.3 Création d’un hôte
Comme le chapitre précédent, il faut créer un hôte avec ce service, nous obtiendrons ceci après application de la configuration.
![Stacks Image 43818](files/stacks-image-cc6570a.png)
Les services ont été créés
![Stacks Image 43821](files/stacks-image-048882b-800x208.png)
Statut et données de performances du service
2.4 Vérification du service sur une carte Nagvis
Nous allons tester ce service sur une cartographie Nagvis avec des lignes type Wearthermap : constatation aucune des ligne ne donnent satisfaction, il faut modifier les données de performances qui ne sont pas adaptées à ce type de ligne.
![Stacks Image 43828](files/stacks-image-44c1ad4.png)
Exemple de cartographie
Nous allons utiliser les options change-perfdata, extend-perfdata et filter-data pour modifier la sortie des données de performances. Voici, un schéma explicatif de chaque option utilisée dans la commande de service pour obtenir le résultat voulu.
![Stacks Image 43833](files/stacks-image-92ecea0.jpg)
Utilisation des options change-perfdata, extend-perfdata et filter-data.
2.5 Modification du service pour la compatibilité Nagvis
Il faudra ajouter ces commandes dans la macro option.
--change-perfdata=traffic,target,,bps --extend-perfdata='target_(in|out),nagvis_$1L,percent()' --extend-perfdata='target_(in|out),nagvis_$1T,scale(auto)' --extend-perfdata=target,traffic --filter-perfdata='nagvis|traffic'
![Stacks Image 43838](files/stacks-image-bf5cd34-800x436.png)
Modification du service
Appliquez la configuration et vérifiez le résultat dans Nagvis.
![Stacks Image 43845](files/stacks-image-44dc9ff-800x458.png)
Les lignes sont opérationnelles