Ad Widget

Collapse

trim de chaine retournée sur macro lors de découverte snmp

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • jean-louis.abegg
    Member
    • Feb 2020
    • 37

    #1

    trim de chaine retournée sur macro lors de découverte snmp

    Bonjour tous,

    Je travaille à une découverte snmp minimaliste sur des switchs avaya.
    J'ai créé un template basé sur une découverte automatique des ports du switch.
    Mon OID de découverte est discovery[{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATU S},1.3.6.1.2.1.2.2.1.7,{#IFALIAS},1.3.6.1.2.1.31.1 .1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR },1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1. 3,{#IFINDEX},1.3.6.1.2.1.2.2.1.1] et fonctionne sans problème.
    Mon problème vient des prototypes d'éléments basé sur cette découverte initiale, notamment sur {#IFDESCR} qui a été récupéré lors de la découverte.
    Je me base sur {#IFDESCR} pour donner un nom aux éléments liés aux ports réseaux découverts, et cela fonctionne: NOM=> Interface {#IFDESCR}: etat operationnel, clé => net.if.status[ifOperStatus.{#SNMPINDEX}] et OID SNMP => 1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}
    Le problème vient du remplissage SNMP de AVAYA...
    Avaya Virtual Services Platform 7254XSQ - 1000BaseTX Port mgmt
    Avaya Virtual Services Platform 7254XSQ - 10GbNone Port 1/1
    Avaya Virtual Services Platform 7254XSQ - GbicLx Port 1/2 ...
    Et cette longueur de chaine bloque la visibilité... je souhaiterais donc raccourcir cette chaine pour obtenir, comme nom d'interface
    1000BaseTX Port mgmt ou Port mgmt
    10GbNone Port 1/1 ou Port 1/1
    GbicLx Port 1/2 ou Port 1/2 ...

    Mais comme c'est une découverte automatique, je n'arrive pas a créer mes prototypes d'éléments avec une expression interprétée sur la macro {#IFDESCR} sur le champ NOM...

    Quelqu'un a-t-il une expérience en ce domaine?

    Cordialement à tous

  • jean-louis.abegg
    Member
    • Feb 2020
    • 37

    #2
    Eureka!
    Je me réponds à moi-même pour partager.
    Une fonction peut être appliquée à une macro de découverte.
    Bon, il n'y en a pas pléthore mais cela suffit pour ce cas.
    Les 2 fonctions possibles sont regsub et iregsub
    C'est une fonction de type regex, nous permettant de manipuler les chaines de caractères.
    Sur ces foutus Avaya, lorsque je récupère un ifDescr, la chaine retournée est du type: copyright regardez moi - info intéressante.
    un regsub ("(.*) - (.*)", \2) nous renverrais la seconde partie de la chaine, celle qui nous intéresse.
    Dans mes prototypes d'éléments, déclencheurs et graphiques je nommais les interface par la macro de découverte {#IFDESCR}
    Ce qui donnais par exemple: interface {#IFDESCR} : etat avec pour résultat interface Avaya Virtual Services Platform 7254XSQ - 10GbNone Port 1/1 : etat
    Il suffit donc d'appliquer cette fonction sur la macros dans le prototype d'élément,declencheur ou graphique, ce qui donne : interface {{#IFDESCR}.regsub("(.*) - (.*)", \2)} : etat avec pour résultat interface 10GbNone Port 1/1 : etat

    Cordialement à tous

    Comment

    Working...