[comment]: # ({382ff618-7d35b712})
# 10 Monitore um switch ou roteador de rede com o Zabbix

[comment]: # ({/382ff618-7d35b712})

[comment]: # ({f468c639-aea68f1a})
## Introdução

Este guia orienta você nas etapas necessárias para iniciar o monitoramento básico do seu switch ou roteador de rede usando o Zabbix.
Um roteador Cisco é usado como exemplo, mas o procedimento se aplica a qualquer dispositivo de rede habilitado para SNMP.

**Para quem é este guia**

Este guia foi desenvolvido para novos usuários do Zabbix e administradores de rede que desejam ativar rapidamente o monitoramento básico de dispositivos de rede.
Se você precisar de personalização avançada ou opções de configuração avançadas, consulte a página do [agente SNMP](/manual/config/items/itemtypes/snmp) ou a seção [Configuração](/manual/config) do manual do Zabbix.

**Pré-requisitos**

Antes de prosseguir com este guia, certifique-se de que você tenha:

-   Zabbix server e Zabbix frontend instalados: instale de acordo com as instruções para o seu sistema operacional (consulte [Instalação a partir de pacotes](https://www.zabbix.com/download) e [Instalação da interface web](/manual/installation/frontend)).
-   Zabbix agent instalado se for monitorar métricas de rede locais.
-   Dispositivo habilitado para SNMP: um switch ou roteador de rede (por exemplo, um roteador Cisco) com SNMP ativado.
-   [Arquivos MIB](/manual/config/items/itemtypes/snmp/mibs) instalados: a instalação de arquivos MIB permite que o Zabbix traduza OIDs numéricos em nomes e descrições legíveis.
Sem o suporte adequado a MIB, você poderá ver apenas valores numéricos, dificultando a configuração de items e a solução de problemas.

Para instalar arquivos MIB no Ubuntu:

1\. Instale o pacote de download de MIB:

```bash
sudo apt-get update
sudo apt-get install snmp-mibs-downloader
```

Se você precisar adicionar MIBs específicas do fornecedor (por exemplo, da Cisco, Juniper), coloque-as no diretório MIB apropriado:

-   Para sistemas baseados em Linux, os locais comuns incluem /usr/share/snmp/mibs/ ou /usr/local/share/snmp/mibs/.
-   Para instalações do Zabbix, os arquivos MIB podem ser armazenados em /var/lib/zabbix/mibs/.

Certifique-se de que a variável de ambiente MIBDIRS ou o arquivo snmp.conf inclua o caminho correto.

Para verificar se o seu sistema reconhece as novas MIBs, use:

```bash
snmptranslate -IR -On <MIB-NAME>::<object>
```

Para instruções detalhadas, consulte a documentação da sua biblioteca SNMP:

-   [Cisco MIBs](https://github.com/cisco/cisco-mibs)
-   [Juniper MIBs](https://apps.juniper.net/mib-explorer/)

2\. Edite o arquivo ``/etc/snmp/snmp.conf`` e comente a linha que começa com `mibs :` para permitir que o sistema carregue todas as MIBs disponíveis.

3\. Verifique executando um ``snmpwalk`` (por exemplo, ``snmpwalk -v 2c -c <sua_string_de_comunidade> <IP_do_dispositivo>``) e verifique se os OIDs são exibidos com nomes descritivos.

Dependendo do seu ambiente, algumas etapas deste guia podem ser ligeiramente diferentes.
Este guia é baseado em um ambiente executando Ubuntu e um dispositivo de rede Cisco Catalyst 3750V2-24FS sendo monitorado.

Pressupõe-se que seu dispositivo de rede já esteja fisicamente instalado e conectado.

[comment]: # ({/f468c639-aea68f1a})

[comment]: # ({aea0a787-703f62e1})
## Configurar o dispositivo de rede (exemplo de roteador Cisco)

Para monitoramento via SNMP, você deve configurar seu dispositivo de rede para permitir consultas SNMP.
O exemplo abaixo é para SNMPv2 e não leva em consideração as configurações existentes.
Atenção: a aplicação desses comandos pode substituir as configurações SNMP atuais.

Para um roteador Cisco, a configuração normalmente envolve as etapas descritas abaixo.

[comment]: # ({/aea0a787-703f62e1})

[comment]: # ({08cfb265-e36b1d35})
### Exemplo SNMPv2

1\. Habilite o SNMP e defina a string de comunidade.

[Faça login](https://www.cisco.com/c/en/us/support/docs/smb/switches/cisco-small-business-300-series-managed-switches/smb4982-access-an-smb-switch-cli-using-ssh-or-telnet.html) no console do seu roteador Cisco e entre no modo de configuração:

```default
configure terminal
```

Em seguida, [habilite o SNMP](https://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/7282-12.html) especificando uma string de comunidade somente leitura.
Por exemplo:

```default
snmp-server community <your_community_string> RO
```

Substitua ``<your_community_string>`` pela sua string de comunidade segura.
Nota: a opção RO (Read-Only) permite que o SNMP recupere dados do dispositivo, mas impede quaisquer alterações de configuração.

Recomenda-se restringir o acesso SNMP apenas aos dispositivos necessários por motivos de segurança.
Para obter mais orientações sobre como configurar listas de controle de acesso (ACLs), consulte a [documentação oficial da Cisco](https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus3000/sw/security/503_u2_2/Cisco_n3k_security_cg_503_u2_2_chapter7.html?dtid=osscdc000283).

2\. Salve a configuração.

Salve suas alterações para garantir que as configurações do SNMP persistam após uma reinicialização:

```default
write memory
```

[comment]: # ({/08cfb265-e36b1d35})

[comment]: # ({5c8aa85b-87017956})
### Exemplo SNMPv3

O SNMPv3 oferece segurança aprimorada com autenticação e criptografia.
Sua configuração é mais segura do que o SNMPv2 e deve ser verificada de acordo com a documentação específica do seu dispositivo.

1\. Crie um grupo SNMP.

Configure um grupo SNMPv3 com privacidade (criptografia) ativada:

```default
configure terminal
snmp-server group <seu_grupo> v3 priv
```

2\. Crie um usuário SNMP.

Adicione um usuário SNMPv3 com autenticação e privacidade.
Substitua os espaços reservados pelos valores desejados:

```default
snmp-server user <seu_usuario> <seu_grupo> v3 auth md5 <senha_autenticacao> priv aes 128 <senha_privacidade>
```

3\. Salve a configuração:

```default
write memory
```

Para mais detalhes ou instruções específicas do modelo, consulte os [tutoriais de configuração SNMP da Cisco](https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-16/snmp-xe-16-book/nm-snmp-cfg-snmp-support.html).
Este guia, no entanto, fornece as etapas básicas para habilitar o monitoramento SNMP.

[comment]: # ({/5c8aa85b-87017956})

[comment]: # ({9891bde8-8df5d064})
## Configurar o frontend do Zabbix

[comment]: # ({/9891bde8-8df5d064})

[comment]: # ({1cae7e5e-3dc3ccce})
### Criar um host no frontend do Zabbix

1\. Faça login no frontend do Zabbix.

2\. Adicione um novo host.

Navegue até *Coleta de dados > Hosts* e clique em *Criar host*.

-   *Nome do host*: informe um nome para o seu dispositivo (por exemplo, "Cisco Router").
-   Grupos de host: selecione um grupo existente ou crie um novo grupo, como "Network Devices".
-   Interfaces:
    -   Clique em *Adicionar* em Interfaces.
    -   Escolha *SNMP* como o tipo de interface.
    -   Informe o endereço IP ou o nome DNS do seu roteador Cisco.
    -   Defina a porta SNMP padrão (normalmente 161).
    -   Use o menu suspenso para selecionar a versão SNMP apropriada (por exemplo, SNMPv2).
    -   Para SNMPv1/v2, informe a string de comunidade no campo *SNMP community*.
    Para SNMPv3, credenciais adicionais (*Context name*, *Security name* e *Security level*, etc.) serão solicitadas.

3\. Vincular templates

No campo *Templates*, selecione o template SNMP que melhor corresponda ao seu dispositivo.
O Zabbix fornece uma variedade de [templates SNMP](/manual/config/templates_out_of_the_box/network_devices#devices) pré-configurados para muitas famílias de dispositivos.
Por exemplo, se você estiver monitorando um dispositivo Cisco, escolha o template correspondente ao sistema operacional ou modelo do seu dispositivo (como Cisco IOS SNMP ou Cisco Catalyst 3750\<device model\> SNMP).

4\. Clique em *Adicionar* para salvar o host.

![](../../../assets/en/manual/guides/switch_host.png){width="600"}

![](../../../assets/en/manual/guides/switch_host1.png){width="600"}

[comment]: # ({/1cae7e5e-3dc3ccce})

[comment]: # ({95c1af51-a35d4c3a})
## Visualizar métricas coletadas

Parabéns! O Zabbix agora está configurado para monitorar seu dispositivo de rede.

Dados mais recentes:

-   Navegue até Monitoring > Latest data no frontend do Zabbix.

![](../../../assets/en/manual/guides/switch_hosts.png){width="600"}

-   Selecione seu host "Cisco Router" (ou hosts descobertos) para visualizar métricas como tempo de atividade de hardware e da rede, perda de ICMP, ping e tempo de resposta, etc.

![](../../../assets/en/manual/guides/switch_data.png){width="600"}

-   Gráficos e telas:

Para visualizar os dados de desempenho, clique em *Graphs* ao lado dos itens SNMP para ver métricas detalhadas.

Como próximo passo, você pode:

-   [Adicionar itens SNMP personalizados](#create-snmp-items) para monitorar métricas adicionais.
-   [Configurar alertas de problema](#set-up-problem-alerts) para receber notificações sobre possíveis problemas.

[comment]: # ({/95c1af51-a35d4c3a})

[comment]: # ({9cbc3034-ff776e8a})
### Criar itens SNMP

Depois que o host estiver configurado, você pode criar itens para monitorar métricas específicas.
Observação: esta etapa é opcional se você estiver usando um template, pois os templates já contêm conjuntos padrão de itens.

1\. Identifique o OID SNMP:

Use o comando ``snmpwalk`` para listar os OIDs disponíveis no seu dispositivo.
Por exemplo:

```bash
snmpwalk -v 2c -c <your_community_string> <device_IP> .
```

Encontre o OID da métrica que você deseja monitorar (por exemplo, IF-MIB::ifHCInOctets.3 para tráfego de entrada na porta 3).
Para obter o OID numérico, você pode usar:

```bash
snmpget -v 2c -c <your_community_string> -On <device_IP> IF-MIB::ifHCInOctets.3
```

2\. Crie um item SNMP:

-   Navegue até *Coleta de dados > Hosts* e clique na aba *Itens* do seu host SNMP e clique em *Criar item*.
-   *Nome*: informe um nome descritivo (por exemplo, "Tráfego de entrada da porta 3").
-   *Tipo*: selecione *SNMP agent*.
-   *Chave*: forneça uma chave significativa (por exemplo, ``cisco.ifHCInOctets.3``).
-   *Interface do host*: verifique se a interface SNMP está selecionada.
-   *OID SNMP*: informe o OID usando um dos formatos suportados, por exemplo:
    -   ``get[1.3.6.1.2.1.31.1.1.1.6.3]`` para um único valor;
    -   ``walk[1.3.6.1.2.1.31.1.1.1.6.3]`` para recuperar de forma assíncrona uma subárvore de valores.

![](../../../assets/en/manual/guides/switch_item.png){width="600"}

-   *Pré-processamento* (se necessário): se o item retornar um contador cumulativo (como tráfego de interface), navegue até a aba *Pré-processamento* e adicione uma etapa de pré-processamento como "Change per second" para calcular a taxa.

![](../../../assets/en/manual/guides/switch_preprocessing.png){width="600"}

Para recuperar vários valores em uma única transação SNMP, você pode especificar vários OIDs usando a sintaxe ``walk[OID1,OID2,...]``.

[comment]: # ({/9cbc3034-ff776e8a})

[comment]: # ({53a42dcd-1b28232c})
### Traduzindo OIDs entre Números e Nomes MIB

Ao trabalhar com SNMP, pode ser necessário converter entre OIDs numéricos e seus respectivos nomes MIB.
Essa tradução ajuda a identificar e solucionar problemas de métricas com mais facilidade.

-   Traduzindo um nome MIB para um OID numérico: use o comando ``snmptranslate`` com a opção ``-On``.
Por exemplo, para traduzir o nome MIB ``IF-MIB::ifHCInOctets.3`` para seu OID numérico, execute:

```bash
snmptranslate -On IF-MIB::ifHCInOctets.3
```

Esse comando pode retornar:

```bash
.1.3.6.1.2.1.31.1.1.1.6.3
```

-   Traduzindo um OID numérico para seu nome MIB: use o comando ``snmptranslate`` com a opção ``-IR`` (ou ``-m ALL``) para reverter a tradução.
Por exemplo, para traduzir o OID numérico ``.1.3.6.1.2.1.31.1.1.1.6.3`` de volta para seu nome MIB, execute:

```bash
snmptranslate -IR -On .1.3.6.1.2.1.31.1.1.1.6.3
```

Esse comando pode retornar:

```bash
IF-MIB::ifHCInOctets.3
```

[comment]: # ({/53a42dcd-1b28232c})

[comment]: # ({675e2b28-c98bb7b1})
## Configurar alertas de problemas

Este guia fornece etapas básicas de configuração para o envio de alertas por e-mail.

1\. Navegue até [*Configurações do usuário > Perfil*](/manual/web_interface/user_profile), alterne para a guia *Mídia* e [adicione seu e-mail](/manual/installation/quick_guides/basic_config/login#adding-user).

![](../../../assets/en/manual/quickstart/new_media.png){width="600"}

2\. Siga o guia para [Receber uma notificação de problema](/manual/installation/quick_guides/basic_config/notification).

Da próxima vez que o Zabbix detectar um problema, você deverá receber um alerta por e-mail.

[comment]: # ({/675e2b28-c98bb7b1})

[comment]: # ({1be06fac-a0c24d90})
## Teste sua configuração

Para garantir que o Zabbix detecte corretamente problemas de desempenho de rede, simule um problema real aumentando o limite de tempo de resposta do ping ICMP.

1\. Abra a configuração do seu host "Cisco Router" no Zabbix.

2\. Navegue até a guia *Macros* e selecione *Macros herdadas e do host*.

3\. Localize a macro ``{$ICMP_RESPONSE_TIME_WARN}`` (ou uma macro de limite de tempo de resposta semelhante).

4\. Defina um valor muito baixo (por exemplo, 0.001) para acionar um alerta quando a resposta do ping exceder esse valor.

5\. Clique em *Atualizar* para aplicar as alterações.

6\. Aguarde alguns instantes para que o Zabbix detecte o problema simulado.

7\. Navegue até *Monitoramento > Problemas* para verificar se um alerta aparece (por exemplo, "Tempo de resposta do ping ICMP alto").

![](../../../assets/en/manual/guides/switch_problem.png){width="600"}

Se os alertas estiverem [configurados](#set-up-problem-alerts), você também deverá receber um alerta de problema.

8\. Retorne o valor da macro para sua configuração original e clique em *Atualizar* para salvar as alterações.

9\. Confirme que o problema foi resolvido e desapareceu da seção *Problemas*.

[comment]: # ({/1be06fac-a0c24d90})

[comment]: # ({28c7c206-d7537870})
## Solução de problemas de monitoramento SNMP

Se você notar que o ícone de SNMP no frontend do Zabbix aparece em VERMELHO ou que nenhum dado está sendo coletado, tente as etapas a seguir:

1\. Verifique a conectividade SNMP.

Para SNMPv2, execute o seguinte comando no seu server Zabbix:

```bash
snmpwalk -v 2c -c <community_string> <device_IP> .
```

Esse comando verifica se o dispositivo responde às consultas SNMP.

Para SNMPv3, inclua as credenciais SNMPv3 apropriadas:

```bash
snmpwalk -v3 -u <your_user> -l authPriv -a MD5 -A <auth_password> -x AES -X <priv_password> <device_IP> .
```

Isso verifica se as credenciais SNMPv3 estão corretas e se o dispositivo está respondendo de forma segura.

2\. Certifique-se de que os arquivos MIB estejam instalados e habilitados conforme descrito nos [pré-requisitos](#prerequisites).
Para garantir isso, o comando a seguir não deve retornar erro ao consultar um dispositivo de rede:

```bash
snmpwalk -v 2c -c <your_community_string> <device_IP> ifInOctets
```

Isso deve retornar OIDs traduzidos sem erros.

3\. Confirme se a versão do SNMP e as credenciais configuradas no Zabbix correspondem às definidas no seu dispositivo.
Por exemplo, revise as configurações de SNMP na configuração do host no Zabbix e verifique-as em relação à configuração do seu dispositivo.
Em um dispositivo Cisco, você pode verificar as configurações de SNMP executando:

```default
show running-config | include snmp
```

Isso garante que a string de comunidade (para SNMPv2) ou os detalhes do usuário SNMPv3 estejam corretos.

4\. Verifique se o SNMP está corretamente habilitado no seu dispositivo de rede.
Em um roteador Cisco, faça login no console e execute:

```default
show running-config | include snmp
```

Esse comando exibe a configuração SNMP ativa e ajuda a confirmar que o SNMP está configurado corretamente.

5\. Certifique-se de que nenhum firewall ou problema de rede esteja bloqueando o tráfego SNMP (normalmente na porta 161) entre o server Zabbix e o dispositivo.
Você pode testar a conectividade usando:

nc -zv <device_IP> 161

``nc -zv`` verifica se a porta 161 está aberta e escutando no dispositivo.

Além disso, se você estiver usando UFW no Ubuntu, verifique o status do firewall:

```bash
sudo ufw status
```

Ou, para iptables:

```bash
sudo iptables -L -n
```

6\. Revise os arquivos de log do server Zabbix em busca de erros relacionados ao SNMP para ajudar a identificar o problema:

```bash
tail -f /tmp/zabbix_server.log
```

``tail -f`` permite monitorar atualizações do log em tempo real.

[comment]: # ({/28c7c206-d7537870})

[comment]: # ({20664b64-aeb05d60})
**Veja também:**

- [Criando um item](/manual/config/items/item) - saiba como adicionar métricas adicionais.
- [Agent SNMP](/manual/config/items/itemtypes/snmp) - informações adicionais sobre monitoramento SNMP com o Zabbix.
- [Templates padronizados para dispositivos de rede](/manual/config/templates_out_of_the_box/network_devices) - informações sobre os templates SNMP disponíveis.
- [Descoberta de OIDs SNMP](/manual/discovery/low_level_discovery/examples/snmp_oids_walk) - informações adicionais sobre descoberta SNMP em um switch.
- [Configurando uma regra de descoberta de rede](/manual/discovery/network_discovery/rule) - informações adicionais sobre como configurar uma regra de descoberta de rede usada pelo Zabbix para descobrir hosts e serviços.

[comment]: # ({/20664b64-aeb05d60})
