
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.

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.

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.

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.

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.

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

Statut et données de performances du service
Et le graphe généré.

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.

Sélectionnez l'hôte et le service

Sélectionnez line et le type -%-><-%-
Pour la deuxième ligne, modifiez le deuxième onglet.

Sélectionnez line et le type -%+BW-><-%+BW-
Nous obtenons cette carte.

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.



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 :

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.

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.

Les services ont été créés

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.

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.

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'

Modification du service
Appliquez la configuration et vérifiez le résultat dans Nagvis.

Les lignes sont opérationnelles