Esta es una traducción de la página de documentación original en español. Ayúdanos a mejorarla.

4 Descubrimiento de OID SNMP

Descripción general

En este apartado realizaremos un descubrimiento SNMP en un conmutador.

Item key

Unlike with file system and network interface discovery, the item does not necessarily has to have an "snmp.discovery" key - item type of SNMP agent is sufficient.

Discovery of SNMP OIDs is supported since Zabbix server/proxy 2.0.

To configure the discovery rule, do the following:

  • Go to: ConfigurationTemplates
  • Click on Discovery in the row of an appropriate template

  • Click on Create discovery rule in the upper right corner of the screen
  • Fill in the discovery rule form with the required details as in the screenshot below

All mandatory input fields are marked with a red asterisk.

The OIDs to discover are defined in SNMP OID field in the following format: discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]

where {#MACRO1}, {#MACRO2} … are valid lld macro names and oid1, oid2... are OIDs capable of generating meaningful values for these macros. A built-in macro {#SNMPINDEX} containing index of the discovered OID is applied to discovered entities. The discovered entities are grouped by {#SNMPINDEX} macro value.

To understand what we mean, let us perform few snmpwalks on our 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

And set SNMP OID to: discovery[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]

Now this rule will discover entities with {#IFDESCR} macros set to WAN, LAN1 and LAN2, {#IFPHYSADDRESS} macros set to 8:0:27:90:7a:75, 8:0:27:90:7a:76, and 8:0:27:2b:af:9e, {#SNMPINDEX} macros set to the discovered OIDs indexes 1, 2 and 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"
           }
       ]

If an entity does not have the specified OID, then the corresponding macro will be omitted for this entity. For example if we have the following data:

ifDescr.1 "Interface #1"
       ifDescr.2 "Interface #2"
       ifDescr.4 "Interface #4"
       
       ifAlias.1 "eth0"
       ifAlias.2 "eth1"
       ifAlias.3 "eth2"
       ifAlias.5 "eth4"

Then in this case SNMP discovery discovery[{#IFDESCR}, ifDescr, {#IFALIAS}, ifAlias] will return the following structure:

[
           {
               "{#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"
           }
       ]

Prototipos de métricas

La siguiente captura de pantalla ilustra cómo podemos usar estas macros en prototipos de métricas:

Puede crear tantos prototipos de métricas como necesite:

Prototipos de iniciadores

La siguiente captura de pantalla ilustra cómo podemos usar estas macros en prototipos de iniciadores:

Prototipos de gráficos

La siguiente captura de pantalla ilustra cómo podemos usar estas macros en prototipos de gráficos:

Un resumen de nuestra regla de descubrimiento:

Entidades descubiertas

Cuando el servidor se ejecuta, creará métricas, iniciadores y gráficos reales basados en los valores que devuelve la regla de descubrimiento SNMP. En la configuración del equipo tienen el prefijo de un enlace naranja a una regla de descubrimiento de la que provienen.