Skip to main content
Compartilhe:

Passo a passo: da arquitetura à implementação prática

Em ambientes onde o monitoramento sustenta SLA, operações 24×7 e times de NOC e SOC, o Zabbix Server não pode ser um ponto único de falha.

Desde a versão 6.0, o Zabbix possui HA nativo para o Server, sem necessidade de cluster externo, sem scripts adicionais e sem soluções improvisadas.

Mas atenção: simples de configurar não significa simples de projetar corretamente.

Este guia percorre desde os fundamentos da arquitetura até a implementação prática da alta disponibilidade em ambiente de produção.

Entendendo a Arquitetura de alta disponibilidade (HA) do Zabbix

Modelo adotado: Active / Passive

O cluster HA do Zabbix funciona no modelo:

  • 1 nó Active
  • 1 ou mais nós Standby
  • Todos compartilhando o mesmo banco de dados

Importante: apenas um nó processa métricas, triggers e eventos por vez.

Esse comportamento evita:

  • Processamento duplicado
  • Corrupção de dados
  • Conflito de escrita no banco

Estados possíveis de um nó

Cada nó pode estar em um dos seguintes estados:

 Active – Processa todos os dados, triggers e eventos
 Standby – Monitora o nó ativo e aguarda possível promoção
 Unavailable – Não está atualizando heartbeat
 Stopped – Serviço parado

Esses estados são armazenados no banco de dados, na tabela “nodes”, e sincronizados periodicamente (heartbeat a cada 5 segundos).

Como o Failover realmente funciona

Heartbeat

Cada nó atualiza seu timestamp no banco de dados a cada 5 segundos.
 Os nós standby monitoram continuamente o timestamp do nó ativo.

Failover delay

Se o nó ativo parar de atualizar seu heartbeat, o failover ocorre após:

failover_delay + 5 segundos

O valor padrão pode ser ajustado dinamicamente em runtime com o comando:

zabbix_server -R ha_set_failover_delay=1m

Intervalo permitido:

  • Mínimo: 10 segundos
  • Máximo: 15 minutos

Estratégia prática recomendada:

  • Ambientes extremamente críticos: 30 segundos a 1 minuto
  • Ambientes sujeitos a jitter ou instabilidade de rede: 2 a 3 minutos

Definir um delay muito agressivo pode gerar promoção indevida por flapping de rede.

alta disponibilidade

Checklist completo de implementação

Pré-requisitos

  • Banco de dados único e compartilhado entre todos os nós
  • Baixa latência entre os servidores do cluster
  • Sincronização de horário obrigatória (NTP configurado e validado)
  • Mesma versão exata do Zabbix em todos os nós

Passo 1 – Configuração do banco de dados

Todos os nós devem apontar para o mesmo banco:

DBHost=db-server
 DBName=zabbix
 DBUser=zabbix
 DBPassword=******

Atenção: alta disponibilidade (HA) do Zabbix não é alta disponibilidade (HA) de banco.

É obrigatório implementar alta disponibilidade no banco de dados com soluções como:

  • PostgreSQL com streaming replication
  • Patroni
  • Percona XtraDB Cluster
  • Ou solução equivalente

Sem alta disponibilidade (HA) no banco, o cluster inteiro se torna indisponível.

Passo 2 – Configuração de cada nó Zabbix Server

No arquivo zabbix_server.conf, configure os parâmetros de alta disponibilidade (HA).

Exemplo:

Nó 1
 HANodeName=zbx-node-01
 NodeAddress=10.0.0.11:10051

Nó 2
 HANodeName=zbx-node-02
 NodeAddress=10.0.0.12:10051

Regras fundamentais:

  • HANodeName deve ser único em cada nó
  • NodeAddress deve ser alcançável por proxies e frontend
  • Todos os nós devem compartilhar o mesmo banco

Após configurar, reinicie os serviços:

systemctl restart zabbix-server

Passo 3 – Frontend

No arquivo zabbix.conf.php, não é necessário fixar manualmente o endereço do servidor ativo.

O frontend consulta automaticamente a tabela “nodes” no banco de dados e identifica qual nó está em estado active.

Essa lógica elimina a necessidade de VIP específico para o frontend.

Configuração de Proxies e Agents em ambiente de Alta Disponibilidade (HA)

Proxies

Proxy Passivo
No arquivo de configuração:

Server=10.0.0.11,10.0.0.12

Proxy Ativo
No arquivo de configuração:

Soluções de TI

Server=10.0.0.11;10.0.0.12

Importante:
Vírgula é usada para conexões passivas.
Ponto e vírgula é usado para conexões ativas.

Confundir isso compromete o failover.

Agents

Agent Passivo:

Server=10.0.0.11,10.0.0.12

Agent Ativo:

ServerActive=10.0.0.11;10.0.0.12

Boa prática recomendada: utilizar DNS interno ou VIP em vez de IP fixo, sempre que possível.

Comandos operacionais do cluster

Monitorar status do cluster:

zabbix_server -R ha_status

Remover nó do cluster:

zabbix_server -R ha_remove_node=zbx-node-02

Alterar failover delay:

zabbix_server -R ha_set_failover_delay=2m

Esses comandos são executados em runtime e não exigem reinicialização do serviço.

Dicas e boas práticas

Teste o failover em ambiente de testes

Simule falha abrupta com:

kill -9 <pid>

ou desligando a máquina virtual.

Observe:

  • O standby assume após o tempo definido em failover_delay
  • Logs registram a promoção do novo nó ativo
  • Proxies e agents reconectam automaticamente

Nunca implante alta disponibilidade (HA) em produção sem validar failover real.

Sincronização de horário

Se o NTP falhar, o cluster pode apresentar comportamento imprevisível, inclusive promoções indevidas.

Não misture versões

Executar versões diferentes do Zabbix dentro do mesmo cluster pode causar comportamento indefinido e inconsistências no banco.

Armadilhas comuns

  • Banco de dados sem alta disponibilidade (HA): todo o cluster cai
  • Failover delay muito baixo: promoção desnecessária por jitter
  • Latência alta entre nós: pode gerar estado unavailable falso
  • Frontend fixado manualmente a um único IP de servidor: quebra a lógica dinâmica

Conclusão

A alta disponibilidade (HA) nativo do Zabbix é:

  • Simples
  • Elegante
  • Eficiente
  • Seguro

Ele elimina o ponto único de falha do Server de maneira limpa, sem transformar sua arquitetura em um conjunto complexo de clusters difíceis de manter.

Monitoramento é a base da operação. Se ele falhar, você perde visibilidade exatamente quando mais precisa.

Implementar alta disponibilidade (HA) corretamente não é luxo, é requisito estratégico para qualquer ambiente que dependa de disponibilidade real.

Sobre a Target Solutions

A Target Solutions é especializada em AIOps, infraestrutura de TI e redes, atuando na interseção entre operação real, automação e inteligência aplicada. Com mais de 15 anos de experiência técnica, combinamos inovação em tecnologias de código aberto com inteligência artificial aplicada às operações de TI e Telecom, transformando ambientes complexos em operações mais eficientes, previsíveis e escaláveis.

Como Zabbix Certified Partner, contamos com profissionais certificados (Expert, Professional e Specialist), com ampla experiência na implantação, evolução, sustentação N2/N3 e otimização de ambientes Zabbix corporativos de grande porte. Nossa atuação abrange desde arquiteturas distribuídas com proxies regionais até ambientes com milhares de ativos monitorados, incluindo integrações com sistemas ITSM e ferramentas de observabilidade.

Ao longo de dezenas de projetos de implantação, modernização e suporte especializado em Zabbix, acumulamos não apenas domínio técnico da plataforma, mas também uma compreensão profunda dos desafios reais da gestão de incidentes: excesso de alarmes, dificuldade de priorização, análise manual e operações reativas.

É justamente nesse ponto que a proposta de valor do Argus, nossa plataforma de AIOps, se conecta de forma complementar ao Zabbix. Enquanto o Zabbix oferece monitoramento robusto e confiável, o Argus atua sobre esse universo de eventos, consolidando múltiplas fontes, correlacionando alarmes e aplicando inteligência para transformar dados em contexto, prioridade e ação.

Assim, ajudamos as organizações a evoluírem da simples monitoração para uma gestão operacional orientada à inteligência, reduzindo ruído, acelerando diagnósticos e elevando o nível de maturidade das operações de TI.

Conheça o Argus (clique aqui), solicite uma demonstração e veja como transformar ruído em inteligência operacional.

Autor deste Artigo: Luciano Souza, Consultor Associado da Target Solutions.

Entre em contato
Compartilhe: