This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

3 Découverte des OID SNMP

Aperçu

Dans 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'une clé "snmp.discovery" - le type d'élément agent SNMP est suffisant.

La découverte des OID SNMP est supportée depuis le serveur/proxy Zabbix 2.0.

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

  • Allez dans ConfigurationModèle
  • Cliquez sur Découverte sur la ligne d'un modèle

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

Tous les champs de saisie 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 la valeur de macro {#SNMPINDEX}.

Pour comprendre ce que nous voulons dire, exécutons quelques commandes snmpwalks sur notre switch :

$ 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éfinissez l'OID SNMP sur : discovery[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]

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

  {
             "data": [
                 {
                     "{#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"

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

  {
             "data": [
                 {
                     "{#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 l'utilisation de ces macros dans des prototypes d'élément :

Encore une fois, créez autant de prototypes d’élément que nécessaire :

Prototypes de déclencheur

La capture d'écran suivante montre comment utiliser ces macros dans des prototypes de déclencheurs :

Prototypes de graphiques

La capture d'écran suivante montre comment utiliser ces macros dans des prototypes de graphiques :

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

Entités découvertes

Lorsque le serveur est exécuté, 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.