Juil
23
2009

[Plugin Nagios] Supervision des erreurs sur les interfaces des équipements réseau


Suite à des problèmes que j’ai rencontré, j’ai décidé de superviser les interfaces de mes équipements réseau. Je n’ai pas trouvé de plugin de ce type donc j’en ai créé un.

Mon plugin n’est pas du tout optimisé car je ne suis pas un grand développeur (même plutôt un débutant). je viens juste de le mettre en prod donc il est peut-être bugger.

Ce plugin ne gère pas les différentes version d’SNMP. A vous de l’adapter.

Information sur le plugin :

Celui-ci va récupérer via SNMP des compteurs. Le problème des équipements Cisco est qu’on ne peut pas réinitialiser les compteurs SNMP. Donc j’ai dû faire un système de mémorisation puis de comparaison pour ne pas avoir des alertes constamment dans mon interface Nagios. De cette manière, une erreur critique apparaît seulement lorsque l’un des compteurs est superieur au check précédent.

Erreurs supervisées par le plugin :

· Input Errors : Erreur sur l’interface en entrée

· Output Errors : Erreur sur l’interface en sortie

· Input Discards : Problème de buffer en entrée

· Output Discards : Problème de buffer en sortie

Emplacement du script :

/usr/local/nagios/libexec/check_io_error.pl

Ce script doit avoir les droits 755.

Mémorisation :

Pour mémoriser, au premier check avec des erreurs, je créé un fichier de ce type pour l’interface:

Fa0/1:0:155:0:0

Ce fichier sera créé dans /tmp (modifiable dans le script)

Utilisation :

./check_io_error.pl -C public -HOSTADDRESS IP_Equipement

Commande Nagios :

$USER1$/check_io_error.pl -HOSTADDRESS $HOSTADDRESS$ -C $ARG1$ -cr $ARG2$

Code de sortie:

Les erreurs critiques :

**CRITICAL** :Fa6/0/1 :ifInDiscards=0, Fa6/0/1 :ifInErrors=58365499, Fa6/0/1 :ifOutDiscards=0, Fa6/0/1 :ifoutErrors=0,

Cette erreur montre que depuis le dernier check, il y’a eu des erreurs en entrée sur l’interface Fa6/0/1

Les sorties sans erreur :

OK : PAS DE PROBLEME : Cela veut dire qu’il n’y a jamais eu d’erreur sur les interfaces de cet équipement.

OK : PAS DE NOUVELLES ERREURS : Cela veut dire qu’il y a déjà eu des erreurs dans le passé mais il n’y a pas d’erreur depuis

Réinitialiser les compteurs après résolution du problème

Pour réinitialiser les compteurs, il suffi de supprimer le fichier correspondant à l’interface en erreur dans le répetoire /tmp

Se répertoire peut être redéfini au début du plugin.

Téléchargement :

Vous pouvez le télécharger ici.

Troubleshooting :

http://www.cisco.com/en/US/products/hw/switches/ps700/products_tech_note09186a008015bfd6.shtml#l3_l2

Au sujet de l'auteur: Olivier Legras

Auteur de ce Blog, je partage quelques unes de mes notes que je juge utile à vous comme à moi. Je suis très heureux de voir que mon blog a de plus en plus d'affluence. Merci à vous!

4 Comments + Add Comment

  • Bonjour, je souhaite effectuer des détections sur les ports de switch cisco dans mon projet de travail sur nagios :

    – Charge CPU %
    – Input errors pour chaque interface
    – Output errors
    – Collisions
    – status
    – Débit Entrant
    – Débit Sortant

    -avec la commande suivante je peux récupérer l’état des ports:
    => snmpwalk -v1 -c public 10.4.4.221 IF-MIB::ifOperStatus
    mais étant débutant:
    déjà, je ne sais pas ou mettre cette commande pour qu’elle s’exécute dans nagios, je suis pas fort en script shell et je ne comprend pas peux tu m’aider à faire un script plus simple.

  • Pour l’instant mon switch est juste détecté dans nagios avec le port n°1

    Merci de votre aide

  • Bonjour Admin:

    Pour la supervision des erreurs sur les interfaces des équipements réseau cisco
    peux-tu m’aider à en faire un plus simple que le tiens
    merci

  • Bonjour,

    Dans mes vieux souvenir, dans mon script, nous pouvons ajouter autant d’oid que nous voulons.

    #Définition des OID
    %oid = (
    ifName => “1.3.6.1.2.1.31.1.1.1.1”,
    ifInDiscards => “1.3.6.1.2.1.2.2.1.13”,
    ifInErrors => “1.3.6.1.2.1.2.2.1.14”,
    ifOutDiscards => “1.3.6.1.2.1.2.2.1.19”,
    ifoutErrors => “1.3.6.1.2.1.2.2.1.20”
    );

    Il suffi de modifier ou d’ajouter les Oid en suivant l’exemple et le tour est joué!

    Tiens moi au courant.

Laissez un commentaire