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:
A redistribuição de hosts funciona apenas entre proxies em um grupo que atendam às seguintes condições:
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.
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:
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.
Para configurar um grupo de proxies no frontend do Zabbix:
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. |
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:
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:
Para testar o balanceamento de carga do proxy: