Version 7 Manuel de l'administrateur Table des matières LinkedIn social network LinkedIn social network LinkedIn social network LinkedIn social network Share on social media

Création de filtres de trap snmp


Introduction

Les filtres de trap (snmp v1) et de notification (snmp v2c et snmp v3) sont utilisés pour déclencher une action lors de la reception d'un trap snmp par LoriotPro. Pour tous les trap, il est possible de définir plusieurs actions et avec des critères de filtrage différents. Les actions possible sont l’envoie d’E-mail, l’alarme sonore, l’envoie d’un événement, le lancement d’un programme ou d’un script, la diction du message par le text to speech, etc.

La lecture préalable des chapitres suivants est conseillée: Introduction à la supervision, Trap et Notification snmp

Remarque : Dans ce document, nous utiliserons le terme trap aussi pour désigner les notification snmp v2c

Les citères de filtrage disponibles sont l'OID du trap, l'adresse IP source, la communauté snmp, le contenu des champs de variable (varbind).

Pour la création d’un filtre de trap 3 methodes sont possibles :

  1. Invoquer l'assistant (wizard) lors de la réception du trap que l'on souhaite filtrer et à partir de la fenêtre de réception des trap. C'est la manière la plus simple et la plus rapide car les champs sont pré remplis. Le problème avec cette méthode vient du fait que les trap sont envoyés par les agents et vous n’en avez pas le contrôle. Comment recevoir un trap pour une panne d’alimentation tant que celle-ci fonctionne? Pour remédier à ce problème Loriotpro dispose d’un simulateur de trap snmp qui permet de générer de faux trap et ainsi de vous aider à construire des filtres.
  2. Invoquer l'assistant à partir de la fenêtre des filtres d'événements. Dans ce cas il faut connaitre exactement le trap que l’on souhaite filtrer ce qui nécessite une bonne connaissance des fichiers de MIB et des trap disponibles dans ces MIB.
  3. Ouvrir le fichier des filtres et modifier avec un éditeur les filtres. Opération technique qui demande une bonne compréhension de la syntaxe. (novice s’abstenir)

Les filtres d’événement et de trap snmp sont enregistrés dans un fichier texte /bin/config/trapfilter.txt. La syntaxe de ce fichier doit être respectée en cas de modification manuel par un éditeur.


A propos des trap snmp

LoriotPro intègre en standard un serveur de trap snmp en écoute sur le port UDP standard 162. Les agents snmp doivent être prélablement configuré pour emettre leur trap vers LoriotPro. A réception de trap, LoriotPro décode les différentes versions SNMP de Traps. La syntaxe utilisée pour filtrer les différentes versions de type de Traps est la même.

Pour filtrer un Trap vous devez connaître son nom snmp ou OID défini dans les MIB. Le logiciel va utiliser l’information d’ObjectID  SNMP reçue dans le paquet pour trouver les filtres à appliquer. Si vous voulez filtrer un Trap reçu, il est possible d’utiliser directement le « Trap filter Wizard » du menu contextuel de la fenêtre Traps.

Exemple de Trap (snmp v1) dans l'arbre des MIB de LoriotPro

objet trap snmp v1

Exemple de trap (notification SNMP V2c) dans l'arbre des MIB de LoriotPro

oid de trap

En fonction des fichiers de MIB compilés par le logiciel, la liste des trap snmp reconnus par LoriotPro va varier. Dans tous les cas, le logiciel pourra donner un nom à un Trap. Si les fichiers de MIB définissant ce trap sont dans la base des objets de MIB (compilation des MIB). alors LoriotPro donnera le nom exact du Trap et vous devrez utiliser ce nom dans les filtres. Si les fichiers de MIB définissant ce Trap n’ont pas été chargés alors LoriotPro donnera un nom sous la forme d’un OID SNMP et vous devrez utiliser ce nom dans les filtres.

Exemple de trap snmp v1 reçu et connu de LoriotPro

trap snmp v1

Exemple de trap reçu et inconnu de LoriotPro. Un trap Cisco V3 dont la MIB n'est pas présente (compilée).

trap v3

Warning: Si vous compilez les fichiers de MIB contenant la définition des Traps de vos filtres après la création des filtres ( avec une syntaxe sous forme d’OID SNMP ) vous devrez modifier vos filtres avec les vrais noms pour les rendre opérationnels.

Identifier un trap

Une façon simple de connaître le nom d’un Trap que l’on désire filtrer est de regarder la colonne ObjID de la fenêtre Traps du logiciel et d’utiliser le nom affiché pour créer le filtre.

Trap oid
ObjID
column in the Trap window

Dans cet exemple deux Traps ont été reçus par le logiciel, si vous désirez filtrer le Trap (notifications) SNMP V3 utilisez son nom ciscoconfigmanmibnotifications.1.

Le même Trap en version 1 du protocole SNMP a un autre nom :

SNMP v1 trap

Dans cet exemple avec un Trap SNMP V1 utilisez le nom : 

ciscoconfigmanmibnotificationprefix .

Ce Trap est défini dans un fichier de définition de MIB Cisco :

Fichier : CISCO-CONFIG-MAN-MIB.my (extrait)

ciscoConfigManEvent TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE ciscoConfigManMIBNotificationPrefix
    VARIABLES {
        ccmHistoryEventCommandSource, ccmHistoryEventConfigSource,
   ccmHistoryEventConfigDestination }
--  Status
--    mandatory
    DESCRIPTION
        "Notification of a configuration management event as
        recorded in ccmHistoryEventTable."
    ::= 1

Invoquer l'assistant (wizard) pour la création d'un filtre

La fenêtre de visualisation des trap et notification dipose d'un menu contextuel permettant d'appeler le Wizard.

Sélectionner un trap reçus dans la liste puis cliquer droit pour avoir le menu contextuel, sélectionner :
trap filtre wizard

trap filter wizard
Traps Filter wizard option in the Trap contextual menu

Si un filtre exist déjà pour ce trap, une boîte de dialogue vous propose de créer une nouvelle action pour ce filtre.

filter popup

Sinon l'assistant vous propose de créer une nouvelle entré pour ce trap/notification.

filter popup 2

Si un trap est déjà filtré par un wildcard, vous êtes averti. Basculer alors dans l'onglet Filter pour éventuellement le détruire. Dans l'exemple ci-dessous le wildcard *-[6-0] intercepte tous les trap snmp V1 de type Enterprise ce qui rend inopérationnel les filtres suivants.

trap filter tree

La fenêtre de génération graphique d’actions associées au Trap est affichée avec les paramètres de l’agent émetteur, il ne vous reste plus qu’à choisir le type d’actions à réaliser pour la prochaine réception d’un Trap de ce type pour cet agent.

trap filter action
Trap action Wizard window

Pour définir les critères de filtrage et l'action déclenchée, compléter les champs requis.

Champ Description
IP Address L'adresse IP source à l'origine du trap ou de la notification
Mask Un masque de sélection des bits significatifs de l'adresse IP (exemple pour sélectionner tous les hosts du réseau de classe C définir un masque de 255.255.255.0
Community Communauté des trap snmp v1 ou des notification snmp v2c v3
OID Name Les nom des variables du trap (varbind)
Values les valeurs utilisé pour le filtrage sur les variables
Action Wizard

assistant de sélection des actions

Parameters paramètres passés à l'action


Le bouton Wizard permet d'avoir ensuite accès à la configuration des paramètres passés à l'action

trap filter string
Trap Filter creation Wizard window

Tous les champs constituant le trap peuvent être passés sous forme de variables identifiées par le signe %

Finalement les paramètres avancés de configuration du filtre de trap peuvent être modifiés en cliquant sur le bouton Advanced

advanced trap filter

Les options avancés vous donnent un contrôle précis sur le filtrage et sur le déclenchement de l'action. Ces options sont basées sur le compteur de filtres de trap satisfaits. Ce compteur s'incrémente à chaque réception de trap remplissant les conditions du filtre. Vous pouvez alors définir l'action en fonction de la valeur de ce compteur.

Les otpions disponibles sont :

Match All

A chaque fois que les conditions du filtre sont satisfaites

Match only First

seulement la première fois que les conditions du filtre sont satisfaites

Match only X

la  n fois que les conditions du filtre sont satisfaites

Match after X

après n fois que les conditions du filtre sont satisfaites

Match if supposed burst for time interval <=

si les conditions du filtre sont satisfaites plus de n fois sur une période

Match Every X

toutes les n fois que les conditions du filtre sont satisfaites


Les compteurs doivent être remis à zéro manuallement à partir des fenêtres de visualistaion des compteurs.


Invoquer l'assistant de création de filtre de trap à partir de l'arbre des filtres

Nous venons de voir comment insérer un nouveau filtre de Trap directement à partir d’un Trap reçu avce l'assistant (Wizard).

Il est aussi possible d’insérer un nouveau Filtre de Trap à partir de l’arbre graphique de la fenêtre avec l'onglet Filters. filter

Après avoir sélectionné l’objet Traps Filters de l’arbre utilisez le menu contextuel  New Trap Filter/Action.

trap menu

La fenêtre de création d’un nouveau filtre est alors affichée.

trap filter setting

La première opération consiste à définir le nom du Trap à filtrer.

Si le Trap est un Trap snmp v1 standard , sélectionnez son nom à partir du ComboBox Trap Type.

Si le Trap est un Trap snmp v1 Enterprise, alors sélectionnez Enterprise dans le ComboBox  et le champ « Trap name » sera déverrouillé.

Si vous ne connaissez pas le trap que vous voulez filtrer cliquer sur le bouton Wizard pour le sélectionner dans la base des trap LoriotPro (Visible à partir des MIB compilés)

trap picker details

Remarque : Si vous cherchez un trap Enterprise SNMP V1 Trap ou Private SNMP V2 notification dans la liste et que vous ne le trouvez pas , c'est surement que la MIB contenant ce trap n'est pas compilée. Il faut vous la procurer auprès du contructeur et l'ajouter par compilation à Loriotpro.

Par défaut un filtre de trap a pour action d'envoyer un événement vers le gestionnaire d'événement de LoriotPro.

L'événement généré est le 300, si vous positionner cette valeur à 0 aucun événement ne sera envoyé.

 

trap to event action

Global Event String : Les divers champs du trap peuvent être renvoyés comme paramètres dans le message de l'événement.

Un clique sur le bouton Wizard permet de sélectionner les paramètres et construire la chaîne de caratères constitutif du message.

trap string message
Trap filter string (Wizard)

Une fois le trap défini il doit apparaitre dans l'arbre des filtres. Le sélectionner, appeler le menu contextuel et l'option Properties.

trap filter define

La fenêtre de création de filtre est affichée.

trap actions
Trap action Wizard window

Pour définir les critères de filtrage et l'action déclenchée, compléter les champs requis.

Champ Description
IP Address L'adresse IP source à l'origine du trap ou de la notification
Mask Un masque de sélection des bits significatifs de l'adresse IP (exemple pour sélectionner tous les hosts du réseau de classe C définir un masque de 255.255.255.0
Community Communauté des trap snmp v1 ou des notification snmp v2c v3
OID Name Les nom des variables du trap (varbind)
Values les valeurs utilisé pour le filtrage sur les variables
Action Wizard

assistant de sélection des actions

Parameters paramètres passés à l'action

Le bouton Wizard permet d'avoir ensuite accès à la configuration des paramètres passés à l'action

message string
Trap Filter creation Wizard window

Tous les champs constituant le trap peuvent être passés sous forme de variables identifiées par le signe %

Finalement les paramètres avancés de configuration du filtre de trap peuvent être modifiés en cliquant sur le bouton Advanced

Les options avancés vous donnent un contrôle précis sur le filtrage et sur le déclenchement de l'action. Ces options sont basées sur le compteur de filtres de trap satisfaits. Ce compteur s'incrémente à chaque réception de trap remplissant les conditions du filtre. Vous pouvez alors définir l'action en fonction de la valeur de ce compteur.

Les otpions disponibles sont :

Match All

A chaque fois que les conditions du filtre sont satisfaites

Match only First

seulement la première fois que les conditions du filtre sont satisfaites

Match only X

la  n fois que les conditions du filtre sont satisfaites

Match after X

après n fois que les conditions du filtre sont satisfaites

Match if supposed burst for time interval <=

si les conditions du filtre sont satisfaites plus de n fois sur une période

Match Every X

toutes les n fois que les conditions du filtre sont satisfaites


Les compteurs doivent être remis à zéro manuallement à partir des fenêtres de visualistaion des compteurs.


Syntaxe des filtres de trap dans le fichier

Une fois le nom du Trap à filtrer connu il faut définir différents paramètres associés au filtre. Un filtre pour un Trap donné est défini sur une ligne de texte sans retour à la ligne.  Un filtre de Trap contient six ou sept paramètres dans un ordre bien précis.

traps action list

Exemple dans le fichier des filtres /bin/config/trapfilter.txt
trap  ciscoConfigManMIBNotificationPrefix 6 1 3 "%n (%N) for agent %i from proxy [%p] %0 %1 %2 %3 %4 %5"

Table de la syntaxe utilisé dans le fichier des filtres de trap

Options

Examples

Definitions

Trap

trap

Ce mot clef prévient le compilateur que cette ligne correspond à un filtre de Trap.

name

ciscoConfigManMIBNotificationPrefix

Le nom du Trap à filtrer.
Remarque :
Si vous utilisez le nom * alors tous les Traps reçus non encore filtrés seront filtrés par cette ligne. Lorsque vous utilisez le module de création (Wizard) de filtre, un message vous informe que votre filtre est placé après une ligne contenant le mot clef *.

enterprise trap

The generic Trap type

6

Ce paramètre est utilisé par les Traps de version V1 et définit le type standard de Trap.

En SNMP V1, 6 Traps génériques sont définis en standard pour le type 6 il existe un type complémentaire appelé le type spécifique du Trap.

Num�ro

Type standard

0

ColdStart

1

PowerOn

2

LinkDown

3

LinkUp

4

Authentication

5

EGP

6

Enterprise /Notification

The specific trap type

1

Utilisé uniquement en V1 et si le type Générique du Trap est 6 sinon la valeur doit être zéro.

Event level

3

Une valeur de 0 à 10 pour définir un niveau de gravité associé à ce Trap. Le niveau de gravité permet un affichage du message dans une couleur différente dans la fenêtre Global Events.

The  message to display in the Global Events window

"%n (%N) for agent %i from proxy [%p] %0 %1 %2 %3 %4 %5"

Ce paramètre est une chaîne de caractères délimitée par des guillemets et qui contient le corps du message à afficher dans la fenêtre Global Event. Il est possible d’utiliser des variables dans cette chaîne de caractères de façon à pouvoir  personnaliser le message.
Les variables commencent toutes par le caractère % ou $ suivi d’une lettre de référence permettant au compilateur de remplacer la variable par son contenu dans la chaîne de caractères.

Variables

Description

%r

reference

%i

Adresse IP de l’agent (dans le host)

%p

Adresse IP source du paquet reçu.

%t

Un Trap contient un TimeStamp,
%t affiche ce TimeStamp.

%T

Affiche le TimeStamp local à LoriotPro.

%0 %9

Les paramètres du contenu dans le Trap (si il existe).

$0 $9

Le nom SNMP des paramètres contenus dans le Trap (si il existe).

%n

L’ObjID SNMP  du Trap.

%l

Le niveau de gravité attribué au Trap.

%N

Le nom du Trap si il existe.

Event number assigned
(optionnal)
Higher than  10000.

10002

Par défaut le message envoyé au module Global Event contient la référence 300, il est possible de personnaliser le numéro d’événement associé a un Trap pour réaliser des filtres d ‘événements supplémentaires.

Exemples :

trap  ciscoMgmt.41.2 6 1 1 "%n for Agent %i proxy [%p] $0->%0 $1->%1 $2->%2 $3->%3"
trap  ciscoMgmt.43.2 6 1 1 "%n for Agent %i proxy [%p] $0->%0 $1->%1 $2->%2 $3->%3"
trap  cisco 6 1 3 "%n (%N) for agent %i from proxy [%p]  : %0 %1 $2/%2 ByteIn/%3 ByteOut/%4 $5/%5"
trap  loriotidsprobe 6 1 3 "%n (%N) for agent %i from proxy [%p]  : %0 %1 $2/%2 ByteIn/%3 ByteOut/%4 $5/%5"
trap  ciscoSyslogMIBNotificationPrefix 6 1 3 "%n (%N) for agent %i from proxy [%p] %0 %1 %2 %3 %4 %5"
trap  ciscoConfigManMIBNotificationPrefix 6 1 3 "%n (%N) for agent %i from proxy [%p] %0 %1 %2 %3 %4 %5"
trap  LinkDown 2 0 6 "%r for %n from %i  Interface %1 at %t Description %1 Type %2 Status %3" 10002


Actions des filtres de trap snmp

L'objectif des filtres est de déclencher des actions lors de la réception d’un Trap.

LoriotPro vous permet de filtrer les actions en fonction de l’adresse source du paquet reçu et/ou de la Community SNMP contenue dans le paquet.

Les actions associées à un filtre de Trap sont placées dans le fichier des filtres /bin/config/trapfilter.txt à la suite de la définition du filtre de Trap.

Lors de la configuration la liste déroulante des actions permet de choisir l'action à déclencher.

 trigger action

Une ligne définissant une action associée à un Trap commence par le mot clef action suivi de 5 paramètres.

Example dans le fichier des filtres /bin/config/trapfilter.txt
action 0.0.0.0 0.0.0.0  *  wave "wave/linedown.wav"

Table of syntaxes of Trap associated actions

Parameters

Examples

Definitions

IP

0.0.0.0

Les deux paramètres suivants sont un filtre qui permet de tester si l’adresse source du paquet reçu est concerné par cette action.
Le logiciel applique la règle suivante :

Si IP_SOURCE_RE9UT et_logique  IP_MASK = IP
Alors l’action pour ce Trap et cette Adresse source sont sélectionnées.

Exemple :
IP reçu = 10.33.10.121
IP = 0.0.0.0 IP_MASK =0.0.0.0 (toutes les adresses IP passent)
IP=10.33.0.0 IP_MASK=255.255.0.0 ( cela passe car 10.33.10.121 fait partie du network 10.33.0.0)
IP=20.0.0.0 IP_MASK=255.0.0.0 ( cela ne passe pas car 10.33.10.121 ne fait pas partie du network 20.0.0.0)
Pour sélectionner une adresse unique exemple : 192.168.10.1

Action 192.168.10.1 255.255.255.255

IP Mask

0.0.0.0

Define above.

Community

*

La Community  SNMP devant être reçue dans le paquet (uniquement pour SNMP V1 et V2c).
Le signe * permet d’accepter toutes les Community SNMP.
Attention : Pour SNMP V3 utilisez l’étoile et la configuration des paramètres avancés du host qui émettent le Trap et qui doivent impérativement se trouver dans la Directory.

 

OID

 

L'object SNMP

Value

 

Un valeur à comparer au contenu d'un champ de variable du trap (varbind)

Action types

Wave

Le type d’action à réaliser à la réception du Trap si les trois paramètres précédents sont positifs.
Voir les tableaux suivants

parameters

"wave/linedown.wav"

Une  chaîne de caractères délimitée par des guillemets contenant des paramètres spécifiques à chaque type d’action.
Voir les tableaux suivants

Tableau des actions associ�es aux Traps

Actions

Command

  wave

Lance un fichier son de type Wave :
La chaîne de caractères contient un chemin et un nom de fichiers Wave.  La chaîne de caractères peut contenir des variables.
Exemple :
Wave "wave/chord.wav"

 

 trap

Reroute un Trap  v1 ou v2c vers un autre serveur.
Exemple :
Trap "10.33.10.126"

 

 winrun

Lance un programme Windows :
La chaîne de caractères contient un chemin et un nom de fichier à exécuter. La chaîne de caractères peut contenir des variables.
Exemple :
telnet "telnet %i
"

 

 dosrun

Lance un programme de type DOS (en fonction des versions d’OS)
La chaîne de caractères contient un chemin et un nom de fichiers à exécuter. La chaîne de caractère peut contenir des variables identiques au chaîne de filtre de Trap:
Exemple :
Dosrun "telnet %i"

 

 syslog

Envoie un message Syslog :
La chaîne de caractères contient une adresse IP de serveur Syslog et des variables.
Exemple  :
syslog "10.33.10.126 %r for %n from %i from proxy [%p] Request from station [%0]"

 

 smtp

Génère un fichier message dans le répertoire spooler du logiciel.
La chaîne de caractères contient une adresse Email  pour émettre le message et des variables.
Exemple  :
smtp "unknow@domain.com  Authentication fail %i %m "

 

nul

Do nothing

Forward Trap as Event to a LoriotPro

Cette action permet d'envoyer un événement à ce Loriotpro ou à un autre LoriotPro

forward event

run scriptRun Script

Dépose un script LUA pour exécution dans la file d'attente des traitements (plugin de service)

 

Un fois l'action choisie, les paramètres passés à l'action doivent être définies

Tableau des variables des chaînes d’actions

Variables

Correspondance

%r

Référence

%i

Adresse IP de l’agent (dans le host)

%p

Adresse IP source du paquet reçu.

%t

Un Trap contient un TimeStamp,
%t affiche ce TimeStamp.

%T

Affiche le TimeStamp local à LoriotPro.

%0 %9

Les paramètres du contenu dans le Trap (si il existe).

$0 $9

Le nom SNMP des paramètres contenus dans le Trap (si il existe).

%n

L’ObjID SNMP  du Trap.

%l

Le niveau de gravité attribué au Trap.

%N

Le nom du Trap si il existe.

Exemples de filtre dans le fichier des filtres /bin/config/trapfilter.txt

trap  Authentication 4 0 3 "%n (%N) for agent %i from proxy [%p] %0 %1 %2 %3 %4 %5"
 action 10.33.10.121 255.255.255.255 public trap "10.33.10.129"
 action 10.33.10.121 255.255.255.255 public wave "wave/ding.wav"
 action 0.0.0.0 0.0.0.0  * syslog "10.33.10.126 %r for %n from %i from proxy [%p] Request from station [%0]"
trap  LinkUp 3 0 4 "%r for %n from %i  Interface %1 at %t Description %1 Type %2 Status %3" 10001
 action 0.0.0.0 0.0.0.0  *  wave "wave/lineup.wav"

La réception d’un Trap snmp v1 standard ‘Authentication’  générera un message dans la fenêtre Global Event.
Si l’adresse source de l’agent contenue dans le paquet reçu correspond aux filtres d’actions, les actions seront réalisées. Si le Trap reçu provient de l’agent 10.33.10.121 trois actions seront réalisées.

  1. Le Trap sera ré-émis vers le serveur 10.33.10.129
  2. Un fichier de son  ding.wav sera exécuté.
  3. Un message de type Syslog sera envoyé au serveur 10.33.10.126.

Remarque : Les variables des chaînes d’actions sont les mêmes que pour les filtres de Trap.

attention Attention : Il ne peut pas y avoir plusieurs filtres pour le même Trap, mais plusieurs actions associées à un filtre de Trap.

 


www.loriotpro.com