Você está visualizando a documentação da versão de desenvolvimento, ela pode estar incompleta.
Junte-se ao nosso projeto de tradução e ajude a traduzir a documentação do Zabbix em sua língua nativa.

2 Balanceamento de carga e alta disponibilidade do proxy

Visão geral

Os proxies do Zabbix podem ser organizados em grupos de proxies para permitir balanceamento de carga e alta disponibilidade de proxies.

O balanceamento de carga e alta disponibilidade de proxies é a redistribuição automática de hosts entre proxies dentro de um grupo de proxies:

  • Se um proxy ficar offline, seus hosts serão movidos para outros proxies, mantendo assim alta disponibilidade do proxy.
  • Se um proxy tiver um número muito maior/menor de hosts do que outros proxies, seus hosts serão movidos para outros proxies para equilibrar a carga do proxy.

A redistribuição de hosts funciona apenas entre proxies em um grupo que atendam às seguintes condições:

  • Os proxies estão executando o Zabbix 7.0 ou posterior.
  • A versão do proxy corresponde à versão do Zabbix server. Se estiver usando o Zabbix agent (passivo), a versão do proxy deve corresponder à versão do agent. Agents ativos exigem apenas o Zabbix 7.0 ou posterior.
  • O grupo de proxies possui um estado online.
  • Os hosts estão configurados para serem monitorados por um grupo de proxies em vez de por proxies individuais.

A integridade do grupo de proxies pode ser monitorada com verificações internas por qualquer host atribuído a um grupo de proxies. No entanto, para monitorar a integridade de um único proxy em um grupo, atribua o host a esse proxy; caso contrário, os resultados podem ser inconsistentes.

Redistribuição de hosts

O balanceamento de carga e alta disponibilidade do proxy é gerenciado pelo Zabbix server por meio do gerenciador de grupos de proxy, que monitora continuamente o estado de todos os proxies em cada grupo de proxy e sua distribuição de hosts.

A alta disponibilidade do proxy dentro de um grupo é garantida por meio do failover do proxy: quando um proxy fica offline, seus hosts são imediatamente redistribuídos para outros proxies. O balanceamento de carga do proxy também ocorre, pois os hosts são reatribuídos aos proxies com menos hosts atribuídos.

Além disso, o balanceamento de carga do proxy é acionado quando a contagem de hosts do proxy difere da média do grupo em pelo menos 10 hosts e um fator de 2 (excesso ou déficit de hosts). Se o desequilíbrio persistir após um período de carência (10 x failover delay), o grupo de proxy é colocado na fila para redistribuição de hosts.

O gerenciador de grupos de proxy redistribui os hosts usando a seguinte lógica:

  1. Calcule o número médio de hosts por proxy.
  2. Para proxies com excesso de hosts—mova os hosts excedentes para o pool não atribuído de proxies.
  3. Para proxies com déficit de hosts—calcule quantos hosts são necessários para atingir o equilíbrio.
  4. Remova o número necessário de hosts dos proxies com mais hosts.
  5. Mova os hosts não atribuídos para os proxies com menos hosts.

Exemplos de redistribuição de hosts:

Hosts no proxy Média do grupo Reatribuição de hosts
100 50 Sim
60 50 Não
40 50 Não
25 50 Sim
15 5 Sim
10 5 Não

Ter menos de 10 hosts monitorados por um grupo de proxy pode levar a uma distribuição desigual de hosts entre os proxies do grupo.

Configurando um grupo de proxies

Para configurar um grupo de proxies no frontend do Zabbix:

  1. Vá para Administração > Grupos de proxies
  2. Clique em Criar grupo de proxies

Parâmetro Descrição
Nome Nome do grupo de proxies.
Período de failover Período em segundos durante o qual um proxy no grupo de proxies deve se comunicar com o Zabbix server para ser considerado online (padrão: 1m; intervalo: 10s–15m). Se o proxy não se comunicar dentro desse período, o estado do proxy será alterado para Offline e seus hosts serão imediatamente redistribuídos para outros proxies. O balanceamento de carga do proxy começa após 10 x esse período.
Suporta sufixos de tempo (por exemplo, 30s, 1m) e macros de usuário.
Número mínimo de proxies Número mínimo de proxies online necessários para manter o grupo de proxies online (padrão: 1; intervalo: 1–1000).
Suporta macros de usuário.

Esse valor deve ser menor que o número total de proxies no grupo. Por exemplo, em um grupo de 10 proxies, definir o mínimo para 10 fará com que o grupo fique offline se qualquer proxy falhar. Observe que proxies online em um grupo offline continuam funcionando normalmente, mas o balanceamento de carga/alta disponibilidade não ocorrerá.
Descrição Descrição do grupo de proxies.
Proxies Exibe uma lista de até cinco proxies (como links ou em texto simples, dependendo das permissões do usuário para proxies) ao editar um grupo com proxies.

Configurando o balanceamento de carga do proxy

Para usar o balanceamento de carga do proxy, você precisa configurar um grupo de proxies no frontend do Zabbix (veja acima) e garantir que os hosts sejam monitorados por um grupo de proxies, e não por proxies individuais (você pode usar a atualização em massa de hosts para mover hosts de proxies para o grupo de proxies).

Se estiver usando o agent Zabbix, também configure-o da seguinte forma:

  • Para checagens passivas, liste todos os proxies do grupo de proxies no parâmetro Server.
  • Para checagens ativas, recomenda-se listar todos os proxies do grupo de proxies ou o server Zabbix no parâmetro ServerActive. Observe que apenas o agent Zabbix 7.0 (ou posterior) funcionará com grupos de proxies em seu modo ativo.

Se o parâmetro ServerActive incluir apenas um proxy de um grupo de proxies (ou o server Zabbix), o agent ainda poderá se conectar ao proxy correto. Quando o serviço do agent é iniciado e se conecta ao proxy especificado, o agent receberá e armazenará em cache a lista completa de IPs dos proxies e sua carga atual dentro do grupo. Em seguida, as checagens ativas serão redirecionadas para o proxy online correto para o host, com base na atribuição atual de proxy-host dentro do grupo de proxies.

Ter apenas um único proxy especificado no parâmetro ServerActive do agent Zabbix pode levar à perda de dados de monitoramento se o agent for iniciado/reiniciado enquanto o proxy especificado estiver offline.

Ao usar o Zabbix sender, as solicitações de dados também são redirecionadas para o proxy online correto para o host, com base na atribuição atual de proxy-host dentro do grupo de proxies. No entanto, se você estiver enviando valores de vários hosts a partir de um arquivo de entrada, use a opção -g para evitar o envio de dados para o proxy errado.

O agent Zabbix também deve ser capaz de se conectar a todos os proxies do grupo de proxies através do firewall. Caso contrário, as checagens ativas podem travar ou falhar durante o redirecionamento ou failover. Por exemplo:

  • Durante checagens ativas, um proxy pode redirecionar o agent para outro proxy. Se esse proxy estiver bloqueado por um firewall, a comunicação ficará travada enquanto aguarda uma resposta.
  • Em configurações estáveis de alta disponibilidade sem rebalanceamento recente, os agents podem nunca contatar proxies de backup. Se as regras do firewall mudaram e não foram testadas, o failover pode falhar.
Testando o balanceamento de carga do proxy

Para testar o balanceamento de carga do proxy:

  1. Configure um grupo de proxies.
  2. Certifique-se de que o grupo de proxies está com o estado online.
  3. Certifique-se de que os hosts estão monitorados por um grupo de proxies, e não por proxies individuais (você pode usar a atualização em massa para mover hosts de proxies para o grupo de proxies).
  4. Aguarde alguns segundos para a atualização da configuração e distribuição dos hosts entre os proxies do grupo. Observe a mudança atualizando a lista de hosts em Administração > Proxies.
Notas importantes
  • Traps SNMP não são suportadas por proxies em grupo de proxies.
  • Verificações que dependem de configuração externa (por exemplo, scripts para verificações externas ou configuração ODBC para verificações de banco de dados) devem ter a mesma configuração em todos os proxies no grupo de proxies.
  • Verificações de banco de dados requerem permissões estendidas no objeto/servidor do banco de dados.
  • Hosts VMware monitorados por um grupo de proxies serão distribuídos aleatoriamente entre os proxies do grupo. Isso faz com que cada proxy armazene em cache todos os dados do VMware, resultando em carga adicional no vCenter.
  • Hosts criados com base em dados de autorregistro de um proxy em um grupo de proxies são definidos para serem monitorados por aquele grupo de proxies. No entanto, hosts criados com base em dados de descoberta de rede de um proxy em um grupo de proxies são definidos para serem monitorados por aquele proxy.