Skip to content

SNMP

Attention

Ce moteur n'est disponible que dans l'édition CAT de Canopsis.

À noter aussi que ce moteur n'est actuellement pas fonctionnel en environnement Debian 8 (bug #1456).

Le moteur snmp permet de traiter les traps SNMP récupérés par le connecteur snmp2canopsis selon des règles prédéfinies par l'utilisateur.

Fonctionnement

Ce schéma présente le cycle de vie d'un trap SNMP depuis son émission jusqu'à sa conversion en alarmes Canopsis.

img1

Comme observé sur le schéma de cycle de vie, les traps SNMP bruts sont traduits par un moteur grâce à un jeu de règles à définir.

Pour rappel, le résultat de la traduction doit se concrétiser par la génération d'un message compréhensible par Canopsis.

Ce message doit comporter à minima les informations suivantes :

  • connector
  • connector_name
  • component
  • resource
  • state
  • output

Le principal objectif est donc de déduire ces attributs à partir du tableau snmp_vars présent dans les traps bruts.

Mise en place

Activation du moteur

Sur le nœud des moteurs Canopsis :

systemctl enable canopsis-engine-cat@snmp
systemctl start canopsis-engine-cat@snmp

Traduction des traps

Pour créer des règles de transformations il faut se logger sur la page dédiée sur l'UIv2 :

http://CANOPSIS_ADDR:PORT/en/static/canopsis/index.html#/userview/view.snmprule

Une règle de transformation consiste à convertir des OID en valeurs compréhensibles et associer les attributs nécessaires à un message Canopsis.

Dans l'exemple du connecteur snmp2canopsis, nous souhaitons obtenir le message suivant :

{
  "connector" : "snmp",
  "connector_name" : "snmp",
  "component" : "Equipement Impacte",
  "resource" : "Ressource Impactee",
  "output" : "Message de sortie du trap SNMP",
  "state" : 3
}

Pour cela, nous devons :

  • Envoyer les MIB Nagios dans Canopsis
  • Créer une règle de transformation
  • Constater les résultats

Envoi des MIB

Le paquet snmp-mibs-downloader peut être nécessaire. Il embarque lui-même une bibliothèque de MIB et permet, au besoin, d'en télécharger automatiquement des complémentaires sur le net.

Ici par exemple, le paquet snmp-mibs-downloader a été installé sur la machine.

Lors de l'upload des MIB, Canopsis concatène les fichiers uploadés par ordre alphabétique. On fera donc particulièrement attention à renommer les fichiers pour que l’ordre alphabétique des MIB soit cohérent avec les fichiers à importer.

Ici par exemple, le fichier nagios-root.mib doit être traité avant le fichier NAGIOS-NOTIFY-MIB. Ils ont donc été respectivement renommés en NAGIOS1-ROOT-MIB et NAGIOS2-ROOT-MIB.

On sélectionne les fichiers.

img2 img3

On vérifie que le traducteur a bien trouvé des objets de type notification

img4

Création de la règle

img5

Vérification

On exécute à nouveau l'émisson du trap SNMP :

/usr/bin/snmptrap -v 2c -c public IP_RECEPTEUR_SNMP '' NAGIOS-NOTIFY-MIB::nSvcEvent nSvcHostname s "Equipement Impacte" nSvcDesc s "Ressource Impactee" nSvcStateID i 3 nSvcOutput s "Message de sortie du trap SNMP"  

On contrôle le bac :

img6

La remontée de l'alarme dans le bac s'opère :

  • À chaque changement d'état
  • Lorsqu'un ACK a été posé sur l'alarme et qu'elle remonte à nouveau.