CIRCUITO
CARIOCA TI · DOCUMENTAÇÃO
♙
Zabbix · Diagnóstico

Troubleshooting

Localize a camada onde o fluxo falhou — coleta, preprocessing, queue, cache, banco, trigger, Proxy ou alerting — antes de agir.

zabbix://troubleshooting
$ branch: 7.4
$ topic: Troubleshooting
$ mode: production
$ method: evidence-first_
Collect O dado chegou ao Zabbix?
Process O valor foi transformado?
Store O banco persistiu o dado?
Evaluate Trigger/evento foi calculado?
Deliver A notificação foi entregue?
01 · Método

Comece pelo sintoma e localize a camada

Antes de reiniciar qualquer processo, descreva exatamente o sintoma: “item não atualiza”, “item unsupported”, “queue cresce”, “Proxy offline”, “alerta não chega” ou “frontend lento”. Cada sintoma aponta para caminhos diferentes.

02 · Fluxo

Diagnóstico deve seguir o caminho do dado

Uma métrica passa por origem, rede, coletor, preprocessing quando aplicável, history cache, processamento, banco, trigger e eventualmente alerting. A melhor estratégia é descobrir até onde o dado chegou e onde deixou de avançar.

03 · Primeiro princípio

Não confunda ausência de dado com valor zero

Item sem atualização, item unsupported e item que retorna zero são situações diferentes. Um gráfico vazio pode indicar falha de coleta; zero pode ser um valor real; unsupported significa que o Zabbix detectou erro de processamento ou coleta.

04 · Latest data

O primeiro ponto de inspeção costuma ser o último valor

Verifique timestamp, valor, erro e histórico recente em Latest data. Se existe valor novo, a coleta funcionou; se trigger não mudou, investigue expressão. Se o valor não chega, desça para item, interface, Proxy e origem.

05 · Item test

Teste isolado reduz variáveis

Quando o tipo de item permite, use o teste do frontend ou ferramenta equivalente para validar conexão, credencial, key, OID, URL ou preprocessing. Separar teste de coleta do agendamento ajuda a descobrir se o problema está no item ou na execução periódica.

06 · Unsupported

NOT SUPPORTED é estado diagnóstico, não erro genérico

Um item pode ficar unsupported por timeout, autenticação, conversão de tipo, preprocessing, OID inexistente, key inválida ou resposta inesperada. Leia a mensagem de erro do item antes de alterar configuração.

07 · Conversão

Tipo de informação incorreto pode quebrar um item saudável

Se um item Numeric recebe texto que não pode ser convertido, a normalização pode falhar e o item ficar NOT SUPPORTED. Confirme o valor bruto e o tipo final esperado.

08 · Preprocessing

Cada etapa pode transformar ou destruir o valor

JSONPath, regex, XPath, JavaScript, conversões e validações são executados em sequência. Teste preprocessing com valor real e hipotético. Uma etapa correta isoladamente pode falhar porque a etapa anterior alterou o formato.

09 · Custom on fail

Tratamento de erro não deve esconder problema estrutural

Custom on fail pode descartar valor, definir valor substituto ou mensagem de erro em etapas compatíveis. Use para exceções esperadas, não para mascarar parsing permanentemente quebrado.

10 · Preprocessing queue

Fila de preprocessing indica trabalho pendente

Quando workers não acompanham o volume, tarefas aguardam processamento. Em 7.4.1, valores de itens sem preprocessing e sem dependentes podem bypassar o preprocessing manager, reduzindo carga. Se a fila cresce, procure payloads pesados, JavaScript, dependent items e workers saturados.

11 · diaginfo preprocessing

Diagnóstico interno mostra quem está consumindo tempo

Runtime control diaginfo=preprocessing fornece estatísticas internas. No 7.4.1, a saída inclui top items por quantidade/tamanho de valores recebidos e destaca itens com maiores tempos de processamento, facilitando encontrar outliers.

12 · Queue

Queue é uma representação lógica de itens atrasados

A Queue do Zabbix mostra itens com refresh agendado que ainda aguardam atualização. Não é uma fila IPC física. Ela é excelente indicador operacional, mas alguns tipos — como trapper, dependent items, SNMP traps e certos logs ativos — não aparecem nela.

13 · Queue details

Quantidade global é menos útil que distribuição

Use Queue overview e Queue details para saber quais hosts, proxies e tipos de item estão atrasados. Um ou dois atrasos curtos podem ser normais; grandes conjuntos envelhecendo indicam problema estrutural.

14 · Queue paradox

Interface indisponível pode remover itens da queue

Itens podem deixar de ser contados quando a interface é marcada indisponível por problema de conexão. Portanto “queue zerada” não prova que todos os dispositivos estejam acessíveis. Combine queue com host availability e problemas de interface.

15 · Internal items

Monitore o Zabbix com itens internos

Itens zabbix[...] permitem observar queue, caches, processos, número de itens unsupported, performance requerida e outros estados internos. Alguns checks internos são relativamente pesados, então não configure consultas de alto custo em frequência excessiva.

16 · Pollers

Busy poller alto sugere espera ou concorrência insuficiente

Se uma classe de processo permanece ocupada por longos períodos e a queue correspondente cresce, investigue quantidade de processos, timeout, latência e comportamento dos alvos. Aumentar pollers sem validar causa pode deslocar o gargalo.

17 · Timeout

Timeout alto pode prender workers

Dispositivo lento ou inacessível pode manter pollers ocupados até o timeout. Em grande escala, dezenas de destinos lentos podem consumir toda a concorrência. Ajuste timeout com cuidado e corrija reachability ou filtros de descoberta.

18 · Agent

Agent passivo: valide rede, porta, origem e key

Teste conectividade até o Agent, configuração Server/ServerActive, hostname quando aplicável, firewall e key. Use zabbix_get quando apropriado para reproduzir a coleta fora do Server.

19 · Agent active

Active check depende do host chegar ao Server/Proxy

Para active checks, o fluxo é invertido. Valide ServerActive, Hostname/HostnameItem, DNS/rota, TLS e se o host foi corretamente associado ao Server/Proxy esperado.

20 · SNMP

SNMP exige separar reachability, credencial e OID

Primeiro confirme UDP/161 e resposta SNMP a partir do coletor correto. Depois valide versão, community ou SNMPv3 e somente então OID/index. Misturar as três camadas aumenta tempo de diagnóstico.

21 · SNMPv3

Engine state e credenciais podem causar falhas persistentes

Alterações de engine ID, boots/time ou credenciais SNMPv3 podem exigir limpeza de cache SNMP em Server/Proxy em casos específicos. O runtime control snmp_cache_reload existe para limpar propriedades mantidas no cache.

22 · SNMP walk 7.4

OID inexistente agora pode tornar walk/discovery unsupported

No Zabbix 7.4, SNMP walk/discovery em que nenhum OID ou instância válida exista passa a retornar erro e tornar o item unsupported, em vez de simplesmente retornar vazio como em comportamento anterior. Isso é importante após upgrade.

23 · HTTP agent

Valide DNS, TCP, TLS, HTTP e conteúdo separadamente

HTTP agent pode falhar por resolução, rota, certificado, autenticação, redirect, timeout, status code ou preprocessing da resposta. Reproduza a requisição a partir do Server/Proxy para eliminar diferenças de caminho.

24 · Database monitor

ODBC e banco adicionam dependências locais

Cheque DSN/driver, biblioteca, credencial, TLS, rede e query. Uma consulta válida no notebook do DBA não prova que funciona a partir do host/Proxy onde o check é executado.

25 · External scripts

Ambiente do daemon é diferente do shell do administrador

Scripts podem funcionar manualmente e falhar no Zabbix por PATH, usuário, permissões, SELinux/AppArmor, working directory, dependências ou timeout. Execute como usuário do daemon e com ambiente semelhante.

26 · History cache

Quando valores chegam mas não avançam, observe o cache

History cache pode ficar pressionado por banco lento ou itens que acumulam valores. O Zabbix 7.4 adicionou melhorias de diagnóstico e comando history_cache_clear para um item específico. Use limpeza como medida de recuperação, não substituto para corrigir a causa.

27 · history_cache_clear

Limpeza seletiva evita reinício completo

O runtime control history_cache_clear=target permite remover do history cache os valores de um item pelo ID. Isso é útil quando um item específico bloqueia processamento, especialmente em cenários de logs ou volume anormal.

28 · Cache full

Logs do 7.4 ajudam a apontar os maiores ofensores

Quando history cache fica cheio, o Zabbix 7.4 registra diagnóstico em nível de debug mais acessível e lista itens com maior número de valores no cache. Esse dado deve orientar a correção do item, fonte ou banco.

29 · Value cache

Problema de value cache aparece em funções históricas

Value cache acelera trigger expressions e calculated items. diaginfo=valuecache ajuda a identificar uso e configurações que exigem muito histórico. Se cache entra em low memory, o Server pode aumentar consultas ao banco e degradar avaliações.

30 · Database

Banco lento pode parecer problema em qualquer camada

History atrasado, frontend lento, queue indireta, Actions demoradas e alta utilização de syncers podem ter origem no banco. Observe CPU, I/O, locks, conexões, checkpoint/WAL, buffer pool e queries.

31 · DB connectivity

Erro de conexão precisa ser separado de lentidão

Verifique DNS, porta, TLS, credencial, limite de conexões e logs do SGBD. Se a conexão está estável mas writes são lentos, o problema já mudou de disponibilidade para performance.

32 · Disk

Espaço livre é necessário, mas latência também

Filesystem com espaço suficiente pode estar saturado em I/O. Monitore latency, utilization, queue depth e comportamento durante housekeeping, checkpoint e backup.

33 · Housekeeping

Exclusões grandes podem produzir períodos de carga

Mudanças agressivas de retenção ou banco muito grande podem tornar housekeeping custoso. Analise duração, I/O e políticas de history/trends antes de culpar o daemon principal.

34 · Proxy

Sempre pergunte onde o item é executado

Um item atribuído a Proxy precisa ser testado a partir do Proxy, não do Server. DNS, rota, firewall, MIBs, scripts, certificados e credenciais locais podem ser diferentes.

35 · Proxy offline

Distingua coleta local de sincronização central

Se Proxy perde o Server, ele pode continuar coletando e armazenando localmente. Portanto “Latest data não chegou ao Server” não significa automaticamente que o Proxy deixou de coletar. Verifique buffer e comunicação Proxy→Server.

36 · Proxy version

Compatibilidade importa após upgrade

Para funcionalidade completa, Proxy deve usar a mesma major version do Server 7.4. Proxies antigos podem continuar parcialmente funcionais, mas não receber certas atualizações de configuração; isso pode parecer falha misteriosa após upgrade.

37 · Configuration sync

Alteração no frontend pode levar tempo para chegar ao coletor

Active Proxy busca configuração periodicamente; Server e Proxy também trabalham com caches de configuração. Ao testar mudança recente, confirme que a configuração foi sincronizada ou force reload quando apropriado.

38 · config_cache_reload

Recarregue configuração sem restart quando possível

O runtime control config_cache_reload força atualização do cache de configuração. É preferível a reiniciar o processo apenas para aplicar configuração já disponível.

39 · Logs do daemon

Leia o log da camada correta

Server, Proxy, Agent, web server, PHP, banco e integração possuem logs diferentes. “Olhei o zabbix_server.log” não ajuda se o erro está no Proxy ou frontend. Alinhe timestamp e reproduza o problema enquanto observa o componente certo.

40 · DebugLevel

Aumente debug somente pelo tempo necessário

Debug elevado gera muito volume e pode expor detalhes sensíveis. Aumente de forma controlada, reproduza, capture evidência e retorne ao nível normal. Evite usar DebugLevel máximo como configuração permanente.

41 · Runtime log level

Nem sempre é necessário reiniciar para mudar debug

Runtime control pode aumentar ou reduzir log level de processos em execução, dependendo do componente. Isso é útil para troubleshooting seletivo e reduz impacto de restart.

42 · Frontend

Erro visual pode ser PHP, web server, banco ou permissão

Página branca, timeout, gráfico lento ou erro de sessão exigem verificar logs de PHP/web server, conectividade ao banco, permissões e recursos do frontend. Nem todo problema visto no navegador é problema do Zabbix Server.

43 · API

Erro da API deve ser reproduzido com request mínimo

Reduza payload e método ao caso mínimo, valide token/role, parâmetros e versão da API. Erros de permissão e filtros vazios podem parecer ausência de dados. Evite testar com Super Admin se a integração usa usuário restrito.

44 · Triggers

Valor correto + evento errado aponta para expressão

Se Latest data mostra exatamente o valor esperado, mas trigger não abre ou não recupera, revise função, período, operadores, macros, recovery expression, dependências e múltiplos eventos.

45 · Histerese

Trigger que flapeia precisa de desenho, não mais notificações

Use condições distintas de problem/recovery quando a métrica oscila próximo ao limite. Se o sinal é ruidoso, média, min/max, count ou persistência temporal podem ser mais adequados que last().

46 · Dependencies

Problema dependente pode estar sendo suprimido corretamente

Se uma trigger não gera ação durante falha do upstream, confira dependencies. O evento pode existir ou ser tratado de forma diferente porque a causa raiz está ativa. Antes de remover dependência, confirme topologia.

47 · Maintenance

Manutenção muda tratamento de eventos e alertas

Se ninguém foi notificado ou coleta parece diferente durante mudança, confirme maintenance, tipo de manutenção e período. Problema pode estar corretamente suprimido conforme política.

48 · Actions

Evento existe e não há mensagem: siga a Action

Valide fonte de evento, condições, operações, steps de escalation, destinatário, permissões, user media, período ativo, severidade e media type. Alerting é pipeline; diagnostique de cima para baixo.

49 · Webhooks

HTTP externo precisa ser tratado como dependência

Verifique DNS, TLS, timeout, status code, token, payload e rate limit do destino. Teste o media type isoladamente. Um HTTP 200 também pode conter erro lógico dependendo da API.

50 · Email

SMTP envolve mais que endereço e senha

Valide DNS, porta, TLS, autenticação, relay, sender, políticas antispam e resposta do servidor SMTP. Mensagem aceita pelo SMTP pode ainda ser filtrada posteriormente.

51 · Performance

Sintoma global pede baseline global

Compare CPU, memória, NVPS, queue, busy processes, preprocessing, caches, banco e storage. Sem baseline, qualquer valor parece suspeito. Procure o primeiro indicador que mudou antes da degradação.

52 · Upgrade

Comportamento novo pode ser mudança documentada

Após upgrade, consulte upgrade notes e changelog. Mudanças como SNMP walk unsupported ou novos caminhos de preprocessing podem alterar sintomas sem haver regressão. Não force configuração antiga a reproduzir comportamento obsoleto sem entender a mudança.

53 · Reproduction

Caso mínimo é a ferramenta de diagnóstico mais poderosa

Copie um item problemático para laboratório, reduza preprocessing, teste uma URL simples, um OID, um host ou uma trigger. Quanto menor o caso reproduzível, mais fácil separar configuração de ambiente.

54 · Evidence

Capture antes de corrigir

Antes de restart, clear cache ou failover, registre timestamps, item IDs, event IDs, logs, queue, process utilization e estado do banco. Correção sem evidência resolve o momento mas não ensina a causa.

55 · Escalation

Saiba quando o problema deixou de ser do Zabbix

Se coleta manual a partir do Proxy falha exatamente como o item, o problema pode estar no dispositivo, rede ou serviço externo. Troubleshooting eficiente também sabe encerrar a investigação na camada do monitoramento e escalar com evidência.

56 · Fluxo de diagnóstico

Descubra até onde o dado chegou

ORIGEM
  │
  ├─ responde manualmente?
  ▼
SERVER / PROXY
  │
  ├─ item executou?
  ▼
PREPROCESSING
  │
  ├─ transformação funciona?
  ▼
HISTORY CACHE
  │
  ├─ cache está saudável?
  ▼
DATABASE
  │
  ├─ valor foi persistido?
  ▼
TRIGGER / EVENT
  │
  ├─ expressão foi satisfeita?
  ▼
ACTION / MEDIA
  │
  ├─ condição/operação casou?
  ▼
DESTINATÁRIO

Primeiro ponto onde a resposta muda:
→ camada prioritária de investigação.
57 · Item unsupported

Mensagem → hipótese inicial

Erro/sintoma Investigar
TimeoutRede, serviço lento, timeout, poller
Connection refusedServiço/porta/firewall
Authentication failedCredencial/TLS/SNMPv3/token
Cannot convert valueTipo do item/preprocessing
JSONPath no dataContrato JSON mudou/caminho incorreto
SNMP no such objectOID/index/template/vendor
Unsupported item keyAgent/key/plugin/versão
SSL verify failedCA, hostname, cadeia, validade
Script timeoutExecução, dependência, privilégio
58 · Queue

Atraso por padrão

Padrão Hipótese forte
Somente SNMPSNMP pollers, timeout, dispositivos
Somente um ProxyProxy/rede/região
Todos os tiposServer/DB/CPU/configuração
Um hostAlvo específico
Uma subnetRota/firewall/site
Após outageBacklog/catch-up
Cresce em horário fixoBackup, housekeeping, batch, burst
59 · Runtime controls

Ferramentas úteis sem restart

# Recarregar configuração
zabbix_server -R config_cache_reload
zabbix_proxy  -R config_cache_reload

# Diagnóstico geral
zabbix_server -R diaginfo
zabbix_proxy  -R diaginfo

# Diagnóstico específico
zabbix_server -R diaginfo=valuecache
zabbix_server -R diaginfo=historycache
zabbix_server -R diaginfo=preprocessing

# Limpar item específico do history cache
zabbix_server -R history_cache_clear=<ITEM_ID>
zabbix_proxy  -R history_cache_clear=<ITEM_ID>

# Recarregar cache SNMP
zabbix_server -R snmp_cache_reload
zabbix_proxy  -R snmp_cache_reload
60 · Ferramentas de campo

Teste no mesmo ponto onde o Zabbix coleta

# Agent passivo
zabbix_get -s 10.0.0.10 -k agent.ping

# SNMP
snmpget  -v2c -c COMMUNITY 10.0.0.20 1.3.6.1.2.1.1.3.0
snmpwalk -v2c -c COMMUNITY 10.0.0.20 1.3.6.1.2.1.2.2

# TCP
nc -vz host.example 10050

# HTTP/TLS
curl -v https://app.example/health

# DNS
dig app.example

# Rota
traceroute app.example

# IMPORTANTE:
# execute do Server ou Proxy que realmente faz a coleta.
61 · Matriz por camada

Sintoma → evidência → ação

Camada Evidência Ação inicial
OrigemTeste manual falhaEscalar rede/app/dispositivo
ColetaManual funciona, item nãoItem/poller/config sync
PreprocessingRaw ok, final falhaTestar pipeline
CacheAcúmulo/diaginfoIdentificar item/DB
BancoLatency/locks/I/OSGBD/storage
TriggerValor correto, evento erradoExpressão/recovery
ActionEvento existe, sem envioConditions/operations/media
FrontendDados existem, UI lentaPHP/web/DB reads
62 · Registro de diagnóstico

Capture evidência reutilizável

INCIDENTE
Data/hora:
Sintoma:
Host:
Item ID:
Proxy:
Trigger/Event ID:

ÚLTIMO VALOR:
Timestamp:
Valor:
Erro:

TESTE MANUAL:
Comando:
Origem do teste:
Resultado:

ZABBIX:
Queue:
Busy process:
Cache:
diaginfo:

BANCO:
Latency:
I/O:
Locks:

MUDANÇAS RECENTES:
Upgrade:
Template:
Firewall:
Credencial:
Deploy:

HIPÓTESE:
Evidência a favor:
Evidência contra:

CORREÇÃO:
Ação:
Resultado:
Causa raiz:
Prevenção:
63 · Anti-patterns

Como perder a causa raiz

Reiniciar primeiro Apaga estado e evidência antes do diagnóstico.
Aumentar pollers às cegas Pode apenas mover gargalo.
Testar do notebook Caminho pode ser diferente do Proxy.
Ignorar mensagem unsupported Perde a pista mais direta.
Queue = problema de CPU Existem muitas outras causas.
Debug 5 permanente Gera volume e pode expor dados.
Clear cache como solução Recupera sintoma sem corrigir causa.
Culpar Zabbix antes do teste manual Fonte pode estar realmente indisponível.
Usar Super Admin para testar API Esconde erro de RBAC da integração.
Comparar versões diferentes Comportamento pode ter mudado.
Alterar cinco parâmetros juntos Impede saber qual mudança resolveu.
Fechar sem causa raiz O incidente provavelmente volta.
64 · Laboratório

Treine falhas antes da produção

1. Agent Bloqueie 10050 e observe availability/queue.
2. SNMP Troque community e leia erro.
3. JSON Remova campo usado por JSONPath.
4. Type Retorne texto em item Numeric.
5. Proxy Isole Proxy do Server e observe buffer.
6. DB Introduza latency controlada em laboratório.
7. Action Desative media e trace pipeline.
8. Cache Gere volume controlado e use diaginfo.
9. Trigger Crie flapping e aplique histerese.
10. Postmortem Registre hipótese, evidência e prevenção.
65 · Checklist de troubleshooting

Antes de reiniciar qualquer coisa

✓ Sintoma está descrito objetivamente
✓ Timestamp do último valor foi verificado
✓ Mensagem de erro do item foi lida
✓ Teste foi executado do Server/Proxy correto
✓ Rede/DNS/TLS foram separados da aplicação
✓ Queue foi analisada por classe
✓ Busy processes foram observados
✓ Preprocessing foi testado isoladamente
✓ diaginfo foi coletado quando relevante
✓ History cache foi analisado antes de limpar
✓ Value cache foi analisado para funções históricas
✓ Logs do componente correto foram coletados
✓ Debug foi aumentado somente temporariamente
✓ Banco teve latency/I/O/locks verificados
✓ Configuração recente foi sincronizada
✓ Versão de Proxy é compatível
✓ Upgrade notes foram consultadas após upgrade
✓ Trigger foi separada da coleta
✓ Action foi separada do evento
✓ Maintenance/dependencies foram verificadas
✓ Mudanças recentes foram registradas
✓ Uma hipótese foi formulada
✓ Evidência favorável e contrária foi registrada
✓ Correção foi aplicada uma variável por vez
✓ Causa raiz e prevenção foram documentadas
66 · Referências técnicas

Base factual

Conteúdo estruturado a partir da documentação oficial do Zabbix 7.4 sobre Queue, Zabbix internal items, preprocessing e testes, value cache, runtime control, history cache, SNMP, Proxy e notas de upgrade do 7.4. Os fluxos de investigação, matrizes de diagnóstico, template de incidente, laboratórios e metodologia de troubleshooting são síntese editorial própria.

PRÓXIMA PÁGINA

Roadmap de implantação

A próxima página organiza toda a arquitetura em uma sequência prática: laboratório, produção, expansão, automação, NOC, governança e melhoria contínua.

Continuar →
Atualização editorial 2026

Linha Zabbix 7.4

Diagnóstico deve seguir o caminho do dado e separar ausência de dado, valor zero e item unsupported. Capture timestamps, queue, logs e último valor antes de reiniciar processos.

Recursos e limites sensíveis à versão devem ser confirmados contra o patch exato instalado antes de mudanças em produção.