Injecter des MIBs

Avatar du membre
Seb
Messages : 3452
Enregistré le : 11 février 2009, 17:35
Localisation : Limoges
Contact :

Re: Injecter des MIBs

Message par Seb » 09 juin 2017, 14:32

Il te faut creer une nouvelle commande de notification.
Dupliques la commande notify_by_email_service en par exemple notify_by_email_traps_service
Ensuite modifies la commande en elle même en utilisant ça:

Code : Tout sélectionner

https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/macrolist.html
Reprend l'affichage de sortie de ton service à injecter en notify ;)
"Mieux vaut cent chevaux sous une selle que d'un âne assis dessus"
Joe dans son bar servant un de ses clients...JBT

aston-95
Messages : 55
Enregistré le : 11 avril 2017, 13:14

Re: Injecter des MIBs

Message par aston-95 » 16 juin 2017, 15:10

Une trap SNMP est une information envoyé par un équipement lorsqu’un évènement survient. Contrairement à la requête SNMP, les traps ne peuvent être demandé par le serveur, c’est l’équipement qui prend la décision d’envoyer les informations.
Je vais ici vous apprendre à pouvoir : configurer les traps sur le switch ; faire en sorte qu’elle soit envoyée vers notre serveur de supervision, puis que notre serveur de supervision puisse les traduire et enfin l’intégrer à un service. Ce qui nous permettra de recevoir des mails en cas de problème et d’afficher le service sur Nagvis.
Durant tout le long de cette rubrique je dirais comment faire généralement mais aussi avec un exemple : Faire un trap pour du storm-control.


Configurer une trap sur le switch

Tout d’abord il vous faut activer le paramètre que vous souhaitez surveiller.
Par exemple le storm control que j’ai activé sur l’interface GigabitEthernet1/0/2 avec pour action « shutdown » et « trap».
Image
https://img15.hostingpics.net/pics/837383Image1.png

Configurer l’adresse d’envoi des traps du switch.
Afin de faire en sorte que le switch envoi au serveur de supervision, il vous faut taper cette commande :
Snmp-server host @IP_SERVEUR_SUPERVISION version (1 ou 2c) @COMMUNAUTE_SNMP
Image
https://img15.hostingpics.net/pics/192031Image2.png

Trouver la MIB souhaité qui vous enverra un trap, ici la MIB : CISCO-PORT-STORM-CONTROL-MIB.my
ATTENTION, aller chercher votre MIB sur le site officiel constructeur. Les autres sites vous donneront peut-être des MIBs qui seront dépassé et non adapté.
Mais il vous faut aussi ses dépendances, vous pourrez trouver celle-ci au début du texte de votre MIB dans « IMPORTS ». Ici pour mon cas, SNMPv2-SMI , SNMPv2-CONF et SNMPv2-TC sont déjà présente par défaut dans EON. Il me manque simplement la MIB : CISCO-SMI.my.
Une fois ces deux MIB trouver, copier-les dans le dossier /usr/share/snmp/mibs au format .txt (et donc en enlevant le .my)
Cela étant fait, faîtes la commande :

/srv/eyesofnetwork/snmptt/bin/snmpttconvertmib --in=/usr/share/snmp/mibs/CISCO-PORT-STORM-CONTROL-MIB.txt --out=/srv/eyesofnetwork/snmptt/etc/mibs/snmptt.conf.CISCO-PORT-STORM-CONTROL-MIB.txt --no_variables --no_format_summary --no_format_desc --net_snmp_perl --exec '/srv/eyesofnetwork/ged/scripts/ged-snmptt "$r" "$N" "$s" "$+*" "$D" "$aA" "$r" "" "$c" "$*" "$*"'

Cette commande va permettre de convertir la MIB contenant les traps que vous souhaitez en un format lisible pour Nagios.
Converti : /srv/eyesofnetwork/snmptt/bin/snmpttconvertmib
Le fichier : --in=/usr/share/snmp/mibs/CISCO-PORT-STORM-CONTROL-MIB.txt
Créant un nouveau fichier : --out=/srv/eyesofnetwork/snmptt/etc/mibs/snmptt.conf.CISCO-PORT-STORM-CONTROL-MIB.txt
• Si la traduction est réussie vous devriez alors avoir dans votre fichier : /srv/eyesofnetwork/snmptt/etc/mibs/snmptt.conf.CISCO-PORT-STORM-CONTROL-MIB.txt
• Si elle ne réussit pas alors c’est que une de vos dépendances n’est pas présente/a jour/adapté. Généralement lors de l’exécution de la commande le problème est donné.
Maintenant

Code : Tout sélectionner

#
#
#
#
MIB: CISCO-PORT-STORM-CONTROL-MIB (file:/usr/share/snmp/mibs/CISCO-PORT-STORM-CONTROL-MIB.my) converted on Tue Apr 25 10:54:33 2017 using snmpttconvertmib v1.4
#
#
#
EVENT cpscEventRev1 .1.3.6.1.4.1.9.9.362.0.2 "Status Events" Normal
FORMAT $*
EXEC /srv/eyesofnetwork/nagios/plugins/eventhandlers/submit_check_result $ar Backup_job 2 "$+*" "$*"
SDESC
This notification is sent by the implementation when
a storm event occurs on an interface with respect to
a particular traffic type.
cpscEventRev1 deprecates cpscEvent to make it RFC 2578
compliant. According to section 8.5 of RFC 2578, the next
to last sub-identifier in the name of any newly-defined
notification must have the value zero.
EDESC
#
#
#
EVENT cpscEvent .1.3.6.1.4.1.9.9.362.0.1.1 "Status Events" Normal
FORMAT $*
EXEC /srv/eyesofnetwork/nagios/plugins/eventhandlers/submit_check_result $ar Backup_job 2 "$+*" "$*"
SDESC
This notification is sent by the implementation when
a storm event occurs on an interface with respect to
a particular traffic type.
cpscEvent is deprecated and replaced by cpscEventRev1.
EDESC
C’est ce fichier qui permettra de faire la traduction de l’OID de votre trap (ici .1.3.6.1.4.1.9.9.362.0.1.1 et .1.3.6.1.4.1.9.9.362.0.2)


Tout cela fait, aller dans /srv/eyesofnetwork/snmptt/etc/snmptt.ini et ajouter à la fin du fichier à la suite des autres MIBs, votre MIB converti. Ici : /srv/eyesofnetwork/snmptt/etc/mibs/snmptt.conf.CISCO-PORT-STORM-CONTROL-MIB.txt
Dans ce même fichier (/srv/eyesofnetwork/snmptt/etc/snmptt.ini), aller modifier le paramètre : net_snmp_perl_enable en remplaçant 0 par 1
Puis aller dans /etc/snmp , créer un fichier snmp.conf avec pour texte à l’intérieur « mibs +ALL »

Pour terminer faîtes un « systemctl restart snmptt » et un « systemctl restart snmpd »

Pour vérifier si tout a bien marché vous pouvez utiliser la commande : snmptranslate @OID
• Si la console vous retourne quelque chose comme « enterprises.@OID » ou « private.@OID » ou autre qui ressembleront, alors votre traduction n’a pas marché.
• Si la console vous retourne le nom de votre fichier et après à quoi correspond l’OID que vous avez tapé dans le fichier, alors la traduction à réussi.
Dans notre cas, l’OID que l’on veut traduire est 1.3.6.1.4.1.9.9.362.0.2.
Image

Ma traduction s’est donc bien déroulée.
Maintenant si vous recevez un SNMP Trap de votre switch, alors celui-ci s’affichera dans l’onglet : Active event.
La trap sera classé comme étant en état Normal et vous aurez une information dans la description.
Image

Si vous n’avez rien reçu aller voir le fichier de log : /var/log/messages
Vous devriez pouvoir voir vos SNMP Trap reçu. Si rien de reçu, alors le problème doit se situer au niveau de votre Switch ou après.

Ce que l’on veut maintenant c’est que cette trap soit considéré par Eyes Of Network comme étant une trap avec un statut CRITICAL.
Pour cela il va vous falloir modifier le fichier /srv/eyesofnetwork/snmptt/etc/mibs/snmptt.conf.CISCO-PORT-STORM-CONTROL-MIB.txt que vous avez créé un peu plus tôt.
Dans celui-ci, repérez l’OID/le service que vous souhaitez changer, de mon cas le service « cpsEvent » -> 1.3.6.1.4.1.9.9.362.0.1.1.
Image

Le “Normal” sera le statut qu’affichera la Trap reçu. Vous pouvez la changer en CRITICAL ; WARNING ; UNKNOW. Dans mon cas je vais la changer en CRITICAL.
Après la modification enregistrer n’oubliez pas d’executer les commande : systemctl restart snmptt et systemctl restart snmpd.
Maintenant lorsque nous recevons un SNMP Trap :
Image
L’état est bien en CRITICAL.


Intégrer SNMP Trap à un service Nagios

Maintenant nous voulons intégrer cette SNMP Trap à un service. Cela nous permettra d’afficher sur Nagvis si cet evenement survient et de recevoir un mail.

Pour cela nous allons avoir besoin tout d’abord d’un plugin qui n’est pas présent d’origine. Vous pouvez le trouver sur internet, ce dernier s’appelle « check_dummy ». Transférer ce « check_dummy » sur votre serveur et placer le dans /srv/eyesofnetwork/nagios/plugins.
Modifier les droits dessus pour qu’il puisse être éxécuter.
Chmod 777 check_dummy
Puis ajouter le à la liste des commandes « Administration »> « Configuration Nagios »> « Nagios Commands » > « Add A New Command »
Command Name : Check_dummy
Command Line : $USER1$/check_dummy 0 "State Return to OK Manually"
Command Description : Permet la remise du service en mode "OK" manuellement.

Une fois cela fait, nous pouvons passer à la création du service.
Pour cela ce n’est pas très complexe, soit vous souhaitez intégrer ce service à un groupe, ou a un template ou encore cas par cas mais dans tout les cas aller dans l’onglet « service », « create a new service » ; entrer le nom et la description que vous souhaitez et dans « Service Templates … » ajouter les template : GENERIC_GRAPH et GENERIC_SERVICE
Et dessous choisissez la command « check_dummy ».
Puis « add service ».
Maintenant retourner au niveau de votre console.
Taper la commande suivante :
/srv/eyesofnetwork/snmptt/bin/snmpttconvertmib --in=/usr/share/snmp/mibs/NOM-DE-VOTRE-MIB.txt --out=/srv/eyesofnetwork/snmptt/etc/mibs/snmptt.conf.NOM-DE-VOTRE-MIB.txt --no_variables --no_format_summary --no_format_desc --net_snmp_perl --exec '/srv/eyesofnetwork/ged/scripts/ged-snmptt "$r" "$N" "$s" "$+*" "$D" "$aA" "$r" "" "$c" "$*" "$*"' --exec '/srv/eyesofnetwork/nagios/plugins/eventhandlers/submit_check_result $ar NOM-DE-VOTRE-SERVICE 2 "$+*"'

Si la traduction s’est bien déroulé, aller sur me fichier snmptt.conf.NOM-DE-VOTRE-MIB.txt, vous devriez avoir de nouvelles lignes en comparaison de la dernière fois. Afin que cela fonctionne bien, changer votre « Normal » en « CRITICAL ».
Il ne vous reste plus que à configurer quelque petite chose, aller dans votre onglet service, puis votre service et modifié dans l’onglet « check « les paramètres suivant :
• Maximum check attempts : 4 -> 1 (si vous ne changer pas ce paramètre, vous devrez attendre 4 Trap avant que votre service ne change de status et envoi un mail.
• Active check : disable
• Passive check : enable
Confirmer et aller dans l’onglet « Flapping » et éditer les paramètres.
• Flap Detection : Disable (n’oubliez pas de cocher la case « provide value » pour confirmer)
Puis update.
EXPLICATION : Si vous garder le flapping , alors au bout d’un certains nombres de fois ou votre service aura changer, Nagios va considerer le service en Flapping et va alors désactiver les notifications.

N’oubliez pas d’appliquer la configuration et c’est parti pour le test final.
Test final :
Image
J’envoi maintenant une trap.
Image
J’ai bien reçu pour les deux configurer (pour le service et en général)
Image
Mon service à bien changer d’état
Image
J’ai bien reçu un mail comme quoi il y’a eu un problème le service avec en plus quel type de problèmes.

Je veux revenir à la normale, en mode « Ok » pour cela il faut simplement aller a partir du dashboard sur l’host, cliquer dessus, une fenetre en haut à droite va apparaitre, chosir maintenant le commande « submit Passive Check Result »
Image
Image
Image


Voilà tout !
Modifié en dernier par aston-95 le 21 juin 2017, 10:35, modifié 2 fois.

Avatar du membre
Seb
Messages : 3452
Enregistré le : 11 février 2009, 17:35
Localisation : Limoges
Contact :

Re: Injecter des MIBs

Message par Seb » 19 juin 2017, 15:45

Merciiiiiiiiii :) :) :)
"Mieux vaut cent chevaux sous une selle que d'un âne assis dessus"
Joe dans son bar servant un de ses clients...JBT

aston-95
Messages : 55
Enregistré le : 11 avril 2017, 13:14

Re: Injecter des MIBs

Message par aston-95 » 20 juin 2017, 14:59

Non c'est toi que je remerci, c'était la moindre des choses après toute l'aide que tu m'as donné Seb !

La documentation me semble assez complète cependant il manque à mon gout le debug, c'est à dire les fichiers de configuration et autre à regarder en fonction de l'étape ou vous êtes bloqué. Si vous avez des idées alors n'hésiter pas !

Avatar du membre
Akecc
Messages : 160
Enregistré le : 19 avril 2016, 16:24
Localisation : Saint-Brieuc

Re: Injecter des MIBs

Message par Akecc » 04 septembre 2017, 16:31

Niquel, c'est une partie à rajouter dans la doc je pense !
Merci beaucoup à vous deux !!
"C'est Darwin, tu t'adaptes ou tu dégages" :twisted:

avilo
Messages : 9
Enregistré le : 29 septembre 2016, 08:02

Re: Injecter des MIBs

Message par avilo » 01 février 2018, 17:03

Merci Seb et Aston ,
En suivant votre procédure , j'ai pu mettre en place sur mes switchs aruba un service qui m'informe des tentatives d'intrusions sur mon réseau à partir des traps snmp émises par ces switchs . Je reçois un mél avec le nom du switch , le numéro de port et l'adresse MAC de l'intrus. Avec tout ça c'est un jeu d'enfant de localiser rapidement le fautif . C'est Top :D

Avatar du membre
Seb
Messages : 3452
Enregistré le : 11 février 2009, 17:35
Localisation : Limoges
Contact :

Re: Injecter des MIBs

Message par Seb » 03 février 2018, 07:57

Merci à tous les utilisateurs prenant un peu de leur temps pour contribuer à un bout de docs ;)
"Mieux vaut cent chevaux sous une selle que d'un âne assis dessus"
Joe dans son bar servant un de ses clients...JBT

Répondre