Como a coleta funciona
O equipamento executa um agente SNMP. O Zabbix Server ou Proxy consulta esse agente utilizando OIDs. O retorno pode representar estado operacional, descrição de interface, contadores de tráfego, temperatura, potência, CPU, memória ou qualquer informação disponibilizada pela MIB do fabricante.
v2c ou v3?
SNMPv2c
Usa uma community como credencial. É simples, compatível com praticamente todo equipamento gerenciável e comum em redes de gerenciamento isoladas.
SNMPv3
Adiciona usuário, níveis de segurança, autenticação e privacidade. Para ambientes onde segurança é requisito, deve ser a primeira opção quando o equipamento oferece suporte adequado.
Teste antes de cadastrar no Zabbix
Instale as ferramentas Net-SNMP no servidor ou em uma estação de administração. Validar o equipamento fora do Zabbix separa problemas de rede/credencial dos problemas de configuração do próprio Zabbix.
# Debian / Ubuntu
apt install -y snmp
# Testar SNMPv2c
snmpwalk -v2c -c MINHA_COMMUNITY 192.0.2.10 .
# Consultar apenas sysName
snmpget -v2c -c MINHA_COMMUNITY 192.0.2.10 1.3.6.1.2.1.1.5.0public como community real de produção e não exponha UDP/161 indiscriminadamente. Restrinja a origem das consultas ao Zabbix Server/Proxy ou à rede de gerenciamento.O que realmente estamos consultando?
Um OID identifica um objeto na árvore SNMP. Alguns são padronizados e funcionam em fabricantes diferentes; outros ficam na árvore enterprise do fabricante. Para monitoramento de interfaces, IF-MIB e IF-MIB::ifXTable são especialmente importantes.
| Objeto | OID / MIB | Uso |
|---|---|---|
| sysName | 1.3.6.1.2.1.1.5.0 | Nome do equipamento |
| sysUpTime | 1.3.6.1.2.1.1.3.0 | Tempo de atividade SNMP |
| ifDescr | 1.3.6.1.2.1.2.2.1.2 | Descrição da interface |
| ifOperStatus | 1.3.6.1.2.1.2.2.1.8 | Estado operacional |
| ifHCInOctets | 1.3.6.1.2.1.31.1.1.1.6 | Contador 64-bit de entrada |
| ifHCOutOctets | 1.3.6.1.2.1.31.1.1.1.10 | Contador 64-bit de saída |
Cadastrar um equipamento SNMP
Em Data collection → Hosts, crie o host e adicione uma interface SNMP. Informe IP ou DNS, porta 161, versão e credenciais. Você pode vincular um template compatível ou criar os itens manualmente.
Segurança no SNMP
O Zabbix suporta os níveis noAuthNoPriv, AuthNoPriv e AuthPriv. Dependendo da biblioteca Net-SNMP instalada, há suporte a diferentes algoritmos de autenticação e privacidade.
# Exemplo conceitual de teste AuthPriv
snmpwalk -v3 \
-l authPriv \
-u USUARIO_SNMP \
-a SHA \
-A 'SENHA_AUTENTICACAO' \
-x AES \
-X 'SENHA_PRIVACIDADE' \
192.0.2.10 .1.3.6.1.2.1.1As opções precisam corresponder exatamente à configuração do equipamento. Em SNMPv3, credencial ou protocolo incorreto normalmente resulta em erro ou timeout.
Criando uma coleta manual
No host, crie um item do tipo SNMP agent. Nas versões atuais, get[OID] é indicado para buscar um valor e walk[OID] para percorrer uma árvore/tabela. Esses formatos trabalham de forma assíncrona e são preferíveis ao formato legado de OID único.
# Um valor
get[1.3.6.1.2.1.1.5.0]
# Uma tabela
walk[1.3.6.1.2.1.31.1.1.1]
# Vários ramos no mesmo walk
walk[ifDescr,ifType,ifPhysAddress]Transformando contadores em tráfego
Os contadores ifHCInOctets e ifHCOutOctets são acumulativos. Para obter taxa, o item precisa de pré-processamento Change per second. Para exibir bits por segundo, multiplique o resultado por 8 ou configure o tratamento equivalente no template.
Não cadastre 100 interfaces manualmente
A descoberta de baixo nível permite descobrir entidades SNMP e gerar automaticamente itens, triggers e gráficos a partir de protótipos. Em versões atuais, um item mestre walk[] pode coletar uma tabela e itens dependentes podem extrair os dados, reduzindo requisições repetidas.
# Exemplo de item mestre
walk[ifDescr,ifName,ifAlias,ifOperStatus,ifHCInOctets,ifHCOutOctets]O que vale monitorar
Padronizado primeiro, vendor-specific depois
Cisco, MikroTik, Huawei, Datacom, Ubiquiti e fabricantes de OLT normalmente expõem parte das informações por MIBs padrão e parte por MIBs proprietárias. A melhor estratégia é usar IF-MIB e objetos padronizados para o básico e recorrer à árvore enterprise do fabricante somente para métricas específicas.
Quando o SNMP fica vermelho
Evite transformar SNMP em carga desnecessária
Use templates, macros e descoberta; escolha intervalos coerentes; prefira get[]/walk[] quando aplicável; aproveite itens dependentes; não monitore OIDs sem utilidade operacional; filtre interfaces irrelevantes; e teste o impacto antes de reduzir intervalos de coleta em centenas de equipamentos.
No Zabbix 7.4, prefira a coleta SNMP moderna
A documentação oficial recomenda get[OID] para valor único e
walk[OID1,OID2,...] para árvores/tabelas. Esses formatos são assíncronos
e normalmente oferecem melhor escalabilidade que o OID síncrono legado.
O número de SNMP pollers assíncronos é controlado por StartSNMPPollers,
e a concorrência por poller pode chegar ao limite definido por
MaxConcurrentChecksPerPoller.
Reduza round trips sem sobrecarregar o equipamento
Em SNMPv2/v3, walk[] usa GetBulk para reduzir transmissões. O parâmetro
Max repetitions da interface controla quantos OIDs podem retornar em uma resposta bulk.
Valores muito altos podem provocar timeout em agentes SNMP frágeis; ajuste por família de equipamento.
Uma tabela SNMP pode alimentar dezenas de métricas
MASTER ITEM
walk[ifName,ifAlias,ifOperStatus,ifHCInOctets,ifHCOutOctets]
│
├──► LLD de interfaces
├──► status por interface
├──► RX por interface
├──► TX por interface
└──► alias / metadados
Benefício:
menos consultas SNMP repetidas
+ mesma fotografia temporal da tabela.Links rápidos exigem IF-MIB::ifHC*
Para interfaces de alta velocidade, prefira ifHCInOctets e
ifHCOutOctets (Counter64) quando suportados. Contadores de 32 bits podem
dar wrap rapidamente em links rápidos. Para converter contador acumulado em taxa,
adicione preprocessing Change per second.
ifIndex é endereço da tabela, não identidade operacional
Índices podem mudar após reboot, atualização ou alteração de configuração. Sempre que possível, baseie a descoberta em atributos mais estáveis como ifName, ifAlias, serial ou identificadores do fabricante e use o índice apenas para endereçar a tabela.
Engine ID duplicado quebra a segurança e a coleta
Em SNMPv3, o snmpEngineID precisa ser único por dispositivo.
Equipamentos que não persistem corretamente engineBoots podem ter mensagens
descartadas como antigas após reboot. Em casos desse tipo, o Zabbix 7.4 oferece
snmp_cache_reload no Server/Proxy para limpar o estado SNMP mantido em cache.
zabbix_server -R snmp_cache_reload
# ou
zabbix_proxy -R snmp_cache_reloadAlguns dispositivos não lidam bem com requisições agrupadas
O Zabbix pode combinar checks SNMP compatíveis em uma mesma solicitação. Em equipamentos
com implementação SNMP defeituosa, respostas parciais podem produzir erros ou até picos
falsos em cálculos por segundo. A opção Use combined requests pode ser
desabilitada por interface nesses casos. Os formatos assíncronos get[] e
walk[] são uma alternativa moderna.
Não comece pelo template
Base factual
Conteúdo revisado com base na documentação oficial Zabbix 7.4 sobre SNMP agent,
SNMPv3, get[], walk[], requisições bulk, combined requests,
SNMP cache e discovery de OIDs. Os exemplos de engenharia e recomendações operacionais
são síntese editorial própria.
Organizar hosts e templates
Com SNMP funcionando, o próximo passo é estruturar grupos, hosts, macros, templates e herança para que o ambiente continue administrável quando passar de dezenas para centenas ou milhares de dispositivos.
Hosts e templates →Linha Zabbix 7.4
Na linha 7.4, walk[OID] e get[OID] usam processamento assíncrono e são recomendados sobre o formato OID legado para melhor escala; ajuste timeout e MaxConcurrentChecksPerPoller conforme o ambiente.