PDA

View Full Version : TRAP SNMP à plusieurs status


romu
09-25-2008, 01:40 PM
Bonjour,

J'ai mis en place la gestion des TRAP pour un controleur RAID Compaq (cpqida.mib) sous Centreon 1.4.2.7. J'ai associé toutes les TRAP du RAID à un seul service. Tout fonctionne bien. Par contre avec Centreon et snmptt, chaque TRAP est associée à un unique status pour Nagios. Le problème est que certaines TRAP Compaq peuvent avoir différents status et par exemple notifier un retour à la normal (OK).
Par exemple la TRAP 3034 me notifie d'un changement de status au niveau des disques. La variable 6 permet d'avoir la valeur du status.

Voici la conf utilisée par snmptt pour cette TRAP:

EVENT cpqDa6LogDrvStatusChange .1.3.6.1.4.1.232.0.3034 "Status Event" 2
FORMAT Logical Drive Status Change (3034): Status is now $6.
EXEC /usr/local/nagios/libexec/traps/trapHandler $aA $A $o "Logical Drive Status Change (3034): Status is now $6."
SDESC
Logical Drive Status Change.
This trap signifies that the agent has detected a change in the
status of a drive array logical drive. The variable
cpqDaLogDrvStatus indicates the current logical drive status.
Variables:
1: sysName
2: cpqHoTrapFlags
3: cpqDaCntlrHwLocation
4: cpqDaLogDrvCntlrIndex
5: cpqDaLogDrvIndex
6: cpqDaLogDrvStatus
EDESC

En contenant la variable $6, le commentaire dépend du status. Par contre le "Status Event" vaut toujours 2 (CRITICAL).

D'où ma question : Est-il possible avec snmptt de gérer un status différent en fonction d'une variable de la TRAP ?

surcouf
09-25-2008, 06:29 PM
Bonjour,

J'ai mis en place la gestion des TRAP pour un controleur RAID Compaq (cpqida.mib) sous Centreon 1.4.2.7. J'ai associé toutes les TRAP du RAID à un seul service. Tout fonctionne bien. Par contre avec Centreon et snmptt, chaque TRAP est associée à un unique status pour Nagios. Le problème est que certaines TRAP Compaq peuvent avoir différents status et par exemple notifier un retour à la normal (OK).
Par exemple la TRAP 3034 me notifie d'un changement de status au niveau des disques. La variable 6 permet d'avoir la valeur du status.

Voici la conf utilisée par snmptt pour cette TRAP:

EVENT cpqDa6LogDrvStatusChange .1.3.6.1.4.1.232.0.3034 "Status Event" 2
FORMAT Logical Drive Status Change (3034): Status is now $6.
EXEC /usr/local/nagios/libexec/traps/trapHandler $aA $A $o "Logical Drive Status Change (3034): Status is now $6."
SDESC
Logical Drive Status Change.
This trap signifies that the agent has detected a change in the
status of a drive array logical drive. The variable
cpqDaLogDrvStatus indicates the current logical drive status.
Variables:
1: sysName
2: cpqHoTrapFlags
3: cpqDaCntlrHwLocation
4: cpqDaLogDrvCntlrIndex
5: cpqDaLogDrvIndex
6: cpqDaLogDrvStatus
EDESC

En contenant la variable $6, le commentaire dépend du status. Par contre le "Status Event" vaut toujours 2 (CRITICAL).

D'où ma question : Est-il possible avec snmptt de gérer un status différent en fonction d'une variable de la TRAP ?
As-tu « compilé » le MIB en question avec les différents supports du module Perl de Net-SNMP pour SNMPtt ? Si non, essaie de l'activer.

romu
09-26-2008, 02:38 PM
As-tu « compilé » le MIB en question avec les différents supports du module Perl de Net-SNMP pour SNMPtt ? Si non, essaie de l'activer.

Je ne suis pas sûr d'avoir compris votre réponse.
Le fichier de conf dont j'ai fourni un extrait a été généré par Centreon à partir de la MIB en utilisant 'snmpttconvertmib'. Dans celui-ci, chaque TRAP contient un status constant.
De plus le chargement de la MIB dans Centreon génère les TRAPs. De même, chaque TRAP est associée à status constant.

Mon objectif est d'avoir un status dépendant d'une variable de la TRAP comme c'est le cas pour les messages affichés.

Je ne sais pas si je suis clair ?

surcouf
09-26-2008, 04:12 PM
Je ne suis pas sûr d'avoir compris votre réponse.
Le fichier de conf dont j'ai fourni un extrait a été généré par Centreon à partir de la MIB en utilisant 'snmpttconvertmib'. Dans celui-ci, chaque TRAP contient un status constant.
De plus le chargement de la MIB dans Centreon génère les TRAPs. De même, chaque TRAP est associée à status constant.

Mon objectif est d'avoir un status dépendant d'une variable de la TRAP comme c'est le cas pour les messages affichés.

Je ne sais pas si je suis clair ?

C'est moi qui ne l'ai pas été. J'ai pris la peine de mettre le terme compiler entre guillements parce qu'il s'agit d'un abus de langage compte tenu du fait que la commande snmpttconvertmib ne fait que convertir la MIB en un fichier de configuration.
Toutefois, je faisais directement référence à son option --net_snmp_perl :

If the entry contains variables, the variables are listed in the DESC section. If --net_snmp_perl is specified, the syntax, description and enums for each variable is used.
http://snmptt.sourceforge.net/docs/snmpttconvertmib.shtml

julio
09-27-2008, 11:10 PM
Bonjour,

J'ai mis en place la gestion des TRAP pour un controleur RAID Compaq (cpqida.mib) sous Centreon 1.4.2.7. J'ai associé toutes les TRAP du RAID à un seul service. Tout fonctionne bien. Par contre avec Centreon et snmptt, chaque TRAP est associée à un unique status pour Nagios. Le problème est que certaines TRAP Compaq peuvent avoir différents status et par exemple notifier un retour à la normal (OK).
Par exemple la TRAP 3034 me notifie d'un changement de status au niveau des disques. La variable 6 permet d'avoir la valeur du status.

Voici la conf utilisée par snmptt pour cette TRAP:

EVENT cpqDa6LogDrvStatusChange .1.3.6.1.4.1.232.0.3034 "Status Event" 2
FORMAT Logical Drive Status Change (3034): Status is now $6.
EXEC /usr/local/nagios/libexec/traps/trapHandler $aA $A $o "Logical Drive Status Change (3034): Status is now $6."
SDESC
Logical Drive Status Change.
This trap signifies that the agent has detected a change in the
status of a drive array logical drive. The variable
cpqDaLogDrvStatus indicates the current logical drive status.
Variables:
1: sysName
2: cpqHoTrapFlags
3: cpqDaCntlrHwLocation
4: cpqDaLogDrvCntlrIndex
5: cpqDaLogDrvIndex
6: cpqDaLogDrvStatus
EDESC

En contenant la variable $6, le commentaire dépend du status. Par contre le "Status Event" vaut toujours 2 (CRITICAL).

D'où ma question : Est-il possible avec snmptt de gérer un status différent en fonction d'une variable de la TRAP ?


Ok je vois tout à fait le probleme. Il serait je pense utile que tu ouvre sur le trac un ticket pour mettre tout cela au clair. Nous pouvons je pense mettre ca en place assez facilement.

Merci d'avance. Cela peut se caser dans la 2.1 ou 2.2 sans problème.

romu
09-30-2008, 07:26 PM
C'est moi qui ne l'ai pas été. J'ai pris la peine de mettre le terme compiler entre guillements parce qu'il s'agit d'un abus de langage compte tenu du fait que la commande snmpttconvertmib ne fait que convertir la MIB en un fichier de configuration.
Toutefois, je faisais directement référence à son option --net_snmp_perl :


http://snmptt.sourceforge.net/docs/snmpttconvertmib.shtml

C'est Centreon qui génère la conf snmptt.
En regardant dans le code, il n'a pas l'air d'utiliser cette option, en tout cas pour la version 1.4.2.7 que j'utilise.

Mais comme je le disais et le confirme julio, de toute façon l'interface Centreon ne gère qu'un status par trap.

romu
09-30-2008, 07:30 PM
Ok je vois tout à fait le probleme. Il serait je pense utile que tu ouvre sur le trac un ticket pour mettre tout cela au clair. Nous pouvons je pense mettre ca en place assez facilement.

Merci d'avance. Cela peut se caser dans la 2.1 ou 2.2 sans problème.

OK je vais créer un ticket.
Par contre j'utilise la version 1.4.2.7.

Je suis prêt à faire un patch pour la version 1.4.*
Comment pensez-vous faire ? Car il faut pouvoir faire une association de valeur avec un état Nagios. Car en fonction des TRAP, le status OK peut être différent.

julio
09-30-2008, 07:58 PM
Si tu arrive a patcher pour la 1.4, on pourra reprendre les même modifs pour la 2. Il n'y a rien de tres différent...

Waxhiise
10-15-2008, 04:40 PM
Bonjour,

J'ai mis en place la gestion des TRAP pour un controleur RAID Compaq (cpqida.mib) sous Centreon 1.4.2.7. J'ai associé toutes les TRAP du RAID à un seul service. Tout fonctionne bien. Par contre avec Centreon et snmptt, chaque TRAP est associée à un unique status pour Nagios. Le problème est que certaines TRAP Compaq peuvent avoir différents status et par exemple notifier un retour à la normal (OK).
Par exemple la TRAP 3034 me notifie d'un changement de status au niveau des disques. La variable 6 permet d'avoir la valeur du status.

Voici la conf utilisée par snmptt pour cette TRAP:

EVENT cpqDa6LogDrvStatusChange .1.3.6.1.4.1.232.0.3034 "Status Event" 2
FORMAT Logical Drive Status Change (3034): Status is now $6.
EXEC /usr/local/nagios/libexec/traps/trapHandler $aA $A $o "Logical Drive Status Change (3034): Status is now $6."
SDESC
Logical Drive Status Change.
This trap signifies that the agent has detected a change in the
status of a drive array logical drive. The variable
cpqDaLogDrvStatus indicates the current logical drive status.
Variables:
1: sysName
2: cpqHoTrapFlags
3: cpqDaCntlrHwLocation
4: cpqDaLogDrvCntlrIndex
5: cpqDaLogDrvIndex
6: cpqDaLogDrvStatus
EDESC

En contenant la variable $6, le commentaire dépend du status. Par contre le "Status Event" vaut toujours 2 (CRITICAL).

D'où ma question : Est-il possible avec snmptt de gérer un status différent en fonction d'une variable de la TRAP ?

Bonjour, j'ai un probleme de translation avec ma MIB cpqida.mib, mes 52 translation passe en failled, avez vous rencontré se probleme? J'ai essayer avec d'autre MIB certaine passe comme la cpqhost.mib mais d'autre non...
Pourriez vous m'envoyer votre cpqida.mib?

Cordialement,