5 Découverte des OID SNMP (hérité)

Overview

ans cette section, nous allons effectuer une découverte SNMP sur un switch.

Clé d'élément

Contrairement à la découverte du système de fichiers et de l'interface réseau, l'élément n'a pas nécessairement besoin d'avoir une clé "snmp.discovery" - un type d'élément de l'agent SNMP suffit.

Pour configurer la règle de découverte, procédez comme suit :

  • Allez dans : Collecte de donnéesModèles
  • Cliquez sur Découverte dans la ligne du modèle approprié

  • Cliquez sur Créer une règle de découverte dans le coin supérieur droit de l'écran
  • Renseignez le formulaire de règle de découverte avec les détails requis, comme dans la capture d'écran ci-dessous

Tous les champs obligatoires sont marqués d'un astérisque rouge.

Les OID à découvrir sont définis dans le champ SNMP OID au format suivant : discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]

{#MACRO1}, {#MACRO2} … sont des noms de macro LLD valides et oid1, oid2... sont des OID capables de générer des valeurs significatives pour ces macros. Une macro intégrée {#SNMPINDEX} contenant l'index de l'OID découvert est appliquée aux entités découvertes. Les entités découvertes sont regroupées par valeur de macro {#SNMPINDEX}.

Pour comprendre ce que cela signifie, effectuons quelques snmpwalks sur notre commutateur :

$ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: WAN
IF-MIB::ifDescr.2 = STRING: LAN1
IF-MIB::ifDescr.3 = STRING: LAN2

$ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifPhysAddress
IF-MIB::ifPhysAddress.1 = STRING: 8:0:27:90:7a:75
IF-MIB::ifPhysAddress.2 = STRING: 8:0:27:90:7a:76
IF-MIB::ifPhysAddress.3 = STRING: 8:0:27:2b:af:9e

Et définissons SNMP OID sur : discovery[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]

Cette règle découvrira maintenant des entités avec les macros {#IFDESCR} définies sur WAN, LAN1 et LAN2, les macros {#IFPHYSADDRESS} définies sur 8:0:27:90:7a:75, 8:0:27:90:7a:76 et 8:0:27:2b:af:9e, et les macros {#SNMPINDEX} définies sur les index d'OID découverts 1, 2 et 3 :

[
    {
        "{#SNMPINDEX}": "1",
        "{#IFDESCR}": "WAN",
        "{#IFPHYSADDRESS}": "8:0:27:90:7a:75"
    },
    {
        "{#SNMPINDEX}": "2",
        "{#IFDESCR}": "LAN1",
        "{#IFPHYSADDRESS}": "8:0:27:90:7a:76"
    },
    {
        "{#SNMPINDEX}": "3",
        "{#IFDESCR}": "LAN2",
        "{#IFPHYSADDRESS}": "8:0:27:2b:af:9e"
    }
]

Si une entité ne possède pas l'OID spécifié, la macro correspondante sera omise pour cette entité. Par exemple, si nous avons les données suivantes :

ifDescr.1 "Interface #1"
ifDescr.2 "Interface #2"
ifDescr.4 "Interface #4"

ifAlias.1 "eth0"
ifAlias.2 "eth1"
ifAlias.3 "eth2"
ifAlias.5 "eth4"

Alors, dans ce cas, la découverte SNMP discovery[{#IFDESCR}, ifDescr, {#IFALIAS}, ifAlias] renverra la structure suivante :

[
    {
        "{#SNMPINDEX}": 1,
        "{#IFDESCR}": "Interface #1",
        "{#IFALIAS}": "eth0"
    },
    {
        "{#SNMPINDEX}": 2,
        "{#IFDESCR}": "Interface #2",
        "{#IFALIAS}": "eth1"
    },
    {
        "{#SNMPINDEX}": 3,
        "{#IFALIAS}": "eth2"
    },
    {
        "{#SNMPINDEX}": 4,
        "{#IFDESCR}": "Interface #4"
    },
    {
        "{#SNMPINDEX}": 5,
        "{#IFALIAS}": "eth4"
    }
]

Prototypes d'élément

La capture d'écran suivante illustre comment nous pouvons utiliser ces macros dans les prototypes d'éléments :

Vous pouvez créer autant de prototypes d'articles que nécessaire :

Prototypes de déclencheur

La capture d'écran suivante illustre comment nous pouvons utiliser ces macros dans des prototypes de déclencheur :

Prototypes de graphiques

La capture d'écran suivante illustre comment nous pouvons utiliser ces macros dans des prototypes de graphe :

Un résumé de notre règle de découverte :

Entités découvertes

Lorsque le serveur s'exécute, il crée des éléments réels, des déclencheurs et des graphiques en fonction des valeurs renvoyées par la règle de découverte SNMP. Dans la configuration de l'hôte, ils sont précédés d'un lien orange vers une règle de découverte d'origine.