Monitore um switch de rede ou roteador com o Zabbix

Introdução

Este guia orienta você pelas 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 é 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 sofisticadas, 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 de 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 do fabricante (por exemplo, da Cisco ou da Juniper), coloque-as no diretório MIB apropriado:

  • Em sistemas baseados em Linux, os locais comuns incluem /usr/share/snmp/mibs/ ou /usr/local/share/snmp/mibs/.
  • Em 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 ser ligeiramente diferentes. Este guia é baseado em um ambiente com Ubuntu e um dispositivo de rede Cisco Catalyst 3750V2-24FS sendo monitorado.

Parte-se do pressuposto de que o seu dispositivo de rede já está fisicamente instalado e conectado.

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.

Exemplo SNMPv2

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

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

configure terminal

Em seguida, habilite o SNMP especificando uma string de comunidade somente leitura. Por exemplo:

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.

2. Salve a configuração.

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

write memory

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:

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:

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

3. Salve a configuração:

write memory

Para mais detalhes ou instruções específicas do modelo, consulte os tutoriais 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é 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 hosts: selecione um grupo existente ou crie um novo grupo, como "Network Devices".
  • Interfaces:
    • Clique em Adicionar 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 string de comunidade no campo Comunidade SNMP. Para SNMPv3, credenciais adicionais (Nome do contexto, Nome de segurança e Nível de segurança, 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é-configurados para muitas famílias de dispositivos. Por exemplo, se você estiver monitorando um dispositivo Cisco, escolha o template que corresponde 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.

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

Esse comando pode retornar:

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

Esse 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é Configurações do usuário > Perfil, vá para a aba Media e adicione seu e-mail.

2. Siga o guia para Receber uma notificação de problema.

Na próxima vez 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 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").

Se os alertas estiverem configurados, 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.

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:

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:

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. Para garantir isso, o comando a seguir não deve retornar erro ao 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 verifique-as em relação à 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 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:

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:

sudo ufw status

Ou, para iptables:

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:

tail -f /tmp/zabbix_server.log

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

Veja também: