Nagios/Centreon : Superviser la bande-passante sur un serveur Linux

I.  Introduction :

Il est souvent très utile de connaître la bande passante utilisée sur un serveur. Pour cela, nous aurons besoin du plugin stat_net.pl écrit par « nagiosexchange » et disponible sur le site « exchange.nagios.org« . Par précautions, nous le mettons également à disposition un peu plus loin dans cet article mais vous pouvez également le retrouver ici.

Et nous utiliserons également NRPE pour exécuter la commande. Étant donné que notre serveur NRPE (le serveur distant) doit être configurer pour n’écouter que votre serveur nagios, cela limite les risques d’intrusion et ne pourra que récupérer des informations !

II.  Préparatifs :

Avant tout, assurez-vous que votre serveur NRPE est configuré pour n’écouter que votre serveur Nagios :

Fichier /etc/nagios/nrpe.cfg

allowed_hosts='adresseDuServeurNagios'

Assurez-vous également que votre serveur NRPE accepte le passage d’argument :

Fichier /etc/nagios/nrpe.cfg

dont_blame_nrpe=1

Si vous avez dû apporter ces modifications, redémarrer le serveur nrpe et le service snmp :

/etc/init.d/nagios-nrpe-serveur restart

III.  Installation du plugin :

Positionnez-vous dans le répertoire de vos plugins sur le serveur distant, et téléchargez le « check_iftraffic43.pl » :

Télécharger stat_net.pl

N’oubliez pas de donner les droits à l’utilisateur nagios :

chmod 775 stat_net.pl
 chown -R nagios:nagios stat_net.pl

Ensuite, il faut ajouter la commande dans la configuration de NRPE. Éditez le fichier « /etc/nagios/nrpe.cfg » et dans la section « COMMAND DEFINITIONS » :

command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
 command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
 command[check_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
 command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
 command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p

Ajoutez-y la commande suivante :

command[check_statnet]=/usr/lib/nagios/plugins/stat_net.pl -w $ARG1$ $ARG2$

Adaptez bien sûr évidemment la commande, notamment le chemin où vous avez mis votre plugin (/usr/lib/nagios/plugins/). Ici, nous avons besoin de peu d’argument, le plugin ne gére que les warnings en utilisant l’argument « -w ». $ARG1$ et $ARG2$ sont des variables que nous utiliserons, la première va permettre d’indiquer en pourcentage le seuil de warning et la seconde, l’interface sur laquelle nous devons l’appliquer.

Pensez à redémarrer le service NRPE :

/etc/init.d/nagios-nrpe-server restart

IV.  Configuration dans Centreon :

Commençons par créer la commande dans Centreon, rendez vous dans « Configuration → Commandes → Ajouter ».

Adaptez également ici la commande en fonction de votre configuration. Choisissez comme modèle de graphique « Traffic » que nous modifierons légérement plus tard.

Il ne vous reste plus qu’à créer le service comme suit dans « Configuration → Services → Ajouter ». Dans le champ « Commande de vérification », choisissez la commande que nous venons de créer et les arguments à indiquer sont le seuil de warning et l’interface à surveiller dans le champ « Arguments » comme suit : «!80!eth0 ».
Remplissez les autres champs en fonction toujours de votre configuration.

N’oubliez pas de l’associer à un hôte dans l’onglet « Relations » !

V.  Les graphiques dans Centreon :

Pour configurer les graphiques de notre plugin, rendez-vous dans « Vues -> Graphiques -> Modèles » et cliquez sur « Traffic ». La seule chose que nous modifierons ici est le champ « Value ». Le plugin renvoie des valeurs en « Byte » donc pour plus de clarté, je vous conseille de mettre dans ce champs « Bytes ».

Ensuite, allez sur la page « Vues -> Graphiques -> Courbes ». Avant d’aller plus loin, il faut savoir qu’une interface surveillée est égale à deux courbes (réception et transmission) qui porteront le nom de l’interface suivi de « in » ou « out ». Commençons à créer une courbe en remplissant les champs comme suit :

– Nom du modèle : stat_net-eth0_in

– Nom de la source de données : eth0_in

– Remplissez le reste des champs en fonction de notre configuration.

Exemple :

Répétez l’opération pour la courbe de transmission (out) avec les valeurs suivantes :

– Nom du modèle : stat_net-eth0_out

– Nom de la source de données : eth0_out

Et si vous surveillez une interface qui s’appelle eth1, vous devez répéter ces deux opérations en remplaçant eth0 par eth1 !

2 comments

  1. Pinsivy Laurent - Répondre

    Salut,

    petit tuto sympa mais il faudrait préciser qu’il est possible d’utiliser également SNMP v3 qui chiffre les transactions et donc n’oblige pas l’utilisation de NRPE + SNMP local 😉

    Du coup des plugins comme check_centreon_snmp_traffic fonctionnent.

    Bon courage pour la suite

  2. Mathieu Maura - Répondre

    Merci beaucoup pour ce script, que j’utilise maintenant avec nagios.

    Contrairement à ce qu’a écrit Laurent il n’est pas nécessaire d’installer snmp en local, puisque le script fait la lecture de /proc/net/dev.

    Personnellement, je préfère nrpe à snmp pour les serveurs.

Leave Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *