Desvendando o Zabbix e SNMP: Monitorar Dispositivos de Rede
Já se deparou com um switch, roteador, impressora ou qualquer outro dispositivo de rede e pensou nele como uma “caixa preta”? Sabemos que ele está funcionando, mas não temos ideia do que está acontecendo lá dentro: Qual o volume de tráfego em cada porta? A temperatura está normal? Quantas páginas foram impressas hoje?
Esses dispositivos são vitais para nossa infraestrutura, mas muitas vezes não podemos instalar um agente de monitoramento neles, como faríamos em um servidor Linux ou Windows. E então, como conseguimos a visibilidade necessária?
A resposta é um protocolo poderoso e universal que funciona como uma linguagem comum para esses equipamentos: o SNMP (Simple Network Management Protocol). Neste guia, vamos desmistificar o SNMP e mostrar, passo a passo, como usá-lo com o Zabbix para transformar suas caixas pretas em livros abertos.
A Analogia do Painel de Controle: Entendendo o SNMP
Para simplificar, imagine que seu roteador de rede é um carro. O Zabbix, nosso sistema de monitoramento, é o motorista que precisa saber o que está acontecendo com o veículo. O SNMP é o painel do carro.
- Gerente (Manager): É o nosso Zabbix Server. Ele é o “motorista” que olha para o painel.
- Agente (Agent): É o próprio dispositivo de rede (roteador, switch, etc.). Ele possui um “painel” embutido com todos os seus indicadores.
- MIB (Management Information Base): Pense na MIB como o manual do proprietário do carro. Ele descreve o que cada medidor no painel significa. Por exemplo, ele diz que um certo medidor é o “velocímetro” e mede km/h, enquanto outro é o “medidor de combustível”.
- OID (Object Identifier): É o identificador único de cada medidor no painel. É uma sequência de números, como um código, que aponta exatamente para uma informação. Por exemplo,
1.3.6.1.2.1.2.2.1.10.1pode ser o OID para “bytes de entrada na porta 1”.
Em resumo: O Zabbix (motorista) usa um OID (código do medidor) para perguntar ao dispositivo (carro) sobre uma métrica específica. Para saber o que aquele código significa, o Zabbix consulta a MIB (manual do proprietário).
A Ferramenta-Chave para o Diagnóstico: snmpwalk
Antes de configurar qualquer coisa no Zabbix, precisamos conversar diretamente com o dispositivo para ver se ele “fala” SNMP e o que ele tem a nos dizer. A ferramenta para isso é o snmpwalk. É como ter um leitor de diagnóstico universal que se conecta ao carro.
O comando snmpwalk “caminha” pela árvore de OIDs de um dispositivo e nos mostra todos os valores que ele consegue ler.
Sintaxe básica:
snmpwalk -v [versão] -c [comunidade] [IP_do_dispositivo] [OID_opcional]
-v [versão]: Geralmente2c(a mais comum) ou3(mais segura).-c [comunidade]: A “senha” de leitura do SNMP. É uma string de texto. A mais comum por padrão épublic.[IP_do_dispositivo]: O endereço IP do seu switch, roteador, etc.[OID_opcional]: Se você quiser ver apenas uma “seção do manual” (ex: apenas informações das interfaces), você pode especificar um OID inicial.
Passo a Passo: Validando um Equipamento para Monitoramento
Vamos simular a validação de um novo switch na nossa rede.
1. A Primeira Caminhada (Discovery)
Primeiro, vamos fazer uma “caminhada” geral para ver se o dispositivo responde. Para isso, precisamos ter o pacote snmpwalk instalado em nosso Linux (sudo apt install snmp ou sudo yum install net-snmp-utils).
snmpwalk -v 2c -c public 192.168.1.1
Se você receber uma longa lista de OIDs numéricos e seus valores, parabéns! O dispositivo responde ao SNMP com a comunidade public. Se receber um “Timeout”, verifique se o SNMP está habilitado no dispositivo e se a “community string” está correta.
A saída será algo assim, pouco amigável:
iso.3.6.1.2.1.1.1.0 = STRING: "My Awesome Router Model XYZ"
iso.3.6.1.2.1.1.3.0 = Timeticks: (12345678) 1 day, 10:17:36.78
iso.3.6.1.2.1.2.2.1.1.1 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.1.2 = INTEGER: 2
...
2. Traduzindo os Códigos: Carregando as MIBs
Essa saída numérica não é útil. Precisamos do “manual do proprietário” (a MIB) para traduzir isso. Cada fabricante (Cisco, HP, Mikrotik, etc.) possui MIBs específicas para seus equipamentos.
- Como encontrar a MIB? Vá ao site de suporte do fabricante e procure por “MIB download for [modelo do seu equipamento]”.
- Como usar a MIB? Em sistemas Linux, você pode instalar um conjunto padrão de MIBs (
sudo apt install snmp-mibs-downloader) e adicionar as MIBs do fabricante em diretórios como/usr/share/snmp/mibs.
Agora, vamos repetir o snmpwalk, mas pedindo para ele usar todas as MIBs que encontrar:
snmpwalk -v 2c -c public -m ALL 192.168.1.1
A saída agora será mágica!
SNMPv2-MIB::sysDescr.0 = STRING: "My Awesome Router Model XYZ"
SNMPv2-MIB::sysUpTime.0 = Timeticks: (12345678) 1 day, 10:17:36.78
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
...
Veja como os números foram traduzidos para nomes compreensíveis! Agora sabemos que SNMPv2-MIB::sysUpTime.0 é o tempo que o equipamento está ligado.
3. Encontrando Exatamente o Que Você Precisa
Digamos que queremos monitorar o tráfego de entrada na interface “GigabitEthernet0/1”. Sabemos que o nome legível é ifInOctets. Podemos usar o grep para filtrar a saída:
snmpwalk -v 2c -c public -m ALL 192.168.1.1 | grep ifInOctets
A saída pode ser:
IF-MIB::ifInOctets.1 = Counter32: 11223344
IF-MIB::ifInOctets.2 = Counter32: 55667788
...
Agora sabemos que a interface com índice .1 teve 11223344 octetos (bytes) de entrada. Com o OID numérico correspondente (que o snmpwalk também pode fornecer), estamos prontos para ir ao Zabbix.
4. Configurando o Item no Zabbix
Com o OID em mãos, a configuração no Zabbix é direta:
- Vá em
Configuration > Hostse crie ou edite seu host. - Na aba
Interfaces, adicione uma interface do tipo SNMP. - Vá para
Itemse clique emCreate item.- Name: Tráfego de Entrada – Porta 1
- Type:
SNMP agent - Key:
ifInOctets.1(uma chave descritiva) - SNMP OID: Cole aqui o OID numérico que você descobriu. Ex:
.1.3.6.1.2.1.2.2.1.10.1 - SNMP community: Use a macro
{$SNMP_COMMUNITY}. Isso é uma boa prática que permite definir a community string no nível do host ou template. - Type of information:
Numeric (unsigned) - Units:
bps - Store value:
Delta (speed per second)– Isso é crucial para tráfego! O Zabbix irá calcular a taxa de variação (bits por segundo) em vez de apenas armazenar o contador crescente.
Pronto! Seu Zabbix agora está coletando dados de tráfego do seu switch.
Vantagens e Desvantagens do Monitoramento SNMP
Vantagens:
- Padrão Universal: É “agentless” do ponto de vista do Zabbix. Praticamente todo equipamento de rede profissional suporta SNMP.
- Baixo Custo de Recurso: O serviço SNMP nos dispositivos é extremamente leve e consome poucos recursos de CPU ou memória.
- Riqueza de Dados: Dispositivos expõem uma quantidade massiva de informações via SNMP, desde estatísticas de tráfego até temperatura, status de fontes de energia e níveis de toner de impressora.
Desvantagens:
- Segurança: As versões 1 e 2c do SNMP usam uma “community string” em texto puro, o que é uma falha de segurança se exposto à internet. O SNMPv3 resolve isso com autenticação e criptografia, mas é mais complexo de configurar.
- Complexidade das MIBs: Encontrar a MIB correta e o OID exato para uma métrica não-padrão pode ser um desafio, um verdadeiro “caça ao tesouro”.
- Baseado em UDP: O SNMP geralmente usa o protocolo UDP, que não garante a entrega de pacotes. Em redes congestionadas, coletas podem ser perdidas.
Conclusão
Dominar o monitoramento SNMP é como aprender o idioma universal dos equipamentos de rede. Abre um novo mundo de visibilidade onde antes só havia incerteza. Embora possa parecer intimidador no início com suas MIBs e OIDs, o processo é lógico e, com a ajuda do snmpwalk, totalmente factível.
Lembre-se do processo: Descubra com o snmpwalk, Traduza com as MIBs, Encontre o OID específico e Configure no Zabbix. Ao fazer isso, você transforma o Zabbix em uma central de controle completa, não apenas para seus servidores, mas para toda a sua infraestrutura de rede.
Agora, que tal pegar aquele switch esquecido no canto do rack e descobrir o que ele tem a dizer?
About author
Você pode gostar também
Terraform: Aprenda a gerenciar dependências entre recursos na GCP
Esta é o terceiro capítulo da nossa série de postagens sobre Terraform, neste post iremos falar sobre as dependências entre recursos. Caso tenha perdido o início da nossa série, recomendo
Entenda a Importância e Utilização das Variáveis de Ambiente em Linux
Costumeiramente em nossos processos diários sempre nos deparamos com uma configuração de uma variável, por conceito em tecnologia, uma variável é um local ou espaço que é designado para armazenar
Crie sua primeira aplicação em Python: Guia passo a passo
Neste post estaremos aprendendo a criar uma aplicação simples utiliando a linguagem de programação “Python”. Primeiramente, obviamente, será necessário ter o python instalado em nossas máquinas, podemos adquirí-lo de






