Injecter des MIBs

Répondre
Cymmus
Messages : 5
Enregistré le : 05 janvier 2017, 16:43

Injecter des MIBs

Message par Cymmus » 20 mars 2017, 09:29

Bonjour à tous.

Je me résous à poster car je n'ai pas trouvé la solution sur le forum et dans les docs ou alors je suis passé à coté.

J'explique le contexte.

Je suis débutant en Linux et supervision on ma donné la charge de monter un serveur de supervision pour les équipements d'un gros clients Routeurs/Switchs, Serveurs, Bornes Wifi etc.

Ma supervision active fonctionne bien mais étant donné la quantité d'équipements et ne voulant pas saturer le réseau je voudrais plutôt utiliser des traps. Je voudrais donc récupérer les MIBs dont j'ai besoin et les injecter dans mon serveur EoN.

Et c'est là que je bloque, je n'ai pas trouvé la solution ni sur le fofo ni chez l'ami google.

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

Re: Injecter des MIBs

Message par Seb » 20 mars 2017, 09:45

Hello!
Les traps c'est sympa MAIS prends bien en compte que tu ne seras informé que quand l'équipement aura un problème, pas d'anticipation possible car c'est ses sondes qui enverront une trap quand un incident sera détecté. Difficile de faire de le prévention dans ce cadre.
De plus en choisissant ce mode pour tous tes équipements tu vas te compliquer sérieusement la tâche car chaque constructeur utilise ses propres mibs, tu vas devoir toutes les récupérer (euh pas toutes toutes, juste les mibs de traps) et les injecter dans eon.

Il y a un petit sujet traitant de ça, parcours et dis nous quoi ;)

viewtopic.php?f=6&t=1486&p=11243&hilit=snmptt#p11243
"Mieux vaut cent chevaux sous une selle que d'un âne assis dessus"
Joe dans son bar servant un de ses clients...JBT

Cymmus
Messages : 5
Enregistré le : 05 janvier 2017, 16:43

Re: Injecter des MIBs

Message par Cymmus » 20 mars 2017, 13:46

Merci de la réponse rapide. Je vais regarder ça.

Pour le choix entre supervision active et passive j'utilise les 2 en fait. Je fait un check host alive sur mes équipements pour m'assurer qu'ils soit joignables et je veux effectivement que ce soit eux qui me préviennent en cas de problème pour ne pas avoir des centaines de requêtes pour les services.

Au niveau des constructeur c'est principalement du Cisco mais il me faut aussi Windows, Alcatel, Ucopia. Après je vais pas non plus avoir énormément d'OIDs c'est une supervision minimale des équipements réseaux.

Cymmus
Messages : 5
Enregistré le : 05 janvier 2017, 16:43

Re: Injecter des MIBs

Message par Cymmus » 22 mars 2017, 11:35

Est-il possible que mon snmpwalk fonctionne correctement et lise tout les OIDs sur un equipement mais qu'il reçoive des unknows traps de celui-ci ?

Cymmus
Messages : 5
Enregistré le : 05 janvier 2017, 16:43

Re: Injecter des MIBs

Message par Cymmus » 22 mars 2017, 16:13

Bon j'ai parcouru un peu les forums. Le snmpwalk n'a rien a voir avec le snmptrap.

Du coup j'ai vu qu'il fallait utiliser la commande snmpttconvertmib pour pour que les traps n'arrive plus comme unknow. Nouveau problème en utilisant cette commande je me retrouve avec l'erreur "Cannot adopt OID" en cherchant un peu ce serait du soit à au fichier de conf snmp qui ne prendrai pas en compte toutes les MIBs soit parce que ma MIB à des dépendances.

Petite question comment je peux voir si ma MIB à des dépendance et sachant que je n'ai pas de fichier snmp.conf dans /etc/snmp mais snmpd.conf et snmptrapd.conf et que je n'ai pas trouvé de ligne "mibsdir /usr/share/snmp/mibs/" ou de "mibs all" ?

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

Re: Injecter des MIBs

Message par Seb » 23 mars 2017, 10:18

Je pourrais te dire : je t'avais prévenu, LOL

En gros pour tes traps...

1-Copier ta mib traps constructeur (genre pour nas netgear READYNAS-MIB.txt) dans /usr/share/snmp/mibs/
2-Faire /srv/eyesofnetwork/snmptt/bin/snmpttconvertmib --in=/usr/share/snmp/mibs/READYNAS-MIB.txt --out=/srv/eyesofnetwork/snmptt/etc/mibs/snmptt.conf.READYNAS-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" "$*" "$*"'

ça c'est juste pour avoir le remonté dans "GED", pour une traps vers un service nagios passif en plus, prenons par exemple une traps de backup job netgear vers un service nommé... Backup_job:

/srv/eyesofnetwork/snmptt/bin/snmpttconvertmib --in=/usr/share/snmp/mibs/READYNAS-MIB.txt --out=/srv/eyesofnetwork/snmptt/etc/mibs/snmptt.conf.READYNAS-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 Backup_job 2 "$+*"'

Dans ce cas la traps concerne un "failed" donc le status renvoyé est de "2" soit critical.... Pour filter cet event j'ai ajouté une ligne dans le
/srv/eyesofnetwork/snmptt/etc/mibs/snmptt.conf.READYNAS-MIB.txt généré ainsi:

MATCH $+*: (aborted) dans la traps qui m'interesse:

EVENT backupNotice .1.3.6.1.4.1.4526.18.300.0.100 "Status Events" CRITICAL
FORMAT $*
MATCH $+*: (aborted)
EXEC /srv/eyesofnetwork/ged/scripts/ged-snmptt "$r" "$N" "$s" "$+*" "$D" "$aA" "$r" "" "$c" "$*" "$*"
EXEC /srv/eyesofnetwork/nagios/plugins/eventhandlers/submit_check_result $ar Backup_job 2 "$+*"
SDESC
Backup job status nok.
EDESC

Donc quand la traps de job contient le mot aborted, je génère un result 2 dans le service qui va bien... Tu peux la répliquer/decliner ainsi:

EVENT backupNotice .1.3.6.1.4.1.4526.18.300.0.100 "Status Events" INFORMATIONAL
FORMAT $*
MATCH $+*: !(finished|aborted)
EXEC /srv/eyesofnetwork/ged/scripts/ged-snmptt "$r" "$N" "$s" "$+*" "$D" "$aA" "$r" "" "$c" "$*" "$*"
SDESC
Backup job status info.
EDESC
#
#
#
EVENT backupNotice .1.3.6.1.4.1.4526.18.300.0.100 "Status Events" INFORMATIONAL
FORMAT $*
MATCH $+*: (finished)
EXEC /srv/eyesofnetwork/ged/scripts/ged-snmptt "$r" "$N" "$s" "$+*" "$D" "$aA" "$r" "" "$c" "$*" "$*"
SDESC
Backup job status ok.
EDESC
#
#
#

Ou là je prends les autres possiblités que j'injecte juste dans GED ;), préférant remettre en ok nagios à la main, genre la panne est traité!

3-Editer /srv/eyesofnetwork/snmptt/etc/snmptt.ini et ajouter à la fin:
/srv/eyesofnetwork/snmptt/etc/mibs/snmptt.conf.READYNAS-MIB.txt

4- systemctl restart snmptt

5-En prime, ajouter ceci dans snmptrapd.conf pour passer le contenu de traps en ascii et pas en hex (utile pour ma backup info):

outputoption a n

Puis systemctl restart snmptrapd

6-Creer un service avec uniquement check passif appelé "Backup_job" sur l'équipement qui va bien, en commande utiliser check_dummy_ok pour pouvoir repasser le service en ok à la main.


J'espère avoir fait le tour de la question, comme dit je t'avais prévenu que les traps ce n'était pas simple comme approche mais ça fait le job quand même!
"Mieux vaut cent chevaux sous une selle que d'un âne assis dessus"
Joe dans son bar servant un de ses clients...JBT

Cymmus
Messages : 5
Enregistré le : 05 janvier 2017, 16:43

Re: Injecter des MIBs

Message par Cymmus » 23 mars 2017, 10:56

:shock: Oua !

Effectivement pour le novice que je suis, ça ne vas pas être de la tarte. Mais bon j'ai vraiment envie d'avoir mes traps alors je vais me fatiguer la rétine et faire chauffer la cafetière.

En tous cas merci pour les infos.

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

Re: Injecter des MIBs

Message par aston-95 » 21 avril 2017, 11:48

Bonjour,

Je dois faire de même mais pour un SNMP trap de Storm control mais il y'a des étapes que je ne comprends pas.

Tout d'abord dans l'étape 2 quand l'on tape la commande :

/srv/eyesofnetwork/snmptt/bin/snmpttconvertmib --in=/usr/share/snmp/mibs/READYNAS-MIB.txt --out=/srv/eyesofnetwork/snmptt/etc/mibs/snmptt.conf.READYNAS-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 Backup_job 2 "$+*"'

Après l'avoir adapté pour mon cas, je me retrouve avec de nombreuses erreurs : Cannot adopt OID in ... et à la fin :
Total translations: 2
Successful translations: 0
Failed translations: 2

Alors voilà ma première question : dois-je supprimer ce qui est "inutile" dans mon fichier situer dans "/usr/share/snmp/mibs" ?

Et ma deuxième question : au niveau du check_dummy_ok , le check n'est pas d'origine, comment puis-je ajouter ce check (a travers un nouveau service je suppose).

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

Re: Injecter des MIBs

Message par Seb » 21 avril 2017, 23:54

Tu ne dois pas avoir des mibs de traps ou il te manque des dépendances de mibs peut être
"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 » 21 avril 2017, 23:57

Je n'ai pas mis d'autres MIB et je n'ai pas fait le tri des MIBs dans le fichier que j'ai trouvé effectivement. Cependant je ne comprend ce qu'il faut enlever, ou plutot ce que je dois garder

Répondre