Table of Contents
HPE: Comment configurer les messages d'interruption (trap) SNMP
Les commutateurs HPE comware embarquent les fonctionnalités SNMP Trap, par exemple: trap pour le seuil du processeur, vlancreate, vlandelete, tranceiver, tty, etc. Mais on ne trouve pas des traps SNMP pour tous les éléments.
Pour afficher les interruptions disponibles que l'on peut activer, exécuter dans la vue système la commande:
snmp-agent trap enable?
Pour afficher les objets disponibles dans la MIB du commutatuer utilliser la commande:
show snmp-agent mib-node | include CidrRouteProto
|-*ipCidrRouteProto<1.3.6.1.2.1.4.24.4.1.7>(RO)
|-*inetCidrRouteProto<1.3.6.1.2.1.4.24.7.1.9>(RO)
Si la trap n'est pas disponible dans la configuration, cette section présente comment activer d'autres fonctionnalités de trap qui ne sont pas disponibles sur le commutateur basé sur comware.
Trigger permet de programmer une interruption lorsqu'un événement ce produit sur un objet surveillé. L'objet peut être n'importe lequel des objets des MIBs SNMP du commutateur, mais l'interruprion envoyée doit être une event-notification ( cf le guide Comware V7 Platform Notification Message)
Configuration de l'agent SNMP
Configuration de SNMPv3
Pour configurer SNMPv3 sur un périphérique basé sur Comware, il faut activer SNMPv3:
[Sysname] snmp-agent sys-info version v3 [Sysname] undo snmp-agent sys-info version v1 v2c [Sysname] dis snmp-agent sys-info version SNMP version running in the system: SNMPv3
Création des groupes et des utilisateurs
La prochaine étape consiste à créer un groupe. Le groupe est utilisé pour autoriser l'accès à certains MIB et/ou OID SNMP. On utilise la vue par défaut ViewDefault1), mais on peut également définir un groupe avec des vues personnalisées.
Pour créer une vue personnalisée procéder ainsi:
[Sysname] snmp-agent mib-view included TestView iso
[Sysname] snmp-agent group v3 g3 read-view TestView write-view TestView notify-view TestView
Pour créer le groupe, utiliser cette commande:
[Sysname] snmp-agent group v3 {group-name} read-view ViewDefault
Cela créera le groupe «{group-name}» qui utilise la vue «ViewDefault» pour «read-view». Cela permettra d'accéder à tous les MIB et OID.
L'étape suivante consiste à créer l'utilisateur SNMPv3:
[Sysname] snmp-agent usm-user v3 {owner-name} {group-name}
Pour créer un utilisateur en utilisant «sha» pour l'authentification avec le mot de passe «imc» et la clé de cryptage «imc» il faut utiliser cette commande:
snmp-agent usm-user v3 imc snmpv3 authentication-mode sha imcimc privacy-mode aes128 imcimc
Ou pour Comware 7, il faut utiliser cette commande:
snmp-agent usm-user v3 imc snmpv3 simple authentication-mode sha imcimc privacy-mode aes128 imcimc
On peut définir certaines informations système pour reconnaître le périphérique en conséquence dans le système de gestion de réseau:
[Sysname] snmp-agent sys-info contact {nom-du-contact}
[Sysname] snmp-agent sys-info location {nom-de-leu}
Afin d'avoir un contexte permettant à plusieurs versions des mêmes objets MIB d'être mises à disposition par un seul moteur SNMPv3, comme si on disposait de plusieurs agents s'exécutant sur la même adresse IP et le même port, paramétrer le context SNMP:
[Sysname] snmp-agent context {context-name}
Configurer le commutateur pour utiliser le nom d'utilisateur {owner-name} pour envoyer des notifications SNMPv3 au NMS à xx.xx.xxx.xxx
[Sysname] snmp-agent target-host trap address udp-domain xx.xx.xxx.xxx params securityname {owner-name} v3
[Sysname] snmp-agent trap enable event-mib
Configuration des performances
L'échantillonnage définit dans la RFC 3176, fournit les mécanismes suivants:
- Échantillonnage de flux - Obtient des informations sur les paquets. Lorsque l'échantillonnage de flux est activé sur une interface, le commutateur échantillonne les paquets reçus sur l'interface à la fréquence d'échantillonnage définie et envoie les informations au CPU.
- Échantillonnage de compteur - Obtient des informations de compteur d'interface. Lorsque l'échantillonnage de compteur est activé, le commutateur interroge la MIB pour obtenir les informations à l'intervalle d'échantillonnage du compteur défini à l'aide de la commande sflow counter interval dans la vue d'interface).
Les informations échantillonnées sont encapsulées dans des paquets et enregistrées dans le tampon de paquets. Lorsque la mémoire tampon est pleine ou que le temporisateur de vieillissement (fixé à 1 seconde) expire, le système envoie les paquets au collecteur.
Pour une meilleure scalabilité du système et afin d'éviter de perdre des traps il convient de configurer:
- L'intervalle d'échantillonnage d'un déclencheur doit être supérieur à l'intervalle d'échantillonnage minimum. (Par défaut, l'intervalle d'échantillonnage minimum est de 1 seconde).
- Le nombre maximum d'instances d'objet pouvant être échantillonnées simultanément (Par défautest est limité par les ressources disponibles, la valeur est 0.):
Définir l'intervalle d'échantillonnage minimum de la MIB d'événement:
[Sysname] snmp mib event sample minimum 50
Définir le nombre maximal d'instances d'objet pouvant être échantillonnées simultanément
[Sysname] snmp mib event sample instance maximum 100
Il est important de bien calibrer ce seuil car un nombre trop petit, risque de faire des trous dans l'échantillonage. Ainsi pour l'exemple ci-dessous le seuil de 100 est mal adapté, comme on peut le constater en faisant un display snmp mib event summary:
TriggerFailures : 34483
EventFailures : 0
SampleMinimum : 50
SampleInstanceMaximum : 100
SampleInstance : 0
SampleInstancesHigh : 100
SampleInstanceLacks : 34483
Les compteurs TriggerFailures et SampleInstanceLacks indiquent une déperdition de l'échantillonage.
Son regarde le contenu de la MIB surveillée on constate que celle ci comporte plus d'objets que le seuil spécifé:
snmpwalk -v 1 xx.xx.xxx.xxx -c lanread .1.3.6.1.2.1.4.24.7.1.7| wc -l
101
Il faut donc adapter le nombre maximal d'instances d'objet pouvant être échantillonnées simultanément.
Configurattion d'un déclencheur (trigger)
Création d'un déclencheur
Spécifier son propriétaire comme propriétaire 1 et son nom comme déclencheurs.
[Sysname] snmp mib event trigger owner {owner-name} name {trigger-name}
Régler l'intervalle d'échantillonnage sur 60 secondes. Assurez-vous que l'intervalle d'échantillonnage est supérieur ou égal à l'intervalle d'échantillonnage minimum de la MIB d'événement.
[Sysname-trigger-{owner-name}-{trigger-name}] frequency 60
Spécifier l'objet inetCidrRouteProto OID 1.3.6.1.2.1.4.24.7.1.9 comme objet surveillé. Activer la recherche par caractères génériques pour les OID.
[Sysname-trigger-{owner-name}-{trigger-name}] oid 1.3.6.1.2.1.4.24.7.1.9
[Sysname-trigger-{owner-name}-{trigger-name}] wildcard oid
Configurer le contexte {context-name} pour l'objet surveillé et activer la recherche par caractères génériques pour les contextes.
[Sysname-trigger-{owner-name}-{trigger-name}] context {context-name}
[Sysname-trigger-{owner-name}-{trigger-name}] wildcard context
On peutspécifier une liste d'objets MIB d'événements à l'aide de la commande object list owner dans la vue de trigger, la vue trigger-test et la vue de action-notification. Les objets de la liste seront ajoutés aux notifications déclenchées.
Si on spécifie une liste d'objets respectivement dans deux des vues ou dans les trois vues, les listes d'objets sont ajoutées à la notification déclenchée dans cette séquence: vue trigger, la vue trigger-test et la vue de action-notification.
Pour configurer une liste d'objets:
[Sysname] snmp mib event object list owner {owner-name} name {object-name} oid {object-identifier} [wildcard]
Configurer un événement (Facultatif)
Le TRAP est notifié dans un vecteur d'un event-notification, le NMS recevra un TRAP de cet event (OID de l'event-notification et non pas de l'objet surveillé).
Par défaut les commuateurs COMWARE utilisent un event-notification de la MIB DISMAN-EVENT-MIB (rfc2981m: Module MIB pour définir les déclencheurs d'événements et les actions à des fins de gestion de réseau.)
Création d'un événement
Le propriétaire doit être un utilisateur SNMPv3.)
- Créer l'événement:
[Sysname] snmp mib event owner {owner-name} name {event-name} - (Facultatif.) Configurer une description pour l'événement:
[Sysname-event-{owner-name}-{event-name}] description {text} - Spécifier une action pour l'événement:
[Sysname-event-{owner-name}-{event-name}] action [notification|set] - Activer l'événement:
[Sysname-event-{owner-name}-{event-name}] event enable
Configuration d'une action set
Lorsqu'une action set est activée, une entrée set est créée automatiquement. Tous les champs de l'entrée ont des valeurs par défaut.
- Entrer dans la vue des événement:
[Sysname] snmp mib event owner {owner-name} name {event-name} - Entrer dans la vue d'action set:
[Sysname-event-{owner-name}-{event-name}] action set - Spécifier un objet (doit être un objet de notification) par son OID pour l'action définie:
[Sysname-event-{owner-name}-{event-name}-set] oid {object-identifier} - Activer la recherche par caractères génériques pour les OID:
[Sysname-event-{owner-name}-{event-name}-set] wildcard oid - Définir la valeur de l'objet (La valeur par défaut de l'objet est 0):
[Sysname-event-{owner-name}-{event-name}-set] value {integer-value} - (Facultatif.) Spécifier un contexte pour l'objet:
context {context-name} - (Facultatif.) Activer la recherche par caractères génériques pour les contextes:
wildcard context
Configuration d'une action de notification
Lorsqu'une action de notification est activée, une entrée de notification est créée automatiquement. Tous les champs de l'entrée ont des valeurs par défaut.
- Entrer dans la vue des événement:
[Sysname] snmp mib event owner {owner-name} name {event-name} - Entrer dans la vue d'action notification:
[Sysname-event-{owner-name}-{event-name}] action notification - Spécifier un objet par son OID pour l'action définie:
[Sysname-event-{owner-name}-{event-name}-notification] oid {object-identifier} - Spécifier une liste d'objets à ajouter à la notification déclenchée par l'événement:
[Sysname-event-{owner-name}-{event-name}-notification] object list owner {owner-name} name {object-name}
Spécifier un test pour le déclencheur
Il existe trois types de tests
Le test boolean
Sppécifie un test de déclenchement booléen. Ce test compare la valeur de l'objet surveillé avec la valeur de référence:
- (Facultatif.) Configurer les listes d'objets Event MIB. (objets à ajouter à la notification lorsqu'une action de notification est déclenchée):
[Sysname] snmp mib event object list owner {owner-name} name {object-name} 1 oid 1.3.6.1.2.1.4.24.7.1.9 - Entrer dans la vue trigger (Spécifier son propriétaire et son nom):
[Sysname] snmp mib event trigger owner {owner-name} name {trigger-name} - (Facultatif.) Spécifier la liste d'objets à ajouter à la notification lorsque l'action de notification est déclenchée:
[Sysname-trigger-{owner-name}-{trigger-name}] object list owner {owner-name} name {object-name} - Configurer un test booléen pour le déclencheur pour entrer dans la vue booléenne du déclencheur:
[Sysname-trigger-{owner-name}-{trigger-name}] test boolean- Spécifier un type de comparaison de test booléen:
[Sysname-trigger-{owner-name}-{trigger-name}-boolean] comparison {equal|greater|greaterorequal|less |lessorequal|unequal} - Définir une valeur de référence pour le test de déclenchement booléen:
[Sysname-trigger-{owner-name}-{trigger-name}-boolean] value {integer-value}(La valeur de référence par défaut pour un test de déclenchement booléen est 0) - Spécifier un événement pour le test de déclenchement booléen:
[Sysname-trigger-{owner-name}-{trigger-name}-boolean] event owner {event-owner} name {event-name} - Activer l'événement à déclencher lorsque la condition de déclenchement est remplie lors du premier échantillonnage (Avant le premier échantillonnage, il faut activer cette commande pour permettre le déclenchement de l'événement):
startup enable
- Activer l'échantillonnage après avoir terminé la configuration des paramètres de déclenchement:
[Sysname-trigger-{owner-name}-{trigger-name}] trigger enable
Le test existence
Spécifie un test de déclenchement d'existence. Ce test surveille l'absence, la présence et le changement de l'objet surveillé:
- (Facultatif.) Configurer les listes d'objets Event MIB. (objets à ajouter à la notification lorsqu'une action de notification est déclenchée):
[Sysname] snmp mib event object list owner {owner-name} name {object-name} 1 oid 1.3.6.1.2.1.4.24.7.1.9 - Entrer dans la vue trigger (Spécifier son propriétaire et son nom):
[Sysname] snmp mib event trigger owner {owner-name} name {trigger-name} - (Facultatif.) Spécifier la liste d'objets à ajouter à la notification déclenchée par l'événement:
[Sysname-trigger-{owner-name}-{trigger-name}] object list owner {owner-name} name {object-name} - Configurer un test d'existence:
[Sysname-trigger-{owner-name}-{trigger-name}] test existence- Spécifier l'événement pour le test de déclenchement d'existence (Le propriétaire doit être un utilisateur SNMPv3):
[Sysname-trigger-{owner-name}-{trigger-name}-existence] event owner {event-owner} name {event-name} - Spécifier le type de test de déclenchement d'existence:
[Sysname-trigger-{owner-name}-{trigger-name}-existence] type {absent|changed|present} - Spécifier un type de test de déclenchement d'existence pour le premier échantillonnage (Par défaut, les types changed et present sont autorisés pour le premier échantillonnage):
startup {absent|present}
- Activer l'échantillonnage après avoir terminé la configuration des paramètres de déclenchement:
[Sysname-trigger-{owner-name}-{trigger-name}] trigger enable
Le test threshold
Spécifie un test de seuil. Ce test compare la valeur de l'objet surveillé aux seuils spécifiés, tels que le seuil croissant et le seuil décroissant.
- (Facultatif.) Configurer les listes d'objets Event MIB. (objets à ajouter à la notification lorsqu'une action de notification est déclenchée):
[Sysname] snmp mib event object list owner {owner-name} name {object-name} 1 oid 1.3.6.1.2.1.4.24.7.1.9 - Entrer dans la vue trigger (Spécifier son propriétaire et son nom):
[Sysname] snmp mib event trigger owner {owner-name} name {trigger-name} - (Facultatif.) Spécifier la liste d'objets à ajouter à la notification déclenchée par l'événement:
[Sysname-trigger-{owner-name}-{trigger-name}] object list owner {owner-name} name {object-name} - Configurer un test de déclenchement de seuil:
[Sysname-trigger-{owner-name}-{trigger-name}] test threshold- Spécifier le seuil ascendant:
[Sysname-trigger-{owner-name}-{trigger-name}-threshold] rising value 80 - Spécifier le seuil descendant:
[Sysname-trigger-{owner-name}-{trigger-name}-threshold] falling value 10 - (Facultatif.) Spécifier le type de test de déclenchement de seuil pour le premier échantillonnage (Le type de test de déclenchement de seuil par défaut pour le premier échantillonnage est rising-or-falling):
startup {falling|rising|rising-or-falling}
- Activer l'échantillonnage après avoir terminé la configuration des paramètres de déclenchement:
[Sysname-trigger-{owner-name}-{trigger-name}] trigger enable
Vérification de la configuration
Afficher la configuration et les statistiques de la MIB d'événement.
[Sysname] display snmp mib event summary
Afficher les informations sur le déclencheur.
[Sysname] display snmp mib event trigger owner {owner-name} name {trigger-name}
Exemple de configuration
Les familles de commutateurs HP bénéficient d'une conformité totale avec la RFC 4292 qui définit une partie de la base d'informations de gestion (MIB) à utiliser dans la gestion des objets liés à la transmission de paquets de protocole Internet (IP) d'une manière indépendante de la version IP. L'implémentation de l'objet ipCidrRouteTable permet d'accèder directement à la table de routage pour récupérer toutes les routes Static et Dynamic.
<Sf034_A5500_013SNS1>show snmp-agent mib-node | include ipCidrRoute
|-*ipCidrRouteNumber<1.3.6.1.2.1.4.24.3>(RO)
|-ipCidrRouteTable<1.3.6.1.2.1.4.24.4>(NA)
|-ipCidrRouteEntry<1.3.6.1.2.1.4.24.4.1>(NA)
|-*ipCidrRouteDest<1.3.6.1.2.1.4.24.4.1.1>(RO)
|-*ipCidrRouteMask<1.3.6.1.2.1.4.24.4.1.2>(RO)
|-*ipCidrRouteTos<1.3.6.1.2.1.4.24.4.1.3>(RO)
|-*ipCidrRouteNextHop<1.3.6.1.2.1.4.24.4.1.4>(RO)
|-*ipCidrRouteIfIndex<1.3.6.1.2.1.4.24.4.1.5>(RC)
|-*ipCidrRouteType<1.3.6.1.2.1.4.24.4.1.6>(RC)
|-*ipCidrRouteProto<1.3.6.1.2.1.4.24.4.1.7>(RO)
|-*ipCidrRouteAge<1.3.6.1.2.1.4.24.4.1.8>(RO)
|-*ipCidrRouteInfo<1.3.6.1.2.1.4.24.4.1.9>(RC)
|-*ipCidrRouteNextHopAS<1.3.6.1.2.1.4.24.4.1.10>(RC)
|-*ipCidrRouteMetric1<1.3.6.1.2.1.4.24.4.1.11>(RC)
|-*ipCidrRouteMetric2<1.3.6.1.2.1.4.24.4.1.12>(RC)
|-*ipCidrRouteMetric3<1.3.6.1.2.1.4.24.4.1.13>(RC)
|-*ipCidrRouteMetric4<1.3.6.1.2.1.4.24.4.1.14>(RC)
|-*ipCidrRouteMetric5<1.3.6.1.2.1.4.24.4.1.15>(RC)
|-*ipCidrRouteStatus<1.3.6.1.2.1.4.24.4.1.16>(RC)
Afin d'être notifié chaque fois qu'une route est ajoutée ou modifiée dans la configuration du commutateur Sf034_A5500_013SNS1 on va mettre en place un interrupteur avec un test exist sur l'OID ipCidrRouteDest<1.3.6.1.2.1.4.24.4.1.1>:
# Créer le groupe SNMPv3 g145 et ajouter l'utilisateur SNMPv3 o145 à g145. snmp-agent usm-user v3 o145 g145 snmp-agent group v3 g145 read-view v145 write-view v145 notify-view v145 snmp-agent mib-view included v145 iso # Configurer le contexte c145 pour l'agent. snmp-agent context c145 # Activer les notifications SNMP pour le module Event MIB. Spécifier le NMS xx.xx.xxx.xxx comme hôte cible pour les notifications. snmp-agent trap enable event-mib snmp-agent target-host trap address udp-domain xx.xx.xxx.xxx params securityname o145 v3 # Régler l'intervalle d'échantillonnage minimum de la MIB d'événement à 50 secondes. snmp mib event sample minimum 50 # Définisser le nombre maximal sur 200 pour les instances d'objet pouvant être échantillonnées simultanément. snmp mib event sample instance maximum 200 # Créer un déclencheur et entrer dans sa vue. Spécifier son propriétaire o145 et son nom t145. snmp mib event trigger owner o145 name t145 # Régler l'intervalle d'échantillonnage sur 60 secondes, il doit être supérieur ou égal à l'intervalle d'échantillonnage minimum. frequency 60 # Spécifier l'OID d'objet 1.3.6.1.2.1.4.24.4.1.1 comme objet surveillé. Activer le caractère générique OID. oid 1.3.6.1.2.1.4.24.4.1.1 wildcard oid # Configurer le contexte c145 pour l'objet surveillé et activer le caractère générique contexte. context c145 wildcard context # Spécifier le test d'existence pour le déclencheur. test existence quit # Activer le déclencheur d'échantillonnage. trigger enable quit
