[comment]: # ({89a08baf-03437da9})
# 5 Descubrimiento de OIDs SNMP (heredado)

[comment]: # ({/89a08baf-03437da9})

[comment]: # ({cf8bf5a8-cf8bf5a8})
#### Descripción general

En esta sección realizaremos un
[descubrimiento](/manual/discovery/low_level_discovery) SNMP en un switch.

[comment]: # ({/cf8bf5a8-cf8bf5a8})

[comment]: # ({57e63f05-d8452a6a})
#### Clave del item

A diferencia de la detección de sistema de archivos e interfaces de red, el item no necesariamente tiene que tener una clave "snmp.discovery" - el tipo de item de SNMP agent es suficiente.

Para configurar la regla de detección, haga lo siguiente:

-   Vaya a: *Data collection* → *Templates*
-   Haga clic en *Discovery* en la fila de la template correspondiente

![](../../../../../assets/en/manual/discovery/low_level_discovery/templates_snmp.png)

-   Haga clic en *Create discovery rule* en la esquina superior derecha de la pantalla
-   Complete el formulario de la regla de detección con los detalles requeridos, como en la captura de pantalla siguiente

![](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_snmp.png)

Todos los campos de entrada obligatorios están marcados con un asterisco rojo.

Los OID que se van a detectar se definen en el campo SNMP OID con el siguiente formato: `discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]`

donde *{\#MACRO1}*, *{\#MACRO2}* … son nombres válidos de macros lld y *oid1*, *oid2*... son OID capaces de generar valores significativos para estas macros. A las entidades detectadas se les aplica una macro integrada *{\#SNMPINDEX}* que contiene el índice del OID detectado. Las entidades detectadas se agrupan por el valor de la macro *{\#SNMPINDEX}*.

A continuación se muestra un ejemplo en el que se realizan varios snmpwalks en el 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

Y el SNMP OID se establece en:
`discovery[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]`

Ahora esta regla detectará entidades con las macros {\#IFDESCR} establecidas en **WAN**, **LAN1** y **LAN2**, las macros {\#IFPHYSADDRESS} establecidas en **8:0:27:90:7a:75**, **8:0:27:90:7a:76** y **8:0:27:2b:af:9e**, y las macros {\#SNMPINDEX} establecidas en los índices de los OID detectados **1**, **2** y **3**:

``` {.java}
[
    {
        "{#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 una entidad no tiene el OID especificado, la macro correspondiente se omitirá para esa entidad. Por ejemplo, si tenemos los siguientes datos:

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

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

Entonces, en este caso, la detección SNMP
`discovery[{#IFDESCR}, ifDescr, {#IFALIAS}, ifAlias]` devolverá la siguiente estructura:

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

[comment]: # ({/57e63f05-d8452a6a})

[comment]: # ({96106d89-cc4d2566})
#### Prototipos de métricas

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

![](../../../../../assets/en/manual/discovery/low_level_discovery/item_prototype_snmp.png)

Puede crear tantos prototipos de métricas como sea necesario:

![](../../../../../assets/en/manual/discovery/low_level_discovery/item_prototypes_snmp.png){width="600"}

[comment]: # ({/96106d89-cc4d2566})

[comment]: # ({da4e62e5-042beac9})
#### Prototipos de disparadores

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

![](../../../../../assets/es/manual/discovery/low_level_discovery/trigger_prototype_snmp.png){width="600"}

![](../../../../../assets/es/manual/discovery/low_level_discovery/trigger_prototypes_snmp.png){width="600"}

[comment]: # ({/da4e62e5-042beac9})

[comment]: # ({29d1b142-fbe4f4fa})
#### Prototipos de gráficos

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

![](../../../../../assets/es/manual/discovery/low_level_discovery/graph_prototype_snmp.png){width="600"}

![](../../../../../assets/es/manual/discovery/low_level_discovery/graph_prototypes_snmp.png){width="600"}

Un resumen de nuestra regla de descubrimiento:

![](../../../../../assets/es/manual/discovery/low_level_discovery/lld_rules_snmp.png){width="600"}

[comment]: # ({/29d1b142-fbe4f4fa})

[comment]: # ({16927fe4-76c066a2})
#### Entidades descubiertas

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

![](../../../../../assets/es/manual/discovery/low_level_discovery/discovered_items_snmp.png){width="600"}

![](../../../../../assets/es/manual/discovery/low_level_discovery/discovered_triggers_snmp.png){width="600"}

![](../../../../../assets/es/manual/discovery/low_level_discovery/discovered_graphs_snmp.png){width="600"}

[comment]: # ({/16927fe4-76c066a2})
