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
Publicité :)
Articles récents
- Memento VI – Boostez Votre Productivité avec Vi : Trucs et Astuces à Connaître
- Configuration de Nginx pour Obtenir l’IP Réelle des Visiteurs avec CloudFlare
- Récupérer les informations d’un Ordinateur Terra à partir du numéros de série avec Python
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc…
- Failed to Start File System Check – Vcenter 7
Mot-clefs
Commentaires récents
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc… dans
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc… dans
- Rotation des logs avec logrotate dans
- Hôte déconnecté sur le Vcenter. Impossible de se connecter à l’ESX. dans
- Pourquoi mon interface vlan ne veut pas devenir up ? dans
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.