Monitore um switch ou roteador de rede com o Zabbix

Introdução

Este guia orienta você pelas etapas necessárias para iniciar o monitoramento básico do seu switch de rede ou roteador 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 é destinado

Este guia foi desenvolvido para novos usuários do Zabbix e administradores de rede que desejam habilitar rapidamente o monitoramento básico de dispositivos de rede. Se você precisar de personalização avançada ou opções de configuração mais detalhadas, consulte a página SNMP agent ou a seção Configuration do manual do Zabbix.

Pré-requisitos

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

  • Zabbix server e Zabbix frontend instalados: instale de acordo com as instruções para o seu sistema operacional (consulte Installation from packages e Web interface installation).
  • Zabbix agent instalado, se estiver monitorando métricas locais da rede.
  • Dispositivo habilitado para SNMP: um switch ou roteador de rede (por exemplo, um roteador Cisco) com SNMP habilitado.
  • Arquivos MIB instalados: a instalação dos arquivos MIB permite que o Zabbix traduza OIDs numéricos em nomes e descrições legíveis por humanos. Sem o suporte adequado a MIB, você poderá ver apenas valores numéricos, o que dificulta 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:

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

Se você precisar adicionar MIBs específicas de fornecedores (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:

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

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

2. Edite /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 <your_community_string> <device_IP>) e confira se os OIDs são exibidos com nomes descritivos.

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

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

Configure 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 conta configurações existentes. Cuidado: aplicar estes comandos pode substituir as configurações atuais de SNMP.

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

Exemplo de SNMPv2

1. Ative o SNMP e defina a community string.

Faça login no console do seu roteador Cisco e entre no modo de configuração:

configure terminal

Em seguida, ative o SNMP especificando uma community string somente leitura. Por exemplo:

snmp-server community <your_community_string> RO

Substitua <your_community_string> pela sua community string segura. Observação: 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 ao SNMP apenas aos dispositivos necessários, por motivos de segurança. Para mais orientações sobre como configurar listas de controle de acesso (ACLs), consulte a documentação oficial da Cisco.

2. Salve a configuração.

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

write memory

Exemplo de SNMPv3

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

1. Crie um grupo SNMP.

Configure um grupo SNMPv3 com privacidade (criptografia) habilitada:

configure terminal
snmp-server group <your_group> v3 priv

2. Crie um usuário SNMP.

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

snmp-server user <your_user> <your_group> v3 auth md5 <auth_password> priv aes 128 <priv_password>

3. Salve a configuração:

write memory

Para mais detalhes ou instruções específicas do modelo, você pode consultar tutoriais externos de configuração SNMP da Cisco. Este guia, no entanto, fornece as etapas básicas para habilitar o monitoramento SNMP.

Configurar o frontend do Zabbix

Criar um host no frontend do Zabbix

1. Faça login no frontend do Zabbix.

2. Adicione um novo host.

Navegue até Data collection > Hosts e clique em Create host.

  • Host name: informe um nome para o seu dispositivo (por exemplo, "Cisco Router").
  • Host groups: selecione um grupo existente ou crie um novo grupo, como "Network Devices".
  • Interfaces:
    • Clique em Add em Interfaces.
    • Escolha SNMP como 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 community string 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 pré-criados para muitas famílias de dispositivos. Por exemplo, se você estiver monitorando um dispositivo Cisco, escolha o template que corresponde ao sistema operacional ou ao modelo do seu dispositivo (como Cisco IOS SNMP ou Cisco Catalyst 3750<device model> SNMP).

4. Clique em Add para salvar o host.

Ver 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.

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

  • 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:

Criar items SNMP

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

1. Identifique o OID SNMP:

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

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:

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

2. Crie um item SNMP:

  • Navegue até Data collection > Hosts e clique na aba Items do seu host SNMP e clique em Create item.
  • Name: informe um nome descritivo (por exemplo, "Tráfego de entrada da porta 3").
  • Type: selecione SNMP agent.
  • Key: forneça uma key significativa (por exemplo, cisco.ifHCInOctets.3).
  • Host interface: verifique se a interface SNMP está selecionada.
  • SNMP OID: 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.

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

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

Traduzindo OIDs entre nomes numéricos e nomes MIB

Ao trabalhar com SNMP, talvez seja 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.

  • Para traduzir 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:
snmptranslate -On IF-MIB::ifHCInOctets.3

Este comando pode retornar:

.1.3.6.1.2.1.31.1.1.1.6.3
  • Para traduzir 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:
snmptranslate -IR -On .1.3.6.1.2.1.31.1.1.1.6.3

Este comando pode retornar:

IF-MIB::ifHCInOctets.3

Configurar alertas de problema

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

1. Navegue até User settings > Profile, altere para a aba Media e adicione seu e-mail.

2. Siga o guia para Receiving a problem notification.

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

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 host "Cisco Router" no Zabbix.

2. Navegue até a aba Macros e selecione Inherited and host macros.

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

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

5. Clique em Update para aplicar as alterações.

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

7. Navegue até Monitoring > Problems para verificar se um alerta aparece (por exemplo, "High ICMP ping response time").

Se os alertas estiverem configurados, você também deverá receber um alerta de problema.

8. Reverta o valor da macro para a configuração original e clique em Update para salvar as alterações.

9. Confirme que o problema foi resolvido e desaparece da seção Problems.

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 seguintes etapas:

1. Verifique a conectividade SNMP.

Para SNMPv2, execute o seguinte comando a partir do seu server Zabbix:

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

Este comando verifica se o dispositivo responde a consultas SNMP.

Para SNMPv3, inclua as credenciais apropriadas de SNMPv3:

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

Isso verifica se as credenciais de SNMPv3 estão corretas e se o dispositivo está respondendo com segurança.

2. Certifique-se de que os arquivos MIB estejam instalados e habilitados conforme descrito nos pré-requisitos. Para garantir isso, o comando a seguir não deve retornar erro quando você consultar um dispositivo de rede:

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 compare-as com a configuração do seu dispositivo. Em um dispositivo Cisco, você pode verificar as configurações de SNMP executando:

show running-config | include snmp

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

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

show running-config | include snmp

Este comando exibe a configuração SNMP ativa e ajuda a confirmar se 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:

sudo ufw status

Ou, para iptables:

sudo iptables -L -n

6. Revise os arquivos de log do server Zabbix para identificar quaisquer erros relacionados a SNMP e ajudar a localizar o problema:

tail -f /tmp/zabbix_server.log

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

Veja também: