CIRCUITO
CARIOCA TI · DOCUMENTAÇÃO
♙
Zabbix · Arquitetura

Proxy e monitoramento distribuído

Distribua coleta entre POPs e sites remotos com buffer local, proxy groups, balanceamento, HA e segurança.

zabbix://proxy-distribuido
$ branch: 7.4
$ topic: Proxy e monitoramento distribuído
$ mode: production
$ method: evidence-first_
Proxy Coleta local em nome do Server.
Active Proxy inicia conexão com o Server.
Passive Server inicia conexão com o Proxy.
Buffer Mantém dados durante indisponibilidade.
Proxy group Load balancing e HA entre proxies.
01 · Fundamento

Proxy aproxima a coleta do alvo e mantém o controle no Server

O Proxy coleta métricas, discovery e autoregistration em nome do Zabbix Server e encaminha esses dados posteriormente. A configuração continua centralizada no Server; o Proxy não possui frontend administrativo próprio e não gera notificações. Isso permite distribuir a coleta sem fragmentar a governança do ambiente.

02 · Quando usar

Localidade, conectividade e escala são os principais motivos

Proxies são especialmente úteis em filiais, POPs, redes remotas, ambientes com latência elevada, segmentos protegidos por firewall e cenários em que o Server não deve abrir conexão diretamente para centenas de alvos. Eles também podem reduzir trabalho de coleta no Server quando grande parte dos checks é executada remotamente.

03 · Quando não usar

Proxy não é remédio universal para Zabbix lento

Adicionar Proxy não corrige automaticamente banco saturado, retention excessiva, itens mal desenhados, preprocessing congestionado ou intervalos agressivos. Antes de distribuir coleta, identifique qual componente está limitando o ambiente. Proxy resolve problemas de coleta distribuída; não substitui engenharia de performance.

04 · Banco próprio

Cada Proxy precisa de sua própria persistência

O Zabbix Proxy requer banco separado. SQLite, MySQL e PostgreSQL são suportados. SQLite é simples e pode ser suficiente para pequenos proxies; ambientes maiores ou com grande buffer/volume tendem a justificar banco dedicado mais robusto. O Proxy nunca deve compartilhar o banco do Zabbix Server.

05 · Active Proxy

O Proxy inicia a comunicação

No modo ativo, o Proxy conecta-se ao Server para buscar configuração e enviar dados. Esse modelo costuma ser conveniente em redes remotas porque a conexão parte do local monitorado para a central, reduzindo necessidade de conexões iniciadas pelo Server através de firewalls.

06 · Passive Proxy

O Server inicia a comunicação

No modo passivo, o Server conecta-se ao Proxy. Isso pode ser útil em redes onde a central possui rota e política explícita para atingir o Proxy. O desenho deve considerar NAT, firewall, DNS, latência e política de segurança antes de escolher o modo.

07 · Segurança

Active versus Passive não define sozinho o nível de segurança

O modo de conexão e o método de proteção são decisões diferentes. Zabbix suporta conexões sem criptografia, PSK ou certificados em cenários apropriados. Para Proxy ativo, a documentação alerta que dados sensíveis de configuração podem ser expostos se alguém puder se passar por Proxy e solicitar configuração sem controles adequados. Use criptografia e restrições de endereço conforme o risco.

08 · Proxy address

Restrinja quem pode se apresentar como Proxy ativo

No frontend, Active Proxy pode ter Proxy address definido para restringir endereços IP/CIDR ou nomes DNS aceitos. Essa camada complementa autenticação/criptografia e reduz superfície de ataque. Em ambientes críticos, não trate o nome do Proxy como mecanismo de identidade suficiente.

09 · Buffer

Desconexão da central não precisa interromper a coleta local

O Proxy mantém os dados coletados localmente e os envia ao Server quando a comunicação retorna. Isso é uma das principais vantagens em links remotos instáveis: o monitoramento preserva continuidade histórica mesmo durante perda temporária da conexão entre Proxy e Server, dentro dos limites de retenção configurados.

10 · ProxyOfflineBuffer

Defina quanto tempo de desconexão o Proxy deve suportar

ProxyOfflineBuffer determina por quantas horas dados devem ser mantidos quando não há conectividade com o Server. O default é 1 hora e o intervalo suportado chega a centenas de horas. O valor deve refletir pior cenário de indisponibilidade, volume de coleta e capacidade de armazenamento.

11 · ProxyLocalBuffer

Dados também podem permanecer localmente após sincronização

ProxyLocalBuffer mantém dados por um período mesmo depois de enviados ao Server. Isso pode servir a necessidades específicas, porém aumenta uso de armazenamento. Não confunda buffer offline com retenção local pós-envio: são problemas diferentes.

12 · Memory buffer

Zabbix 7.4 oferece modos disk, memory e hybrid

ProxyBufferMode define como history, discovery e autoregistration são armazenados. Disk utiliza o banco; memory usa memória compartilhada e perde dados no shutdown; hybrid normalmente usa memória e migra para o banco quando o limite/idade é atingido, retornando depois ao modo de memória. A escolha altera I/O, risco de perda e comportamento de recuperação.

13 · Hybrid

Hybrid reduz I/O sem abandonar a proteção do banco

Em modo hybrid, o buffer opera em memória enquanto houver capacidade e os registros forem recentes. Quando memória se esgota ou o dado mais antigo supera o limite, os registros são descarregados para o banco até normalização. Esse comportamento pode reduzir I/O constante mantendo uma rota para persistência quando a memória deixa de ser suficiente.

14 · Memory-only

Velocidade maior vem com uma troca explícita

Em memory mode, dados ficam em memória e registros antigos podem ser descartados se o buffer encher. O conteúdo também é descartado no shutdown. É uma escolha válida apenas quando essa perda potencial é aceitável e o desenho da operação está consciente da troca entre I/O e durabilidade.

15 · Configuração

Active Proxy busca configuração; Passive recebe do Server

Active Proxy consulta periodicamente o Server conforme ProxyConfigFrequency. No modo passivo, esse parâmetro não se aplica da mesma forma porque o Server conduz o fluxo. Entender esse comportamento ajuda a diagnosticar atrasos entre alteração no frontend e efetivação no Proxy.

16 · DataSenderFrequency

Envio ao Server também possui cadência própria

O Proxy possui parâmetros de envio dos dados coletados ao Server. Em ambientes com enlaces restritos, frequência, backlog e volume precisam ser considerados em conjunto. Reduzir chamadas não elimina bytes; pode apenas concentrar tráfego em lotes maiores.

17 · Processos

Proxy possui pollers, preprocessing e caches próprios

O Proxy não é apenas um relay. Ele executa coleta e parte do processamento local. SNMP pollers, agent pollers, HTTP agent pollers, preprocessing manager/workers, caches e history syncers podem se tornar gargalos. Dimensionar somente CPU total sem observar processos internos pode esconder saturações específicas.

18 · SNMP

Proxy é particularmente valioso próximo de grandes domínios SNMP

Em sites com muitos switches, roteadores, OLTs e sensores, colocar o Proxy próximo aos dispositivos reduz latência de consultas e atravessamentos WAN. Bulk/walk, discovery e dependent items continuam importantes para reduzir o volume de requests; Proxy não justifica coleta ineficiente.

19 · Tempo

Relógio inconsistente destrói interpretação temporal

Server, Proxy e hosts precisam de sincronização confiável de tempo. Diferenças de relógio dificultam correlação, duração de eventos e ordenação de dados. NTP/chrony é parte da infraestrutura de monitoramento, não detalhe cosmético.

20 · Manutenção

Proxy não conhece períodos de maintenance

A documentação oficial ressalta que o Proxy não está ciente dos períodos de manutenção. Isso possui implicações para cálculo de filas e diagnóstico. Ao analisar queue durante maintenance, considere que a percepção do Proxy e do Server sobre atrasos pode não corresponder ao que o operador espera intuitivamente.

21 · Proxy groups

Distribuição automática e alta disponibilidade

Proxy groups agrupam proxies para load balancing e high availability. Hosts configurados para serem monitorados pelo grupo podem ser redistribuídos automaticamente. Se um Proxy fica offline, seus hosts podem migrar para outros proxies elegíveis; se há desequilíbrio de hosts, o Server também pode redistribuí-los.

22 · Requisitos de proxy group

HA só funciona quando versões e estado permitem

Para redistribuição dentro de proxy group, proxies precisam atender aos requisitos de versão e compatibilidade com o Server, e o grupo precisa estar online. Hosts também precisam estar associados ao proxy group, não fixados a um Proxy individual. Isso deve ser validado antes de assumir que failover acontecerá.

23 · Minimum proxies

Disponibilidade do grupo possui um limiar operacional

Proxy group possui configuração de quantidade mínima de proxies online. O estado do grupo pode ser Unknown, Online, Degrading ou Offline conforme comunicação dos proxies e o limiar definido. Um grupo com poucos proxies disponíveis pode continuar funcional, mas já sinalizar degradação antes de perder capacidade de redistribuição.

24 · Failover period

Failover precisa equilibrar sensibilidade e estabilidade

O período de failover define quanto tempo o sistema espera antes de considerar Proxy indisponível para fins do grupo. Curto demais pode causar redistribuição por oscilações momentâneas; longo demais aumenta janela de coleta afetada. A escolha deve considerar estabilidade da rede, criticidade e tempo de recuperação desejado.

25 · Load balancing

Balancear quantidade de hosts não significa balancear trabalho perfeitamente

Redistribuição automática considera hosts, mas dois hosts podem ter cargas completamente diferentes: um roteador com milhares de itens e uma VM com dezenas de itens não custam o mesmo. Observe performance real por Proxy e não presuma equilíbrio apenas porque a contagem de hosts é semelhante.

26 · Host reassignment

Failover de Proxy muda onde o host é coletado

Quando hosts pertencem a proxy group, o Server pode atribuí-los dinamicamente a proxies disponíveis. Isso exige que todos os proxies elegíveis tenham conectividade, credenciais indiretas e alcance de rede suficiente para coletar aqueles hosts. HA lógica sem conectividade física comum não funciona.

27 · Geografia

Proxy group não deve ignorar topologia de rede

Não agrupe proxies apenas porque são tecnicamente equivalentes. Se Proxy de São Paulo não tem rota para equipamentos do Rio, ele não pode assumir os hosts do Rio durante failover. Grupos precisam refletir domínio real de alcance e segurança.

28 · Arquitetura WAN

O Proxy pode reduzir conexões através do backbone

Em vez de centenas de dispositivos conversando com a central, cada site pode concentrar a coleta num Proxy e manter um conjunto menor de fluxos entre site e Server. Isso simplifica firewall, reduz round trips de protocolos sensíveis à latência e organiza responsabilidade por região.

29 · Frontend

Administração permanece centralizada

Proxies são cadastrados em Administration → Proxies e proxy groups em Administration → Proxy groups. Hosts podem ser atribuídos a Proxy ou proxy group conforme o modelo. A equipe não precisa administrar inventário e templates localmente em cada site.

30 · Monitoramento do Proxy

O coletor também precisa ser um alvo

CPU, memória, armazenamento, banco local, backlog, disponibilidade até o Server, queue, processos ocupados e volume de coleta devem ser monitorados. Se o Proxy falha silenciosamente, dezenas ou centenas de hosts podem parecer indisponíveis ou simplesmente parar de atualizar.

31 · Runtime control

Ferramentas de runtime ajudam no diagnóstico

O Proxy possui runtime controls como config_cache_reload, diaginfo, history_cache_clear e snmp_cache_reload. Eles permitem recarregar cache, coletar diagnóstico e limpar estado SNMP sem reiniciar indiscriminadamente o daemon. Em troubleshooting de produção, isso reduz impacto.

32 · diaginfo

Colete evidência antes de aumentar processos

diaginfo pode gerar estatísticas sobre history cache, preprocessing e locks no log do Proxy. Antes de aumentar pollers ou caches, obtenha evidência do gargalo. Tunings arbitrários podem desperdiçar memória e apenas deslocar o problema.

33 · SNMP cache reload

SNMPv3 possui estado que pode precisar ser limpo

snmp_cache_reload limpa propriedades do cache SNMP, como engine time, boots, engine ID e credenciais. Isso pode ajudar em troubleshooting após mudanças de SNMPv3 ou substituição de equipamento, sem exigir restart completo do Proxy.

34 · Banco

SQLite é simples; simplicidade não significa capacidade infinita

SQLite reduz administração e cria o banco automaticamente, tornando-o conveniente para pequenos proxies. Em ambientes com alto NVPS, buffer grande ou muitos checks, avalie MySQL/PostgreSQL e armazenamento adequado. O banco do Proxy também precisa de I/O previsível durante backlog e replay.

35 · Recovery burst

Quando o link volta, o backlog precisa caber no caminho

Após horas offline, o Proxy pode precisar enviar um grande backlog enquanto continua coletando valores novos. Dimensione CPU, banco e link para a recuperação, não apenas para estado normal. Um enlace que suporta 20 kbit/s em steady state pode sofrer quando precisa transmitir horas de histórico rapidamente.

36 · Capacity planning

Dimensione pelo volume, não pelo número de hosts

Para estimar um Proxy, considere values per second, tipos de check, latência, SNMP tables, preprocessing, payloads HTTP, LLD e duração máxima de buffer offline. Contagem de hosts é apenas uma aproximação grosseira.

37 · Fault domains

Distribuição deve reduzir domínio de falha

Um único Proxy para todos os POPs apenas desloca o ponto único de falha. Dividir coleta por domínios independentes reduz blast radius. Proxy groups podem acrescentar HA dentro de um domínio onde múltiplos proxies realmente conseguem alcançar os mesmos alvos.

38 · Centralização

Proxy distribuído não significa Zabbix fragmentado

Templates, hosts, triggers, Services, dashboards, Actions e histórico final continuam sob governança central. O objetivo é distribuir execução da coleta, não criar ilhas administrativas. Essa distinção preserva consistência e permite automação global.

39 · Arquitetura distribuída

Server central, coleta próxima do alvo

                         ZABBIX SERVER
                              │
           ┌──────────────────┼──────────────────┐
           │                  │                  │
           ▼                  ▼                  ▼
      PROXY / RJ         PROXY / SP         PROXY / MG
           │                  │                  │
     ┌─────┼─────┐      ┌─────┼─────┐      ┌─────┼─────┐
     │     │     │      │     │     │      │     │     │
    OLT   RTR    SW     OLT   RTR    SW     OLT   RTR    SW

Configuração:
Server → Proxy

Coleta:
Proxy → dispositivos locais

Dados:
Proxy → buffer local → Server
40 · Active x Passive

Tabela de decisão

Critério Active Proxy Passive Proxy
Quem iniciaProxyServer
Firewall remotoGeralmente mais simplesCentral precisa alcançar Proxy
ConfiguraçãoProxy solicita ao ServerServer envia ao Proxy
Uso comumFiliais/POPs/remotosRedes controladas pela central
Identidade/segurançaRestrinja endereço + TLS/PSK/certRestrinja Server + TLS/PSK/cert
NATNormalmente favorávelPode exigir publicação/rota
41 · Buffer modes

Disk, memory ou hybrid?

Modo Vantagem Risco/Trade-off
diskPersistência direta no bancoMais I/O constante
memoryMenos I/O e alta velocidadePerda em shutdown/overflow
hybridMemória no normal + banco quando necessárioMais parâmetros e comportamento a entender
42 · Configuração conceitual

Parâmetros que merecem atenção

# Exemplo conceitual — revise conforme seu ambiente

Hostname=proxy-rj-pop01
Server=zabbix-central.exemplo.local

# 0 = active / 1 = passive
ProxyMode=0

# banco do Proxy
DBName=zabbix_proxy

# retenção durante perda do Server
ProxyOfflineBuffer=24

# opção atual de buffer
ProxyBufferMode=hybrid

# memória para buffer, se aplicável
ProxyMemoryBufferSize=256M

# idade máxima antes de migrar para disk em hybrid
ProxyMemoryBufferAge=300
43 · Dimensionamento do offline buffer

Quanto dado um site acumula durante isolamento?

Exemplo conceitual:

20.000 valores/segundo
× 3.600 segundos
= 72.000.000 valores por hora

offline por 4 horas:
≈ 288.000.000 valores

Isso NÃO é tamanho direto em bytes do banco.
Serve para mostrar a ordem de grandeza que buffer,
I/O e posterior sincronização terão de suportar.
44 · Proxy group HA

Dois proxies, um domínio de coleta

PROXY GROUP: RJ-ACCESS

       ┌───────────────┐
       │ ZABBIX SERVER │
       └───────┬───────┘
               │
      ┌────────┴────────┐
      │                 │
      ▼                 ▼
 PROXY-RJ-01       PROXY-RJ-02
      │                 │
      └────────┬────────┘
               │
       hosts do proxy group

Se PROXY-RJ-01 falha:
→ hosts elegíveis podem migrar para PROXY-RJ-02

Requisito real:
PROXY-RJ-02 precisa alcançar os mesmos hosts.
45 · Desenho de proxy groups

Agrupe por alcance real, não só por proximidade administrativa

Mesmo domínio L3 Todos os proxies conseguem alcançar todos os hosts do grupo.
Mesmas ACLs SNMP/Agent/HTTP permitem os proxies elegíveis.
DNS consistente Resolução funciona de qualquer Proxy do grupo.
Credenciais equivalentes Nenhuma dependência local impede failover.
Capacidade de sobra Proxy sobrevivente suporta o workload redistribuído.
Versões compatíveis Proxy/Server atendem requisitos do proxy group.
46 · Capacity matrix

O que realmente pesa no Proxy

Carga Impacta principalmente Exemplo
Muitos SNMP checksPollers + redeSwitches/OLTs
SNMP walk grandeCPU/memória/preprocessingTabelas extensas
HTTP payload grandeHTTP pollers + preprocessingAPIs
LLD frequentePreprocessing/configuraçãoInterfaces/sensores
Offline longoBanco/armazenamentoLink central indisponível
Replay de backlogDB + link + history syncRetorno após outage
Muitos dependent itemsPreprocessingJSON/SNMP master items
47 · Dashboard do Proxy

O Proxy deve declarar quando está ficando cego

Disponibilidade Proxy ↔ Server e Proxy ↔ rede local.
Queue Checks atrasados por tipo.
CPU / memória Saturação do host.
Disco / DB Espaço, I/O e crescimento.
Processes Busy pollers, preprocessing, syncers.
Backlog Dados aguardando envio.
NVPS Volume de valores processados.
Clock Desvio de tempo/NTP.
48 · Troubleshooting

Host parou de atualizar: siga o caminho

1. Host → Proxy Proxy consegue alcançar IP/DNS e porta do alvo?
2. Check SNMP/Agent/HTTP funciona manualmente a partir do Proxy?
3. Process Poller correspondente está saturado?
4. Queue O item está atrasado ou nunca executa?
5. Preprocessing Payload chegou e falhou ao transformar?
6. Buffer Dado está retido localmente?
7. Proxy → Server Existe conectividade e TLS válido?
8. Configuração Proxy recebeu configuração recente?
9. Banco DB local está lento, cheio ou bloqueado?
10. Clock Server/Proxy/host estão sincronizados?
49 · Runtime control

Diagnóstico sem reinício desnecessário

# Exemplos de runtime control
zabbix_proxy -R config_cache_reload

zabbix_proxy -R diaginfo
zabbix_proxy -R diaginfo=historycache
zabbix_proxy -R diaginfo=preprocessing

zabbix_proxy -R snmp_cache_reload
50 · Anti-patterns

Erros comuns em monitoramento distribuído

Proxy para corrigir banco lento Problema de persistência continua existindo no Server.
Um Proxy global para tudo Cria novo ponto único de falha.
Proxy group sem alcance comum Failover transfere hosts para Proxy incapaz de coletá-los.
OfflineBuffer mínimo em link instável Histórico pode ser descartado antes da reconexão.
Memory buffer sem aceitar perda Shutdown pode eliminar dados.
SQLite por padrão em grande volume Simplicidade inicial pode virar gargalo.
Fixar todos hosts em Proxy individual Impede redistribuição automática do proxy group.
Sem TLS/PSK/cert Expõe comunicação sensível desnecessariamente.
Active Proxy sem restrição adequada Amplia risco de impersonation/config leakage.
Sem monitorar o Proxy Falha de coleta parece falha massiva de equipamentos.
Pollers aumentados às cegas Consome recursos sem provar onde está o gargalo.
Sem capacidade para replay Retorno da WAN cria congestionamento prolongado.
51 · Laboratório

Implantar Proxy em um POP remoto

1. Inventário Liste hosts, checks, protocolos e NVPS estimado do POP.
2. Conectividade Valide Proxy → alvos e Proxy → Server.
3. Banco Escolha SQLite ou DB dedicado conforme volume.
4. Segurança Configure PSK/certificados e restrições de endereço.
5. Proxy Cadastre no frontend e configure daemon.
6. Hosts Mova um pequeno grupo de teste para o Proxy.
7. Validação Compare Latest data antes/depois.
8. Offline Interrompa comunicação com Server e confirme buffer.
9. Recovery Restaure link e observe replay de backlog.
10. Capacity Monitore queue, busy processes, DB e CPU.
52 · Laboratório HA

Testar proxy group antes de chamar de alta disponibilidade

Teste Resultado esperado
Dois proxies onlineGrupo Online e hosts distribuídos.
Parar Proxy 1Após failover, hosts elegíveis migram para Proxy 2.
Proxy 2 sem rota para hostTeste deve falhar — arquitetura precisa ser corrigida.
Retornar Proxy 1Grupo estabiliza e balanceamento pode redistribuir hosts.
Sobrecarregar Proxy 2Capacity precisa suportar cenário degradado.
TLS inválidoProxy não deve ser considerado operacional.
Versão incompatívelRedistribuição não deve ser presumida.
Abaixo de minimum proxiesGrupo deve indicar Degrading/Offline conforme estado.
53 · Tabela de decisão

Qual arquitetura escolher?

Cenário Arquitetura provável Motivo
Um datacenter pequenoServer diretoProxy pode ser complexidade sem benefício.
Filial remotaActive ProxyConexão iniciada da filial e buffer local.
POP com centenas de SNMPProxy localMenos latência e WAN round trips.
Rede crítica com 2 proxies equivalentesProxy groupFailover e balanceamento.
Proxies sem alcance cruzadoGrupos separadosHA seria falso.
Link remoto muito instávelProxy + buffer dimensionadoPreserva coleta local.
Rede isolada sem inboundActive ProxyFluxo centralizado de saída.
54 · Checklist de produção

Antes de mover hosts para Proxy

✓ Uso do Proxy possui justificativa clara
✓ Active/Passive foi escolhido pela topologia real
✓ Proxy possui banco próprio
✓ DB engine foi dimensionada pelo workload
✓ Clock/NTP está sincronizado
✓ Proxy alcança todos os hosts atribuídos
✓ Server/Proxy possuem conectividade estável
✓ TLS/PSK/certificados foram configurados
✓ Active Proxy possui restrições apropriadas
✓ Offline buffer cobre pior outage esperado
✓ Modo disk/memory/hybrid foi escolhido conscientemente
✓ Memória e armazenamento suportam backlog
✓ Replay após outage foi testado
✓ Queue e processos internos são monitorados
✓ Banco local e disco são monitorados
✓ Proxy está cadastrado como alvo de monitoramento
✓ Se proxy group: todos os proxies alcançam todos os hosts
✓ Se proxy group: capacidade N-1 foi validada
✓ Versões atendem requisitos de redistribuição
✓ Failover period/minimum proxies foram testados
✓ Runbook contém runtime controls úteis
✓ Falha de Proxy não é confundida com falha massiva dos alvos
55 · Referências técnicas

Base factual

Conteúdo desenvolvido a partir da documentação oficial Zabbix 7.4 sobre Proxy, distributed monitoring, configuração do zabbix_proxy, active/passive mode, ProxyOfflineBuffer, ProxyLocalBuffer, ProxyBufferMode, memory/hybrid buffer, runtime control, Proxy Groups, load balancing e proxy high availability. Os modelos de capacity, arquitetura geográfica, fault domains, laboratórios, matrizes de decisão e recomendações operacionais são síntese editorial própria.

PRÓXIMA PÁGINA

Retenção, banco e performance

Depois de distribuir a coleta, o próximo passo é controlar volume, retenção, banco, housekeeping, caches e processos para que o Zabbix continue escalando.

Continuar →
Atualização editorial 2026

Linha Zabbix 7.4

Proxy groups fornecem redistribuição automática, balanceamento e alta disponibilidade entre proxies compatíveis. Cada Proxy deve usar banco próprio e nunca compartilhar o banco do Server.

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