O modo de alta disponibilidade oferece proteção contra falhas de software/hardware para o Zabbix Server e permite minimizar o tempo de parada durante manutenções de software/hardware.
O cluster de alta disponibilidade (HA) é uma solução opcional (opt-in) e é suportada para Zabbix Server. A solução de HA nativa é projetada para ser simples de usar, funcionará entre sites e não possui requisitos específicos para os bancos de dados que o Zabbix reconhece. Os usuários são livres para utilizar a solução de HA nativa do Zabbix, ou uma solução de HA de terceiros, dependendo do que melhor atende as necessidades de alta disponibilidade em seus ambientes.
A solução consiste de múltiplas instâncias ou nós do zabbix_server. Cada nó:
Apenas um nó pode estar ativo (trabalhando) por vez. Os nós em espera não fazem coleta de dados, processamento ou outras atividades regulares do Server; eles não esperam por comunicação nas portas; eles têm conexões mínimas com o banco de dados.
Ambos os nós ativos e em espera atualizam seus horários de último acesso a cada 5 segundos. Cada nó em espera monitora o horário do último acesso do nó ativo. Se horário do último acesso do nó ativo estiver acima de 'atraso de recuperação de falha' segundos, o nó em espera torna a si o nó ativo e associa o estado de 'indisponível' ao nó anteriormente ativo.
O nó ativo monitora sua própria conectividade de banco de dados - se for perdida por mais do que atraso de recuperação de falha - 5
segundos, ele deve parar todo o processamento e alterar para o modo de espera. O nó ativo também monitora o estado dos nós em espera - se o horário do último acesso de um nó em espera for maior do que 'atraso de recuperação de falha' segundos, o nó em espera recebe o estado de 'indisponível'.
O atraso de recuperação de falha é configurável, com o valor mínimo sendo de 10 segundos.
Os nós são projetados para serem compatíveis entre versões secundárias (minor) do Zabbix.
Para transformar qualquer Zabbix Server de um servidor isolado (standalone) em um nó de cluster HA, especifique o parâmetro HANodeName (nome do nó) na configuração do Server.
O parâmetro de endereço do nó NodeAddress (endereço:porta), se configurado, deve ser usado pelo Frontend do nó ativo, sobrescrevendo o valor presente no zabbix.conf.php.
Make sure that Zabbix server address:port is not defined in the frontend configuration.
Zabbix frontend will autodetect the active node by reading settings from the nodes table in Zabbix database. Node address of the active node will be used as the Zabbix server address.
Para habilitar conexões à múltiplos Servers em um ambiente de alta disponibilidade, liste os endereços de nó de HA no parâmetro Server do Proxy, separados por ponto-e-vírgula.
Para habilitar conexões à múltiplos Servers em um ambiente de alta disponibilidade, liste os endereços de nó de HA no parâmetro ServerActive do agente, separados por ponto-e-vírgula.
Zabbix will fail over to another node automatically if the active node stops. There must be at least one node in standby status for the failover to happen.
How fast will the failover be? All nodes update their last access time (and status, if it is changed) every 5 seconds. So:
If the active node shuts down and manages to report its status as "shut down", another node will take over within 5 seconds.
If the active node shuts down/becomes unavailable without being able to update its status, standby nodes will wait for the failover delay + 5 seconds to take over
The failover delay is configurable, with the supported range between 10 seconds and 15 minutes (one minute by default). To change the failover delay, you may run:
zabbix_server -R ha_set_failover_delay=5m
O estado atual do cluster HA pode ser gerenciado usando as opções de controle em tempo de execução dedicadas:
O estado de um nó pode ser monitorado:
ha_status
do Server (veja acima).O item interno zabbix[cluster,discovery,nodes]
pode ser usado para descoberta de nó, pois ele retorna um JSON com informações de nós de alta disponibilidade.
Para desabilitar um cluster de alta disponibilidade:
###Detalhes da implementação
O cluster de alta disponibilidade (HA) é uma solução opcional e é suportada pelo Zabbix server. A solução nativa de HA está designada para ser simples de usar, funcionará em todos os sites e não tem requisitos específicos para o banco de dados que o Zabbix reconhece. Os usuário são livres para usar a solução de HA nativa do Zabbix, ou uma solução de HA de terceiros, dependendo do que irá atender melhor os requisitos de alta disponibilidade em seu ambiente.
A solução consiste de múltiplas instâncias do zabbix_server ou nós. Cada nó:
Apenas um nó pode estar ativo (trabalhando) por vez. Um nó de espera executa apenas o processo gerenciador do HA. Um nó de espera não realiza a coleta de dados, processamento ou outras atividades regulares do servidor; eles não escutam nas portas; eles tem conexões mínimas com o banco de dados.
Ambos os nós ativos e em espera atualizam sua última hora de acesso a cada 5 segundos. Cada nó em espera monitora o último horário de acesso do nó ativo. Se a última hora de acesso do nó ativo for maior que o 'atraso de failover' em segundos, o nó de espera muda para ser o nó ativo e atribui o status de 'indisponível' para o nó ativo anteriormente.
O nó ativo monitora sua própria conectividade com o banco de dados - se ela for perdida por mais de 'failover delay -5' segundos, ele deve parar todos os processos e mudar para o modo de espera. O nó ativo também monitora o status dos nós em espera - se o último horário de acesso do nó de espera for maior que o 'failover delay' em segundos, o nó em espera muda o status para 'indisponível'.