Aller au contenu principal
Version: 21.04

Monitoring SNMP Traps

Configuration de la supervision​

Rendez-vous dans le menu Configuration > Services > Services by host et cliquez sur Add.

  • DĂ©finir une description du service
  • SĂ©lectionnez l'hĂŽte auquel attacher ce service
  • SĂ©lectionnez le modĂšle de service generic-passive-service-custom

image

  • Rendez-vous dans l'onglet Relation et sĂ©lectionnez les traps SNMP

image

  • Cliquez sur Save

Appliquer les changements​

Pour pouvoir exporter les OID présents en base de données en fichier de configuration pour centreontrapd, suivez la procédure suivante :

  1. Rendez-vous dans le menu Configuration > SNMP traps > Generate
  2. Sélectionnez le collecteur vers lequel vous souhaitez exporter les fichiers de configuration
  3. Cochez Generate traps database et Apply configurations
  4. Dans la liste dĂ©roulante Send signal (prĂ©fĂ©rez l’option Reload)
  5. Cliquez sur le bouton Generate
  6. Export the monitoring configuration

Pour aller plus loin​

Modifier le message de sortie​

Utiliser l’ensemble des arguments​

Pour un trap SNMP, lors de la configuration du message de sortie, l’argument $* permet d’afficher l’ensemble des informations (valeur des arguments) contenu au sein du trap SNMP. Cependant, il est possible d’afficher uniquement certaines informations contenues au sein du trap SNMP en appelant unitairement les arguments.

Exemple : image

Le message de sortie Link down on interface $2. State: $4.” permet d’afficher uniquement le nom de l’interface et l’état de celle-ci (argument $2 et $4).

OĂč trouver les arguments ?

Les arguments se trouvent au sein de la documentation de la MIB de votre constructeur ou bien au sein du champ Comments de votre trap SNMP.

Par exemple : image

Pour afficher :

  • L’index du lien tombĂ©, utilisez l’argument $1
  • Le nom de l’interface tombĂ©e, utilisez l’argument $2
  • L’état administratif de l’interface, utilisez l’argument $3
  • L’état de l’interface, utilisez l’argument $4

Par exemple, le message de sortie suivant permet d’afficher l’ensemble des arguments :

Link down on interface: $2 (index: $1). Operational state: $4, Administration state: $3

Effectuer un contrîle actif suite à la reception d’un trap​

Il est possible par l’utilisation de l’option Reschedule associated services de rĂ©aliser un contrĂŽle actif sur le service suite Ă  la rĂ©ception du trap SNMP.

Le contrÎle actif défini au niveau du service est alors effectué.

Executer une commande spĂ©ciale​

Centreontrapd peut Ă©xecuter une commande spĂ©ciale suite Ă  la rĂ©ception d’un trap SNMP. Pour utiliser cela, il suffit de cocher l’option Execute special command et d’écrire la commande voulue.

Utiliser l’ensemble des arguments (via les OID)​

Il est Ă©galement possible de rĂ©cupĂ©rer directement la valeur d’un argument sans connaĂźtre son ordre d’arrivĂ©e ($1, $2, $3, ...). Pour cela, utilisez l’OID complet de l’argument.

Voici un exemple :

Link down on interface: @{.1.3.6.1.2.1.2.2.1.2} (index: @{.1.3.6.1.2.1.2.2.1.1}). Operational state: @{.1.3.6.1.2.1.2.2.1.8}, Administration state: @{.1.3.6.1.2.1.2.2.1.7}

Utiliser une variable externe​

Il est Ă©galement possible de modifier le message de sortie en rĂ©cupĂ©rant des informations via des scripts ou commandes externes et de rĂ©cupĂ©rer le rĂ©sultat pour l’insĂ©rer au sein du message. Pour cela, au sein de la dĂ©finition de votre trap SNMP, rendez-vous dans l’onglet Advanced et ajoutez une (ou plusieurs) commande(s) PREEXEC.

Exemple : image

La premiĂšre commande est snmpget -v 2c -Ovq -c public @HOSTADDRESS@ ifAlias.$1 et permet de rĂ©cupĂ©rer l’alias de l’interface. La variable “$1” correspond ici Ă  la valeur associĂ©e Ă  l’argument 1 des traps linkUp/linkDown, soit l’index.

La seconde commande contient snmpget -v 2c -Ovq -c public @HOSTADDRESS@ ifSpeed.$1 et permet de rĂ©cupĂ©rer la vitesse de l’interface. La variable “$1” correspond ici Ă  la valeur associĂ©e Ă  l’argument 1 des traps linkUp/linkDown, soit l’index.

Pour utiliser le rĂ©sultat de la premiĂšre commande dans le message de sortie, utilisez l’argument $p1 et pour utiliser le rĂ©sultat de la seconde commande dans le message de sortie, utilisez l’argument $p2.

Par conséquent, nous pouvons déduire le message de sortie suivant :

Link down on interface: $2 (index: $1). Operational state: $4, Administration state: $3, Alias : $p1, Speed : $p2

Utiliser une expression rĂ©guliĂšre​

Il est Ă©galement possible de modifier le message de sortie en utilisant une expression rĂ©guliĂšre par l’intermĂ©diaire de l’option Output Transform. Il suffit de renseigner une expression rĂ©guliĂšre et elle sera Ă©xĂ©cutĂ©e Ă  la rĂ©ception d’un trap SNMP.

For example:

s/\|/-/g

Will replace | in the output to -.

Route/Transfer SNMP traps​

Parfois, il existe un concentrateur de traps SNMP au sein d’une sociĂ©tĂ©. Exemple : Oracle GRID. Oracle GRID est chargĂ© de fĂ©dĂ©rer les informations de tous les serveurs Oracle en cas de nĂ©cessitĂ©, c’est le serveur Oracle GRID qui envoie un trap SNMP au serveur de supervision.

Or, Ă  partir d’un trap SNMP reçu par Oracle GRID, on souhaite pouvoir extraire l’adresse IP de l’hĂŽte concernĂ© et afficher le message du trap dans un service appartenant non pas Ă  Oracle Grid mais Ă  l’hĂŽte concernĂ© par le trap (le vĂ©ritable Ă©metteur).

Pour cela, exécutez la procédure suivante :

  1. Créez un trap générique, ayant les paramÚtres suivants :
  • Dans l'onglet Main :
AttributsDescription
Trap NameNom du trap
ModeUnique
OIDOID du trap
Default StatusStatut par défaut du trap
Output MessageMessage de sortie personnalisé
  • Dans l'onglet Advanced:
AttributesDescription
Enable routingCochez la case
Route definition$2 (ici on part du principe que l’argument numĂ©ro 2 du trap contient l’adresse IP de l’hĂŽte concernĂ© par le trap)
  1. Créer une deuxiÚme définition du trap avec :
  • Dans l'onglet Main :
AttributsDescription
Trap NameNom du trap
OIDOID du trap
Default StatusStatut par défaut du trap
Output MessageMessage de sortie personnalisé
  1. Associer la premiÚre définition à un service (par exemple PING) du serveur Oracle GRID
  2. Associer la deuxiĂšme dĂ©finition Ă  un service passif de l’hĂŽte concernĂ©
  3. Générer les définitions de traps SNMP et redémarrer centreontrapd

Au sein du champ Route definition vous pouvez utiliser les arguments suivants :

Nom de la variableDescription
@GETHOSTBYADDR($1)@RĂ©solution DNS inverse permettant de connaitre le nom DNS Ă  partir de l’adresse IP (127.0.0.1 -> localhost)
@GETHOSTBYNAME($1)@RĂ©solution DNS permettant de connaitre l’adresse IP Ă  partir du nom DNS (localhost -> 127.0.0.1)

Ne pas soumettre le trap SNMP durant un downtime​

L’option Check Downtime permet Ă  centreontrapd de contrĂŽler si le service n’est pas dans un statut de downtime lors de la rĂ©ception du trap SNMP. Il est possible alors d’annuler la soumission du trap.

Ce mode de focntionnement n’est compatible qu’avec Centreon Broker et des services supervisĂ©s depuis le central.

Il est possible d’adapter le comportement selon ces trois mĂ©thodes :

  • None : Rien de spĂ©cial, le trap SNMP est envoyĂ© normalement
  • Real-Time : Si un downtime est actif sur le service, il n’est pas mis Ă  jour.
  • History : Ooption utilisĂ©e pour ne pas prendre en compte un trap SNMP qui concerne un Ă©vĂ©nement passĂ© lors d’un temps d’arrĂȘt.