CIRCUITO
CARIOCA TI · DOCUMENTAÇÃO
♙
Zabbix · Resiliência

Alta disponibilidade e continuidade

Remova pontos únicos de falha do Server, banco, frontend, Proxy e dependências, com failover e DR testados.

zabbix://alta-disponibilidade
$ branch: 7.4
$ topic: Alta disponibilidade e continuidade
$ mode: production
$ method: evidence-first_
Server HA Nós nativos active/standby.
Database Estado central precisa de HA própria.
Proxy Bufferiza coleta em falhas de comunicação.
RPO Quanto dado pode ser perdido.
RTO Quanto tempo pode ficar indisponível.
01 · Fundamento

HA do Server não torna toda a plataforma altamente disponível

O Zabbix possui solução nativa de alta disponibilidade para o Server, mas banco, frontend, rede, storage, DNS, balanceadores e integrações continuam precisando de desenho próprio. O objetivo é analisar a cadeia completa e não apenas duplicar o daemon principal.

02 · Zabbix Server HA

O cluster nativo trabalha com um nó ativo

Em um cluster HA do Zabbix Server, somente um nó fica ativo por vez. Os demais permanecem em standby e acompanham o estado no banco compartilhado. Quando o nó ativo deixa de atualizar seu heartbeat além do período permitido, um standby pode assumir.

03 · HANodeName

Cada nó precisa de identidade única

A configuração HA exige um nome de nó único. Esse identificador permite que os membros sejam registrados e acompanhados no cluster. Nome duplicado ou desenho inconsistente cria ambiguidade operacional e deve ser evitado.

04 · NodeAddress

O endereço do nó faz parte da comunicação HA

Cada nó pode anunciar endereço e porta usados para comunicação com componentes que precisam alcançar o Server ativo. O valor deve ser roteável e coerente com DNS, firewall e segmentação do ambiente.

05 · FailoverDelay

Failover rápido demais pode criar instabilidade

O parâmetro de atraso de failover controla quanto tempo o cluster tolera ausência do nó ativo antes de promover outro membro. Valores agressivos reduzem RTO, mas podem aumentar risco de failover durante falhas transitórias ou pausas operacionais.

06 · Heartbeat

A decisão de failover depende de evidência temporal

HA não deve interpretar qualquer pacote perdido como morte do Server. O heartbeat cria uma janela para distinguir indisponibilidade real de atraso momentâneo. Por isso, latência e confiabilidade entre os nós e o banco importam diretamente.

07 · Banco compartilhado

O banco é a fonte de estado do cluster

Os nós do Server HA usam o mesmo banco Zabbix. Se esse banco estiver indisponível, adicionar nós de Server não resolve o problema. Banco sem redundância pode continuar sendo o maior single point of failure da arquitetura.

08 · HA do banco

A tecnologia depende da engine escolhida

PostgreSQL e MySQL/MariaDB possuem ecossistemas próprios de replicação, failover e proxies de conexão. O Zabbix não substitui essa camada. Escolha uma arquitetura suportada pela engine e teste consistência, promoção e reconexão do Zabbix.

09 · Split brain

Dois primários de banco podem ser pior que uma parada

Arquiteturas de HA precisam impedir escrita concorrente inconsistente. Quorum, fencing e mecanismos da solução de banco devem ser entendidos. Um failover automático que preserva disponibilidade mas corrompe estado não é alta disponibilidade.

10 · Frontend

Frontend pode escalar separadamente

O frontend é uma aplicação PHP e pode ser executado em múltiplas instâncias atrás de balanceador quando a arquitetura de sessão, configuração e acesso ao banco estiver coerente. O desenho deve considerar também a comunicação com o Server ativo.

11 · Frontend stateless

Quanto menos estado local, mais simples o failover

Configurações locais divergentes entre frontends criam comportamento imprevisível. Padronize arquivos, PHP, módulos, timezone, certificados e parâmetros. Automação de configuração reduz drift entre nós.

12 · Load balancer

Balanceador também pode virar SPOF

Dois frontends atrás de um único load balancer sem redundância continuam dependentes de um ponto único. Analise VIP, DNS, health checks e HA do próprio balanceamento conforme criticidade.

13 · Proxy

Proxy oferece continuidade de coleta distribuída

Quando perde comunicação com o Server, o Proxy pode continuar coletando dados e armazená-los localmente para envio posterior, dentro da capacidade e política configuradas. Isso desacopla temporariamente coleta remota da disponibilidade do centro.

14 · Proxy buffer

Buffer precisa sobreviver ao pior outage plausível

Dimensione armazenamento e retenção do Proxy para a taxa real de coleta e a duração máxima de isolamento esperada. Um Proxy capaz de guardar apenas duas horas não protege uma filial que pode ficar um dia sem WAN.

15 · Proxy não é Server HA

Bufferização e failover resolvem problemas diferentes

Proxy reduz impacto de falha de comunicação e distribui coleta. Server HA reduz indisponibilidade do processo central. Um não substitui o outro; arquiteturas robustas frequentemente utilizam ambos.

16 · Proxy groups

Distribuição pode adicionar resiliência operacional

Proxy groups permitem distribuir hosts entre proxies de um grupo e suportar redistribuição conforme disponibilidade e configuração. Isso é útil em desenhos onde múltiplos proxies conseguem alcançar o mesmo conjunto de alvos.

17 · Reachability

Failover de Proxy só funciona se a rede permitir

Dois proxies não criam redundância se apenas um possui rota, ACL ou credencial para os dispositivos. Antes de confiar na redistribuição, valide conectividade e identidade a partir de cada membro elegível.

18 · Active agents

Agentes ativos precisam alcançar destino alternativo conforme desenho

Quando hosts usam active checks, a estratégia de Server/Proxy precisa considerar como eles descobrem ou alcançam o endpoint disponível. DNS, listas de servidores e arquitetura de Proxy devem ser planejados para evitar dependência oculta de um único endereço.

19 · Alerting

Coleta disponível sem alerting disponível ainda é falha

Email, SMS, chat, webhook e plataformas de incidentes podem falhar independentemente do Server. Monitore o caminho de notificação e tenha mecanismos de teste. O NOC não se beneficia de um evento corretamente detectado que nunca chega ao operador.

20 · Media provider

Dependência externa precisa aparecer no desenho

Se todos os alertas dependem de um único SaaS, gateway ou SMTP, ele se torna parte da cadeia de disponibilidade. Considere canal alternativo para incidentes críticos quando o risco justificar.

21 · DNS

Nomes usados no failover também são infraestrutura crítica

Se VIPs, frontends, proxies ou integrações dependem de DNS, monitore resolução e TTL. Mudanças de DNS não são instantâneas para todos os clientes e podem aumentar RTO real.

22 · NTP

Tempo inconsistente destrói diagnóstico

Server, Proxy, banco e hosts precisam de relógios coerentes. Divergência temporal dificulta correlação de eventos, logs e failover. Monitore sincronização e trate NTP como dependência operacional.

23 · RTO

Recovery Time Objective é tempo aceitável de interrupção

RTO deve ser definido para monitoramento central, coleta remota, frontend e alerting. Um objetivo de 60 segundos exige arquitetura e automação diferentes de um objetivo de 30 minutos. Sem RTO, “alta disponibilidade” não possui critério mensurável.

24 · RPO

Recovery Point Objective define perda de dados aceitável

Para o banco, RPO indica quanto histórico/configuração pode ser perdido após desastre. Para Proxy, buffer influencia perda de amostras durante isolamento. RPO zero ou próximo de zero aumenta complexidade e custo e precisa de justificativa.

25 · Backup

HA não substitui backup

Replicação copia alterações boas e ruins. Exclusão acidental, corrupção lógica ou credencial comprometida pode se propagar para réplicas. Backup independente e testado continua necessário mesmo em arquitetura altamente disponível.

26 · Restore

Backup só existe de verdade depois do teste de restauração

Documente sequência para recuperar banco, configuração, certificados, frontend e integrações. Meça tempo real de restauração. RTO baseado apenas no tempo de copiar um arquivo ignora validação, DNS, permissões e reconexão dos componentes.

27 · Configuração

Arquivos locais precisam fazer parte do DR

Além do banco, preserve zabbix_server.conf, proxy configs, web server, PHP, certificados, PSKs quando aplicável, scripts externos, alert scripts e customizações. Banco restaurado sem esses elementos pode não reproduzir o ambiente funcional.

28 · Infra as Code

Reconstrução previsível reduz RTO

Automação com Ansible, Puppet, Salt, scripts ou imagens padronizadas permite recriar nós de forma consistente. O objetivo não é apenas instalar pacotes, mas reconstruir versões, parâmetros, certificados, serviços e observabilidade do próprio Zabbix.

29 · Capacity during failover

O sobrevivente precisa suportar a carga

Em qualquer arquitetura N+1, remova mentalmente um nó e calcule novamente. Se dois componentes trabalham a 70% cada e um precisa assumir toda a carga, o failover pode apenas trocar uma falha por saturação.

30 · Maintenance

HA permite manutenção, mas exige procedimento

Atualizações, reboot e patches podem ser feitos com menor indisponibilidade quando o failover é conhecido. Porém manutenção sem confirmar estado do cluster, banco e standby pode remover justamente o único nó saudável.

31 · Upgrade

Compatibilidade entre nós precisa seguir documentação

Não trate cluster HA como mecanismo para manter versões incompatíveis indefinidamente. Siga procedimento oficial de upgrade e compatibilidade de schema. O banco compartilhado torna mudanças de versão especialmente sensíveis.

32 · Monitoring the monitor

O cluster precisa monitorar a si próprio

Colete estado HA, disponibilidade dos nós, banco, proxies, filas, caches e canais de alerta. Exiba em dashboard independente. O primeiro sinal de degradação do monitoramento não deveria vir de um usuário dizendo que “pararam de chegar alertas”.

33 · External watchdog

Alguma verificação deve existir fora do Zabbix

Um teste externo simples pode confirmar frontend, API ou entrega de alerta. Se toda a saúde do Zabbix é monitorada exclusivamente pelo próprio Zabbix, uma falha completa pode silenciar a evidência.

34 · Failure domains

Distribua componentes entre domínios de falha reais

Dois Servers na mesma VM host, mesmo storage e mesmo switch não protegem contra falha desses elementos. Pense em host físico, rack, energia, rede, storage, zona e datacenter conforme o nível de disponibilidade requerido.

35 · Datacenter DR

HA local e disaster recovery são camadas diferentes

HA pode resolver falha de processo ou host dentro do mesmo site. DR trata perda de site, storage ou região. Um segundo datacenter exige replicação, conectividade, DNS, secrets, runbook e decisão de promoção.

36 · Quorum humano

Automação não elimina decisão operacional

Alguns desastres exigem escolher entre consistência e disponibilidade. Defina quem autoriza promoção de banco, ativação de site DR e retorno ao primário. Runbook deve eliminar improviso durante incidentes graves.

37 · Failback

Voltar ao primário também é mudança crítica

Depois do failover, não faça failback apenas porque o host original voltou. Confirme sincronização, causa raiz e janela. Failback apressado pode provocar segunda interrupção e destruir evidências.

38 · Teste

Failover não testado é apenas uma hipótese

Execute exercícios controlados: parar Server ativo, isolar banco, interromper WAN de Proxy, indisponibilizar frontend e bloquear canal de alerta. Registre tempos, comportamento e lacunas. A documentação deve nascer desses testes.

39 · Game day

Falhas planejadas revelam dependências invisíveis

Um game day pode simular perda de nó ou região em janela segura. O objetivo não é provar que a arquitetura é perfeita, mas descobrir onde ela quebra antes de um incidente real.

40 · Métricas de continuidade

Meça o que aconteceu durante o teste

Registre tempo até detecção, promoção, retomada de coleta, normalização de queue, entrega do primeiro alerta e recuperação do frontend. Esses tempos mostram o RTO real de cada camada.

41 · Buffer recovery

Reconexão pode gerar pico pós-outage

Quando proxies voltam a enviar backlog, o Server e banco recebem carga adicional além da coleta corrente. Capacity planning deve considerar esse catch-up. Um ambiente estável em regime normal pode saturar justamente na recuperação.

42 · Alert storm

Retorno de conectividade pode liberar muitos eventos

Após isolamento, mudanças de estado e eventos acumulados podem gerar tempestade de notificações. Dependências, correlação, escalonamento e desenho de triggers ajudam a evitar que recuperação de infraestrutura sobrecarregue a equipe.

43 · Runbook

Cada falha crítica precisa de procedimento executável

Runbook deve conter sintomas, validação, comando/ação, critério de promoção, rollback, owner e evidência esperada. “Reiniciar o servidor se der problema” não é procedimento de continuidade.

44 · CMDB

Topologia atualizada acelera recuperação

Inventário de IPs, nomes, versões, dependências, certificados, banco e owners reduz tempo de decisão. Informação de DR mantida apenas na memória de uma pessoa é outro ponto único de falha.

45 · Segurança no DR

Site secundário precisa do mesmo nível de proteção

DR desligado ou pouco usado não pode ser uma porta lateral. Patches, secrets, ACLs, certificados e RBAC precisam permanecer alinhados. Um ambiente secundário vulnerável pode comprometer o primário antes mesmo de ser necessário para recuperação.

46 · Objetivo

Resiliência é capacidade de continuar entregando função

A meta não é manter todos os componentes sempre verdes. Durante falha, pode ser aceitável perder frontend temporariamente enquanto coleta e alerting continuam. Priorize funções por impacto e desenhe degradação controlada.

47 · Arquitetura de referência

Remova SPOFs por camada

                USUÁRIOS / NOC
                      │
                VIP / DNS / LB
                 ┌────┴────┐
                 │         │
             FRONTEND A FRONTEND B
                 │         │
                 └────┬────┘
                      │
             ZABBIX SERVER HA
              ┌───────┴───────┐
              │               │
           NODE A          NODE B
              └───────┬───────┘
                      │
               DATABASE HA
              primary / replica
                      │
       ┌──────────────┼──────────────┐
       │              │              │
   PROXY RJ       PROXY SP       PROXY MG
   buffer local   buffer local   buffer local
       │              │              │
     hosts           hosts           hosts

Fora da cadeia:
→ backup independente
→ monitor externo
→ canal alternativo de alerta
→ site/estratégia de DR
48 · Domínios de falha

“Dois nós” só vale se não morrerem juntos

FalhaDois nós no mesmo domínioSeparação recomendada
VM hostAmbos podem cairHosts distintos
StorageAmbos perdem discoStorage/replicação resiliente
SwitchAmbos isoladosCaminhos redundantes
EnergiaAmbos desligamPDUs/circuitos distintos
RackImpacto conjuntoRacks distintos
DatacenterHA local perdidaDR em outro site/região
49 · RPO e RTO

Defina objetivos por função

FunçãoRTO exemploRPO exemploObservação
Coleta central2 minPróximo de zeroServer HA + DB resiliente
Frontend5 minN/APode ser menos crítico que coleta
Filial via ProxyWAN outage 24h0 durante bufferDimensionar buffer
Configuração Zabbix30 min15 minBackup/replicação conforme política
Alerting crítico2 minN/ACanal principal + teste
DR de datacenter1 h15 minExemplo; depende do negócio

Valores acima são exemplos de engenharia. RPO/RTO reais devem vir do impacto e da criticidade da operação.

50 · Dimensionamento de buffer

Quanto o Proxy precisa sobreviver isolado?

Exemplo conceitual:

Proxy:
2.000 valores/segundo

Isolamento máximo projetado:
12 horas

Valores acumulados:
2.000 × 43.200
= 86.400.000 valores

Planejar:
- banco/storage local
- retenção do buffer
- I/O
- crescimento
- pico de envio após reconexão
- capacidade do Server/DB para catch-up
51 · Matriz de falhas

O que deve acontecer quando cada componente cai?

FalhaComportamento desejadoRisco residual
Server ativoStandby assumeDelay de failover
Banco primárioDB HA promove réplicaConsistência/reconexão
Frontend ALB envia ao BSessão/configuração
WAN de filialProxy continua coletandoLimite do buffer
Proxy A em grupoHosts redistribuídosReachability/capacidade
SMTP principalCanal alternativoIntegração externa
DatacenterAtivar DRRPO/RTO do site
52 · Runbook de failover

Procedimento deve caber em uma crise real

1. Confirmar falha
2. Identificar domínio afetado
3. Confirmar estado do standby
4. Confirmar saúde do banco
5. Verificar promoção automática/manual
6. Validar nó ativo
7. Validar coleta
8. Validar queue
9. Validar alerting
10. Validar frontend/API
11. Registrar horário e impacto
12. NÃO executar failback imediatamente
13. Corrigir causa raiz
14. Planejar retorno
15. Atualizar runbook com o que falhou
53 · Game day

Teste resiliência com falhas controladas

Server Parar o nó ativo e medir promoção.
Database Simular indisponibilidade controlada do primário.
Proxy Bloquear comunicação com Server.
WAN Isolar filial e validar buffer.
Frontend Remover uma instância do pool.
Alerting Indisponibilizar canal principal.
DNS Validar comportamento de resolução/failover.
Recovery Medir catch-up e tempestade pós-falha.
54 · Anti-patterns

Redundância aparente

2 Servers + 1 banco Banco continua sendo SPOF.
2 VMs no mesmo hypervisor Falha do host derruba ambas.
2 frontends + 1 LB Balanceador vira SPOF.
Proxy sem buffer dimensionado WAN longa causa perda.
Proxy redundante sem rota aos mesmos hosts Failover não coleta nada.
Backup = réplica Erro lógico replica junto.
DR nunca testado RTO é apenas estimativa.
Failback automático sem análise Pode provocar segunda queda.
HA operando a 90% Sem capacidade para perda de nó.
Alerting por um único canal Falha do provedor silencia incidentes.
Runbook desatualizado Procedimento falha quando mais necessário.
Monitorar Zabbix só pelo próprio Zabbix Falha total pode ficar invisível.
55 · Checklist de produção

Antes de chamar o Zabbix de altamente disponível

✓ RPO e RTO estão definidos
✓ Server possui HA compatível com a criticidade
✓ Nós HA possuem identidades únicas
✓ FailoverDelay foi escolhido e testado
✓ Banco possui estratégia de HA própria
✓ Failover do banco foi testado com Zabbix
✓ Frontend não depende de uma única instância
✓ Balanceamento/DNS não são SPOFs ignorados
✓ Proxies possuem buffer dimensionado
✓ Proxy groups têm reachability real quando usados
✓ Capacidade N+1 foi validada
✓ Backlog pós-outage cabe no Server/DB
✓ Canais de alerta são monitorados
✓ Existe teste externo do monitoramento
✓ NTP é consistente
✓ Backups são independentes da replicação
✓ Restore completo foi cronometrado
✓ Configs, certificados e scripts fazem parte do DR
✓ Domínios de falha foram mapeados
✓ Site DR possui segurança equivalente
✓ Runbooks possuem owner
✓ Failback exige validação
✓ Game day é executado periodicamente
✓ Métricas de failover são registradas
56 · Referências técnicas

Base factual

Conteúdo estruturado sobre os recursos de alta disponibilidade do Zabbix 7.4, Zabbix Server HA, proxies, proxy groups, buffering e arquitetura distribuída. As camadas de banco, RPO/RTO, disaster recovery, failure domains, game days, runbooks, capacity N+1 e continuidade operacional são síntese de práticas de engenharia de confiabilidade aplicadas ao ecossistema Zabbix.

PRÓXIMA PÁGINA

Capacity planning e escala

A próxima página transforma crescimento de hosts, itens, NVPS, banco, proxies, processos e retenção em capacidade mensurável e previsível.

Continuar →
Atualização editorial 2026

Linha Zabbix 7.4

HA nativo do Zabbix Server não torna banco, frontend, storage ou rede automaticamente redundantes. Modele RPO/RTO e teste falha real, retorno e consistência de alerting.

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