[comment]: # translation:outdated

[comment]: # ({03437da9-03437da9})
# 4 Descoberta de OIDs SNMP

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

[comment]: # ({cf8bf5a8-cf8bf5a8})
#### Visão geral

Nesta seção vamos realizar um SNMP
[discovery](/manual/discovery/low_level_discovery) em um switch.

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

[comment]: # ({d8452a6a-d8452a6a})
#### Chave do item

Ao contrário da descoberta de sistema de arquivos e interface de rede, o item não
não necessariamente tem que ter uma chave "snmp.discovery" - tipo de item de SNMP
agente é suficiente.

A descoberta de OIDs SNMP é suportada desde o servidor/proxy Zabbix 2.0.

Para configurar a regra de descoberta, faça o seguinte:

- Vá para: *Configuração* → *Modelos*
- Clique em *Discovery* na linha de um modelo apropriado

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

- Clique em *Criar regra de descoberta* no canto superior direito da
    tela
- Preencha o formulário de regra de descoberta com os detalhes necessários como no
    captura de tela abaixo

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

Todos os campos de entrada obrigatórios estão marcados com um asterisco vermelho.

Os OIDs a serem descobertos são definidos no campo SNMP OID nas seguintes
formato: `discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]`

onde *{\#MACRO1}*, *{\#MACRO2}* … são nomes válidos de macro lld e *oid1*,
*oid2*... são OIDs capazes de gerar valores significativos para esses
macros. Uma macro interna *{\#SNMPINDEX}* contendo o índice do
OID descoberto é aplicado a entidades descobertas. O descoberto
as entidades são agrupadas pelo valor da macro *{\#SNMPINDEX}*.

Para entender o que queremos dizer, vamos realizar alguns snmpwalks em nosso 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

E defina SNMP OID para:
`discovery[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]`

Agora esta regra descobrirá entidades com macros {\#IFDESCR} definidas como
**WAN**, **LAN1** e **LAN2**, macros {\#IFPHYSADDRESS} definidas como
**8:0:27:90:7a:75**, **8:0:27:90:7a:76** e **8:0:27:2b:af:9e**,
macros {\#SNMPINDEX} definidas para os índices de OIDs descobertos **1**, **2** e
**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"
    }
]
```

Se uma entidade não tiver o OID especificado, então o
macro será omitida para esta entidade. Por exemplo, se tivermos o
seguintes dados:

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

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

Então, neste caso, a descoberta de SNMP
`discovery[{#IFDESCR}, ifDescr, {#IFALIAS}, ifAlias]` retornará o
seguinte estrutura:

``` {.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]: # ({/d8452a6a-d8452a6a})

[comment]: # ({cc4d2566-cc4d2566})
#### Protótipos de itens

A captura de tela a seguir ilustra como podemos usar essas macros no item
protótipos:

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

Novamente, criando quantos protótipos de itens forem necessários:

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

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

[comment]: # ({042beac9-042beac9})
#### Protótipos de gatilho

A captura de tela a seguir ilustra como podemos usar essas macros em
protótipos de gatilho:

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

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

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

[comment]: # ({fbe4f4fa-fbe4f4fa})
#### Protótipos de gráficos

A captura de tela a seguir ilustra como podemos usar essas macros em
protótipos de gráficos:

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

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

Um resumo da nossa regra de descoberta:

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

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

[comment]: # ({76c066a2-76c066a2})
#### Entidades descobertas

Quando o servidor for executado, ele criará itens reais, gatilhos e gráficos baseados
nos valores que a regra de descoberta SNMP retorna. Na configuração do host
eles são prefixados com um link laranja para uma regra de descoberta eles vêm
a partir de.

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

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

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

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