Vous êtes ici:

Menu


Stacks Image 16850
Les modules network correspondent à la supervision des principaux équipements réseaux actifs tels que les commutateurs, les routeurs, les pare-feu ou tout autre matériel réseau. Nous aborderons un cas pratique avec la supervision d'un commutateur gigabit Dlink.

1 Introduction

Pour commencer, nous découvrirons une partie des équipements réseaux disponibles avec les plugins Centreon. Nous utiliserons les plugins communautaires et nous partirons du principe que le dossier d'installation des plugins Centreon est /usr/lib/centreon/plugins.
/usr/lib/centreon/plugins/centreon_plugins.pl --list-plugin |grep network
PLUGIN: network::zyxel::snmp::plugin
PLUGIN: network::fortinet::fortimanager::snmp::plugin
PLUGIN: network::adva::fsp3000::snmp::plugin
PLUGIN: network::moxa::switch::snmp::plugin
PLUGIN: network::dell::sseries::snmp::plugin
PLUGIN: network::infoblox::snmp::plugin
PLUGIN: cloud::azure::network::networkinterface::plugin
    Check Microsoft Azure network interface.
PLUGIN: network::juniper::trapeze::snmp::plugin
PLUGIN: network::rad::airmux::snmp::plugin
PLUGIN: network::arkoon::plugin
PLUGIN: network::h3c::snmp::plugin
PLUGIN: network::juniper::mseries::plugin
PLUGIN: network::citrix::sdx::snmp::plugin
PLUGIN: network::evertz::AEA47721::snmp::plugin
PLUGIN: network::cisco::meraki::cloudcontroller::snmp::plugin
PLUGIN: network::polycom::rmx::snmp::plugin
PLUGIN: network::aruba::standard::snmp::plugin
PLUGIN: network::checkpoint::snmp::plugin
PLUGIN: network::oneaccess::snmp::plugin
…………………..
C'est plus de 100 équipements qui sont listés !

2 Un cas concret

Mon changement récent de FAI a eu pour conséquence de revoir mon réseau interne. En effet, pour profiter au maximum de la fibre, j'ai dû mettre mes switches à 100 Mbp/s en second plan. Et l'occasion ne sait pas fait attendre en trouvant, sur le Bon Coin, un petit switch 16 ports Gigabits d'occasion à un prix tout à fait raisonnable pour un switch manageable. Il s'agit d'un switch D-Link DGS-1100-16 manageable naturellement ;-). Point important avec ce modèle basique, il faut faire attention à la version du firmware pour ce dernier. Le modèle A est manageable seulement en mode web et c'est seulement le modèle B qui peut gérer le SNMP.
Stacks Image 1243686
Le switch D-LInk DGS-1100-16 Gigabit
Nous allons étudier dans ce tuto, la procédure et les astuces pour mener à bien notre supervision de ce switch.

2.1 Paramétrage du SNMP

Tout d'abord, il faudra activer le SNMP. Nous en profiterons pour activer aussi les traps SNMP, nous verrons par la suite comment l'utiliser avec Centreon.
Stacks Image 1243699
Activation du SNMP
Il faudra définir les noms de communauté SNMP. Dans cet article, le nom de communauté en lecture seule sera public. Je vous conseille de mettre un mot de passe fort pour le nom de communauté en écriture car il n'est pas possible de le désactiver.
Stacks Image 1243704
Configuration du nom de communauté

2.2 vérifications du SNMP

Après ces modifications, n'oubliez pas de sauvegarder votre configuration car au redémarrage du switch, toutes modifications non sauvegardées seront perdues. Lancez cette commande depuis votre serveur Centreon, pour vérifier le bon fonctionnement du SNMP. Si vous utilisez une version Centreon compilée par vos soins, assurez-vous d'avoir les fichiers MIB sur votre serveur.
snmpwalk -v 2c -c 'public' 192.168.1.149 sysdescr
SNMPv2-MIB::sysDescr.0 = STRING: DGS-1100-16 Gigabit Ethernet Switch

3 Le module network::dlink::standard::snmp::plugin

Ce module va nous permettre de superviser un switch D-Link. Pour le trouver, rien de plus simple en ligne de commande si vous n'avez pas la licence EMS de Centreon.
/usr/lib/centreon/plugins/centreon_plugins.pl --list-plugin | grep network | grep dlink
PLUGIN: network::dlink::standard::snmp::plugin
PLUGIN: network::dlink::dgs3100::snmp::plugin
    network::dlink::standard::snmp::plugin
Deux modules sont disponibles, nous utiliserons le standard puisque notre switch n'est pas un DGS-3100

3.1 Découverte du plugin

Voici les principaux modes de supervision de ce plugin.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --list-mode

Plugin Description:
    Check dlink equipments in SNMP.
....
Modes Available:
   cpu
   hardware
   interfaces
   list-interfaces
Malheureusement sur ce petit switch d'entrée de gamme, le mode cpu ne fonctionnera pas et le mode hardware n'affichera aucun matériel (ventilateur, capteur de température, etc). Seul les deux derniers nous intéresserons. Néanmoins, nous allons nous attarder sur le mode hardware pour expliquer notre démarche de découverte. Pour appliquer les bonnes pratiques, nous utiliserons les commandes avec l'utilisateur centreon-engine. Ceci afin de pouvoir utiliser les fichiers temporaires avec les bons droits pour le moteur de supervision. Nous testons le mode hardware. Nous aurons besoin de l'adresse IP de l'équipement, du nom de communauté SNMP et de sa version. Pour obtenir l'aide du module, il suffit de rajouter l'option --help à la fin de la commande.
centreon-engine@raspberrypi:~$ /usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=hardware --host=192.168.1.149 --snmp-version=2c --snmp-community=public
UNKNOWN: SNMP Table Request : Timeout
Nous pourrions croire à un problème de configuration du SNMP, mais il n'en est rien. Certains équipements délivrent énormément d'informations et notre plugin n'a pas le temps de les analyser. Nous allons utiliser une option de ce module snmp-reduce. Attention à n'utiliser seulement lorsque cela est nécessaire, car cela génère plus de trafic.
centreon-engine@raspberrypi:~$ /usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=hardware --host=192.168.1.149 --snmp-version=2c --snmp-community=public --snmp-autoreduce
OK: All 0 components are ok []. |
Le plugin nous affiche un résultat normal pour ce type d'équipement. L'option verbose nous permet d'en savoir un peu plus.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=hardware --host=192.168.1.149 --snmp-version=2c --snmp-community=public --snmp-autoreduce --verbose
OK: All 0 components are ok []. |
Checking fans
Checking power supplies
Checking temperatures

3.2 Découverte des interfaces réseaux (ports)

Ce qui intéresse beaucoup plus, c'est de pouvoir superviser les interfaces réseaux. Pour cela, nous nous servirons du mode list-interfaces pour découvrir les ports et le mode interfaces pour les superviser. Commençons par la découverte.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=list-interfaces --host=192.168.1.149 --snmp-version=2c --snmp-community=public
UNKNOWN: SNMP Table Request : Timeout
Même constat, utilisation de l'option snmp-autoreduce
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=list-interfaces --host=192.168.1.149 --snmp-version=2c --snmp-community=public --snmp-autoreduce
UNKNOWN: Can't get interfaces...
Autre message d'erreur, le plugin n'arrive pas à déterminer les bons oid pour obtenir les ports réseaux, nous allons l'aider avec ces deux paramètres oid-filter et oid-display
centreon-engine@raspberrypi:~$ /usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=list-interfaces --host=192.168.1.149 --snmp-version=2c --snmp-community=public --oid-filter ifDesc --oid-display ifDesc --snmp-autoreduce
List interfaces:
'D-Link Corporation DGS-1100-16 1.01.B056 Port 1' [speed = 1000, status = up, id = 1]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 10' [speed = , status = down, id = 10]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 11' [speed = , status = down, id = 11]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 12' [speed = 1000, status = up, id = 12]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 13' [speed = , status = down, id = 13]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 14' [speed = , status = down, id = 14]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 15' [speed = 1000, status = up, id = 15]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 16' [speed = , status = down, id = 16]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 2' [speed = 1000, status = up, id = 2]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 3' [speed = 100, status = up, id = 3]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 4' [speed = 1000, status = up, id = 4]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 5' [speed = 1000, status = up, id = 5]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 6' [speed = , status = down, id = 6]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 7' [speed = , status = down, id = 7]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 8' [speed = , status = down, id = 8]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 9' [speed = 1000, status = up, id = 9]
Nous avons bien nos ports réseaux avec pour informations complémentaires : la vitesse, le statut et l'id du port.

3.3 Monitorer un port réseau

Nous avons nos informations, un petit help nous permettra de trouver toutes les informations nécessaires à l'utilisation du mode interfaces.
centreon-engine@raspberrypi:~$ /usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=interfaces --host=192.168.1.149 --snmp-version=2c --snmp-community=public --help
extrait du résultat
Mode:
    Check interfaces.

    --add-global
            Check global port statistics (By default if no --add-* option is
            set).

    --add-status
            Check interface status.

    --add-duplex-status
            Check duplex status (with --warning-status and
            --critical-status).

    --add-traffic
            Check interface traffic.

    --add-errors
            Check interface errors.

    --add-cast
            Check interface cast.

    --add-speed
            Check interface speed.

    --add-volume
            Check interface data volume between two checks (not supposed to
            be graphed, useful for BI reporting).

    --warning-status
            Set warning threshold for status. Can used special variables
            like: %{admstatus}, %{opstatus}, %{duplexstatus}, %{display}

    --critical-status
            Set critical threshold for status (Default: '%{admstatus} eq
            "up" and %{opstatus} ne "up"'). Can used special variables like:
            %{admstatus}, %{opstatus}, %{duplexstatus}, %{display}

    --warning-*
            Threshold warning. Can be: 'total-port', 'total-admin-up',
            'total-admin-down', 'total-oper-up', 'total-oper-down',
            'in-traffic', 'out-traffic', 'in-error', 'in-discard',
            'out-error', 'out-discard', 'in-ucast' (%), 'in-bcast' (%),
            'in-mcast' (%), 'out-ucast' (%), 'out-bcast' (%), 'out-mcast'
            (%), 'speed' (b/s).
Nous utiliserons les options suivantes :
interface : id du port
add-traffic : pour obtenir les informations de bande passante sur ce port
add-status : pour obtenir l'état du port et ainsi avoir un état critique lorsque le port est down.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=interfaces --snmp-autoreduce --oid-filter ifDesc --oid-display ifDesc --host=192.168.1.149 --snmp-version=2c --snmp-community=public --interface=1 --add-traffic --add-status
OK: Interface 'D-Link Corporation DGS-1100-16 1.01.B056 Port 1' Status : up (admin: up), Traffic In : Buffer creation, Traffic Out : Buffer creation |
Lors de la première vérification, le plugin va créer un fichier temporaire dans /var/lib/centreon/centplugins. Il servira à la création des données de performances et il est important de lancer cette commande avec l'utilisateur centreon-engine sinon le moteur engine ne pourra pas exploiter ces données ultérieurement. Lançons une deuxième fois cette commande.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=interfaces --snmp-autoreduce --oid-filter ifDesc --oid-display ifDesc --host=192.168.1.149 --snmp-version=2c --snmp-community=public --interface=1 --add-traffic --add-status
OK: Interface 'D-Link Corporation DGS-1100-16 1.01.B056 Port 1' Status : up (admin: up), Traffic In : 8.15Kb/s (0.00%), Traffic Out : 8.55Kb/s (0.00%) | 'traffic_in'=8148.00b/s;;;0;1000000000 'traffic_out'=8551.00b/s;;;0;1000000000
Cette fois-ci, nous obtenons les informations de trafic et les données de performances. Pour respecter les bonnes pratiques de Centreon, il sera préférable d'utiliser le nom du port au lieu de l'id. Ceci afin d'éviter un éventuel changement d'id lors d'une réinitialisation de l'équipement et ce qui amènera à superviser un port différent que celui prévu initialement. Nous ajoutons l'option name et utilisons le nom de l'interface 1.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=interfaces --snmp-autoreduce --oid-filter ifDesc --oid-display ifDesc --host=192.168.1.149 --snmp-version=2c --snmp-community=public --interface='D-Link Corporation DGS-1100-16 1.01.B056 Port 1'  --name --add-traffic --add-status
CRITICAL: Interface 'D-Link Corporation DGS-1100-16 1.01.B056 Port 10' Status : down (admin: up) - Interface 'D-Link Corporation DGS-1100-16 1.01.B056 Port 11' Status : down (admin: up) - Interface 'D-Link Corporation DGS-1100-16 1.01.B056 Port 13' Status : down (admin: up) - Interface 'D-Link Corporation DGS-1100-16 1.01.B056 Port 14' Status : down (admin: up) - Interface 'D-Link Corporation DGS-1100-16 1.01.B056 Port 16' Status : down (admin: up) |
La commande nous renvoie les informations du port 1 mais aussi des ports 10 à 16. Ce qui n'était pas prévu. Nous allons donc utiliser les regexp perl pour limiter la recherche. Il suffira de rajouter le symbole $ à la fin pour éviter les autres ports.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=interfaces --snmp-autoreduce --oid-filter ifDesc --oid-display ifDesc --host=192.168.1.149 --snmp-version=2c --snmp-community=public --interface='D-Link Corporation DGS-1100-16 1.01.B056 Port 1$'  --name --add-traffic --add-status
OK: Interface 'D-Link Corporation DGS-1100-16 1.01.B056 Port 1' Status : up (admin: up), Traffic In : 7.39Kb/s (0.00%), Traffic Out : 7.94Kb/s (0.00%) | 'traffic_in'=7394.91b/s;;;0;1000000000 'traffic_out'=7943.76b/s;;;0;1000000000
On peut simplifier la commande en insérant seulement la chaine suivante Port suivi d'un espace et du numéro du port. Attention c'est case-sensitive.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=interfaces --snmp-autoreduce --oid-filter ifDesc --oid-display ifDesc --host=192.168.1.149 --snmp-version=2c --snmp-community=public --interface='Port 1$'  --name --add-traffic --add-status
OK: Interface 'D-Link Corporation DGS-1100-16 1.01.B056 Port 1' Status : up (admin: up), Traffic In : 12.03Kb/s (0.00%), Traffic Out : 10.58Kb/s (0.00%) | 'traffic_in'=12027.86b/s;;;0;1000000000 'traffic_out'=10577.10b/s;;;0;1000000000
Il nous restera à ajouter les seuils d'alerte comme cet exemple.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=interfaces --snmp-autoreduce --oid-filter ifDesc --oid-display ifDesc --host=192.168.1.149 --snmp-version=2c --snmp-community=public --interface='Port 1$'  --name --add-traffic --add-status --warning-in-traffic=50 --critical-in-traffic=70 --warning-out-traffic=50 --critical-out-traffic=70
OK: Interface 'D-Link Corporation DGS-1100-16 1.01.B056 Port 1' Status : up (admin: up), Traffic In : 7.28Kb/s (0.00%), Traffic Out : 9.07Kb/s (0.00%) | 'traffic_in'=7279.27b/s;0:500000000;0:700000000;0;1000000000 'traffic_out'=9072.61b/s;0:500000000;0:700000000;0;1000000000

4 Configuration dans Centreon.

Nous partons à la découverte de la configuration dans Centreon. Nous utiliserons des commandes unitaires, des modèles de services et un modèle d'hôte nous permettant d'appliquer la configuration simplement. Malheureusement, avec ce cas d'école, le gain d'installation ne sera pas extraordinaire, puisqu'un seul service pourra être créé (hardware) mais cette méthode pourra être appliquée à d'autres équipements ayant plus de services à installer en une seule fois. Commençons par les commandes.

4.1 Création des commandes

Nous utilisons une commande pour le mode hardware que nous nommerons cmd_net_dlink_standard_hardware.
Stacks Image 1243791
création de la commande cmd_net_dlink_standard_hardware
Nous utiliserons essentiellement des macros custom d'hôtes qui seront renseignées dans le modèle d'hôtes.
$CENTREONPLUGINS$/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=hardware --host=$HOSTADDRESS$ --snmp-version=$_HOSTSNMPVERSION$ --snmp-community=$_HOSTSNMPCOMMUNITY$ $_HOSTOPTIONS$ --verbose
Nous utilisons une autre commande pour le mode traffic que nous nommerons cmd_net_dlink_standard_name_traffic.
Stacks Image 1243798
création de la commande cmd_net_dlink_standard_name_traffic
Cette commande sera beaucoup complète avec des macros custom de service pour les seuils critiques et warning utilisés dans les modèles de service ainsi qu'une macro OPTIONS spécifique au service en plus de la macro OPTIONS du modèle d'hôte. Une macro spécifique pour nommer le port complètera cette commande.
$CENTREONPLUGINS$/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=interfaces --host=$HOSTADDRESS$ --snmp-version=$_HOSTSNMPVERSION$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --warning-in-traffic=$_SERVICEWARNINGIN$ --critical-in-traffic=$_SERVICECRITICALIN$ --warning-out-traffic=$_SERVICEWARNINGOUT$ --critical-out-traffic=$_SERVICECRITICALOUT$ --interface='$_SERVICEINTERFACE$' --name --add-traffic --add-status $_HOSTOPTIONS$ $_SERVICEOPTION$

4.2 Création des modèles de service

Continuons par les modèles de service qui servirons pour créer les services de l'hôte. Voici le modèle pour le mode hardware nommé stpl-net-dlink-standard-hardware.
Stacks Image 1243805
Le nom du champ alias servira à créer le nom du service. Ce modèle est basé sur le modèle générique actif, il héritera de toutes ses caractéristiques. Nous lui indiquons aussi la commande à utiliser cmd_net_dlink_standard_hardware. Continuons par le modèle traffic nommé stpl-net-dlink-standard-name-traffic.
Stacks Image 1243810
Comme le précédent modèle, celui-ci est basé sur le modèle générique actif. On utilisera la commande cmd_net_dlink_standard_name_traffic. Automatiquement, les macros de service seront initialisées. On peut fixer les valeurs par défaut qui seront appliquées lors de la création des services.
WARNINGIN = 50
CRITICALIN = 70
WARNINGOUT = 50
CRITiCALOUT = 70
OPTION = --oid-filter ifDesc --oid-display ifDesc

4.3 Création du modèle d'hôte

Il reste à créer le template d'hôte appelé htpl-net-dlink-standard.
Stacks Image 1243817
Basé sur le modèle d'hôte générique, il faudra aussi ajouter la macro OPTIONS. On aurait pu fixer la valeur par défaut à --snmp-autoreduce, mais je préfère la fixer lors de la création de l'hôte.
Stacks Image 1243822
Sélectionnez l'onglet Relations pour ajouter les modèles de services associés à ce modèle d'hôte. Malheureusement dans notre cas, nous ne pourrons qu'ajouter le modèle hardware. Le modèle interface ne pourra être utilisé manuellement.

4.4 Création de l'hôte

Pour créer notre hôte, il suffira d'ajouter un hôte et d'appliquer le modèle d'hôte htpl-net-dlink-standard
Stacks Image 1243829
Remplissons aussi les champs SNMP community et version ainsi que la macro OPTIONS. Ces champs seront appliqués à tous les services créés lors de la création de l'hôte. Ci-dessous le résultat.
Stacks Image 1243834
Et après application de la configuration
Stacks Image 1243839

4.5 Supervision des ports

Vient le moment le plus attendu, le monitoring des ports du switch. Avec la version communautaire des plugins Centreon, point de salut, il faudra faire la configuration à la mano. Les versions EMS Centreon ont un outil supplémentaire pour ajouter facilement sans erreurs les interfaces disponibles. Mais ce n'est pas le but de ce tutoriel. retournons en ligne de commande pour vérifier les ports disponibles et actifs.
centreon-engine@raspberrypi:~$ /usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=list-interfaces --host=192.168.1.149 --snmp-version=2c --snmp-community=public --oid-filter ifDesc --oid-display ifDesc --snmp-autoreduce
List interfaces:
'D-Link Corporation DGS-1100-16 1.01.B056 Port 1' [speed = 1000, status = up, id = 1]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 10' [speed = , status = down, id = 10]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 11' [speed = , status = down, id = 11]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 12' [speed = 1000, status = up, id = 12]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 13' [speed = , status = down, id = 13]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 14' [speed = , status = down, id = 14]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 15' [speed = 1000, status = up, id = 15]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 16' [speed = , status = down, id = 16]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 2' [speed = 1000, status = up, id = 2]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 3' [speed = 100, status = up, id = 3]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 4' [speed = 1000, status = up, id = 4]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 5' [speed = 1000, status = up, id = 5]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 6' [speed = , status = down, id = 6]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 7' [speed = , status = down, id = 7]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 8' [speed = , status = down, id = 8]
'D-Link Corporation DGS-1100-16 1.01.B056 Port 9' [speed = 1000, status = up, id = 9]
En gras les ports actifs, commençons par la première interface Port 1. Ajoutez un service dans la partie configuration des services. Nommez le service Interface-port1, choisissez l'hôte précédemment créé switch-dlink et sélectionnez le modèle de service stpl-net-dlink-standard-name-traffic.
Stacks Image 1243848
Il vous restera à rajouter le nom de l'interface comme indiqué précédemment donc Port 1$ et c'est tout ! sauvegardez. Pour rajouter les 7 autres, voici une petite astuce de duplication de service.
.
Stacks Image 1243853
Filtrer sur le nom d'hôte, cochez le service à dupliquer et saisissez 7 dans le champ à droite pour indiquer que l'on veut 7 exemplaires de ce service.
.
Stacks Image 1243858
Sélectionnez l'action dupliquer et acceptez la commande.
.
Stacks Image 1243863
Vous avez 7 nouveaux services indentés automatiquement, il ne vous reste plus qu'à les modifier (nom du service et nom du port) afin d'obtenir ceci.
.
Stacks Image 1243868
Voici le résultat après application de la configuration.
Stacks Image 1243873

5 Agrégation de données de performances

Voici un exemple de ce qu'on peut faire avec les plugins centreon, la manipulation des données de performances. Voici le contexte, j'ai un NAS avec plusieurs interfaces réseaux, avec l'utilisation d'un switch gigabit, il aurait été dommage de ne pas pouvoir profiter de l'agrégation de port. Je ne l'ai pas activé coté switch mais coté NAS comme le montre cette copie d'écran.
Stacks Image 1243878
Nous allons tenter d'agréger les deux ports utilisés pour ce NAS afin d'obtenir la somme du trafic des ces deux ports (les ports 2 et 12). Nous ajoutons les deux ports dans le paramètre interface (--interface='Port 2$|Port 12$' )
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=interfaces --snmp-autoreduce --oid-filter ifDesc --oid-display ifDesc --host=192.168.1.149 --snmp-version=2c --snmp-community=public --interface='Port 2$|Port 12$'  --name --add-traffic --add-status --warning-in-traffic=50 --critical-in-traffic=70 --warning-out-traffic=50 --critical-out-traffic=70
OK: All interfaces are ok | 'traffic_in_D-Link Corporation DGS-1100-16 1.01.B056 Port 12'=14945.96b/s;0:500000000;0:700000000;0;1000000000 'traffic_out_D-Link Corporation DGS-1100-16 1.01.B056 Port 12'=14669.54b/s;0:500000000;0:700000000;0;1000000000 'traffic_in_D-Link Corporation DGS-1100-16 1.01.B056 Port 2'=6194.25b/s;0:500000000;0:700000000;0;1000000000 'traffic_out_D-Link Corporation DGS-1100-16 1.01.B056 Port 2'=3868.00b/s;0:500000000;0:700000000;0;1000000000
Nous avons maintenant 4 métriques correspondants aux deux ports in et out. Nous allons réduire le nom des métriques en utilisant l'option change-perfdata.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=interfaces --snmp-autoreduce --oid-filter ifDesc --oid-display ifDesc --host=192.168.1.149 --snmp-version=2c --snmp-community=public --interface='Port 2$|Port 12$'  --name --add-traffic --add-status --warning-in-traffic=50 --critical-in-traffic=70 --warning-out-traffic=50 --critical-out-traffic=70 --change-perfdata='traffic_in_D-Link Corporation DGS-1100-16 1.01.B056',target_in_,, --change-perfdata='traffic_out_D-Link Corporation DGS-1100-16 1.01.B056',target_out_,,
OK: All interfaces are ok | 'target_in_ Port 12'=3514.13b/s;0:500000000;0:700000000;0;1000000000 'target_out_ Port 12'=5955.56b/s;0:500000000;0:700000000;0;1000000000 'target_in_ Port 2'=1997.69b/s;0:500000000;0:700000000;0;1000000000 'target_out_ Port 2'=5000.36b/s;0:500000000;0:700000000;0;1000000000
Grâce à cette option, la chaîne traffic_in_D-Link Corporation DGS-1100-16 1.01.B056 est transformé en traffic_in_ et la chaine traffic_out_D-Link Corporation DGS-1100-16 1.01.B056 en traffic_out_. Maintenant, avec l'option extend-perfdata-group nous allons faire la somme des métriques in et out.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=interfaces --snmp-autoreduce --oid-filter ifDesc --oid-display ifDesc --host=192.168.1.149 --snmp-version=2c --snmp-community=public --interface='Port 2$|Port 12$'  --name --add-traffic --add-status --warning-in-traffic=50 --critical-in-traffic=70 --warning-out-traffic=50 --critical-out-traffic=70 --change-perfdata='traffic_in_D-Link Corporation DGS-1100-16 1.01.B056',target_in_,, --change-perfdata='traffic_out_D-Link Corporation DGS-1100-16 1.01.B056',target_out_,, --extend-perfdata-group=',traffic_in,sum(target_(in))' --extend-perfdata-group=',traffic_out,sum(target_(out))'
OK: All interfaces are ok | 'target_in_ Port 12'=3420.91b/s;0:500000000;0:700000000;0;1000000000 'target_out_ Port 12'=6618.53b/s;0:500000000;0:700000000;0;1000000000 'target_in_ Port 2'=3312.28b/s;0:500000000;0:700000000;0;1000000000 'target_out_ Port 2'=5943.51b/s;0:500000000;0:700000000;0;1000000000 'traffic_in'=6733.19;;;; 'traffic_out'=12562.04;;;;
Les métriques indiquées en gras sont les agrégats du traffic in et out des deux ports. Il nous reste à supprimer les métriques devenues inutiles avec l'option filter-perfdata.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=network::dlink::standard::snmp::plugin --mode=interfaces --snmp-autoreduce --oid-filter ifDesc --oid-display ifDesc --host=192.168.1.149 --snmp-version=2c --snmp-community=public --interface='Port 2$|Port 12$'  --name --add-traffic --add-status --warning-in-traffic=50 --critical-in-traffic=70 --warning-out-traffic=50 --critical-out-traffic=70 --change-perfdata='traffic_in_D-Link Corporation DGS-1100-16 1.01.B056',target_in_,, --change-perfdata='traffic_out_D-Link Corporation DGS-1100-16 1.01.B056',target_out_,, --extend-perfdata-group=',traffic_in,sum(target_(in))' --extend-perfdata-group=',traffic_out,sum(target_(out))' --filter-perfdata=traffic
OK: All interfaces are ok | 'traffic_in'=7367.88;;;; 'traffic_out'=21064.37;;;;
Pour la configuration dans Centreon, pas de souci, il suffit de créer un nouveau service comme ceci :
Stacks Image 1243899
Ce qui donne cela au bout de 12 heures de fonctionnement, l'exemple n'est pas très représentatif car il n'y a que du trafic sortant mais on distingue bien l'agrégation des deux liens approximativement.
Stacks Image 1243904
J'espère que cet article vous a plu, j'essaierai de renouveler l'expérience.
comments powered by Disqus
comments powered by Disqus
 Vous êtes ici: