Um proxy Zabbix pode coletar dados de desempenho e disponibilidade em nome do servidor Zabbix. Dessa forma, um proxy pode assumir parte da carga de coleta de dados e aliviar o servidor Zabbix.
Além disso, usar um proxy é a maneira mais fácil de implementar monitoramento centralizado e distribuído, quando todos os agents e proxies reportam para um servidor Zabbix e todos os dados são coletados centralmente.
Um proxy Zabbix pode ser usado para:

O proxy requer apenas uma conexão TCP com o servidor Zabbix. Dessa forma, é mais fácil contornar um firewall, pois você só precisa configurar uma regra de firewall.
O proxy Zabbix deve usar um banco de dados separado. Apontá-lo para o banco de dados do servidor Zabbix irá quebrar a configuração.
Todos os dados coletados pelo proxy são armazenados localmente antes de serem transmitidos para o servidor. Dessa forma, nenhum dado é perdido devido a problemas temporários de comunicação com o servidor. Os parâmetros ProxyLocalBuffer e ProxyOfflineBuffer no arquivo de configuração do proxy controlam por quanto tempo os dados são mantidos localmente.
Pode acontecer que um proxy, que recebe as últimas alterações de configuração diretamente do banco de dados do servidor Zabbix, tenha uma configuração mais atualizada do que o servidor Zabbix, cuja configuração pode não ser atualizada tão rapidamente devido ao valor de CacheUpdateFrequency. Como resultado, o proxy pode começar a coletar dados e enviá-los para o servidor Zabbix, que ignora esses dados.
O proxy Zabbix é um coletor de dados. Ele não calcula triggers, processa eventos ou envia alertas. Para uma visão geral do que é a funcionalidade do proxy, consulte a tabela a seguir:
| Função | Suportado pelo proxy | |
|---|---|---|
| Items | ||
| Verificações do agent Zabbix | Sim | |
| Verificações do agent Zabbix (ativo) | Sim 1 | |
| Verificações simples | Sim | |
| Items trapper | Sim | |
| Verificações SNMP | Sim | |
| Traps SNMP | Sim | |
| Verificações IPMI | Sim | |
| Verificações JMX | Sim | |
| Monitoramento de arquivos de log | Sim | |
| Verificações internas | Sim | |
| Verificações SSH | Sim | |
| Verificações Telnet | Sim | |
| Verificações externas | Sim | |
| Items dependentes | Sim | |
| Items de script | Sim | |
| Items de navegador | Sim | |
| Monitoramento web embutido | Sim | |
| Pré-processamento de valor de item | Sim | |
| Descoberta de rede | Sim | |
| Autoregistro de agent ativo | Sim | |
| Descoberta de baixo nível | Sim 2 | |
| Comandos remotos | Sim | |
| Cálculo de triggers | Não | |
| Processamento de eventos | Não | |
| Correlação de eventos | Não | |
| Envio de alertas | Não | |
[1] Para garantir que um agent solicite ao proxy (e não ao servidor) as verificações ativas, o proxy deve estar listado no parâmetro ServerActive no arquivo de configuração do agent.
[2] Para LLD, o proxy Zabbix apenas coleta e pré-processa os dados e, em seguida, os envia para o servidor Zabbix para processamento adicional.
Se o Zabbix server ficar fora do ar por algum tempo e os proxies coletarem muitos dados, quando o server for iniciado, ele pode ficar sobrecarregado (o uso do cache de histórico permanece em 95-100% por algum tempo). Essa sobrecarga pode resultar em uma queda de desempenho, onde as verificações são processadas mais lentamente do que deveriam. A proteção contra esse cenário foi implementada para evitar problemas que surgem devido à sobrecarga do cache de histórico.
Quando o cache de histórico do Zabbix server está cheio, o acesso de gravação ao cache de histórico é restringido, interrompendo os processos de coleta de dados do server. O caso mais comum de sobrecarga do cache de histórico ocorre após uma parada do server, quando os proxies estão enviando os dados coletados. Para evitar isso, foi adicionada uma limitação nos proxies (atualmente não pode ser desabilitada).
Quando o uso do cache de histórico atinge 80%, o Zabbix server entra no modo de limitação. No modo de limitação, o server aceita dados do proxy apenas quando o uso do cache de histórico está abaixo de 60%, alternando os proxies aceitos. Assim que o uso do cache de histórico cai abaixo de 20%, o server retorna ao modo normal.
Além disso, no modo normal, o Zabbix server limita proxies individuais que enviam pacotes muito grandes (10.000+ registros) se o uso do cache de histórico exceder 60%. Essa decisão é aplicada no instante em que o server avalia um upload do proxy e, portanto, pode não ser sempre refletida imediatamente nos gráficos de uso do cache de histórico (o item interno zabbix[wcache,history,pused] e seu intervalo de atualização podem não capturar picos curtos).
Esse modo de limitação continuará até que o uso do cache atinja 80% novamente, caia para 20% ou a lista de limitação fique vazia. No primeiro caso, o server deixará de aceitar dados do proxy novamente. Nos outros dois casos, o server voltará a funcionar normalmente, aceitando dados de todos os proxies.
As informações acima podem ser ilustradas na tabela a seguir:
| Uso do cache de gravação do histórico |
Modo do Zabbix server | Ação do Zabbix server |
|---|---|---|
| Atinge 80% | Aguardando | Para de aceitar dados do proxy, mas mantém uma lista de limitação (lista priorizada de proxies a serem contatados posteriormente). |
| Atinge 60% | Normal, mas preparado para ser limitado | Pode recusar uploads muito grandes do proxy (mais de 10k registros) ao decidir se aceita os dados; continua aceitando outros dados do proxy. |
| Cai para 20% | Normal | Descarta a lista de limitação e começa a aceitar dados do proxy normalmente. |
Você pode usar o item interno zabbix[wcache,history,pused] para correlacionar esse comportamento do Zabbix server com uma métrica.
Depois de instalar e configurar um proxy, é hora de configurá-lo no frontend do Zabbix.
Para configurar um proxy no frontend do Zabbix:

| Parâmetro | Descrição | |
|---|---|---|
| Nome do proxy | Insira o nome do proxy. Deve ser o mesmo nome do parâmetro Hostname no arquivo de configuração do proxy. | |
| Grupo de proxy | Selecione um grupo de proxy para balanceamento de carga/alta disponibilidade do proxy. | |
| Endereço para agents ativos | Insira o endereço ao qual os agents ativos monitorados ou senders devem se conectar. Suportado apenas para agents Zabbix 7.0 ou posterior. Este endereço é usado para conectar tanto proxies ativos quanto passivos. Este campo só está disponível se um grupo de proxy for selecionado no campo Grupo de proxy. |
|
| Endereço | Endereço IP/nome DNS para conectar. | |
| Porta | Número da porta TCP (10051 por padrão) para conectar. Macros de usuário são suportadas. | |
| Modo do proxy | Selecione o modo do proxy. Ativo - o proxy irá se conectar ao servidor Zabbix e solicitar dados de configuração Passivo - o servidor Zabbix se conecta ao proxy Nota que sem comunicações criptografadas (sensível) os dados de configuração do proxy podem ficar disponíveis para partes que tenham acesso à porta trapper do servidor Zabbix ao usar um proxy ativo. Isso é possível porque qualquer um pode se passar por um proxy ativo e solicitar dados de configuração se a autenticação não ocorrer ou os endereços do proxy não forem limitados no campo Endereço do proxy. |
|
| Endereço do proxy | Se especificado, as solicitações de proxy ativo só serão aceitas desta lista de endereços IP separados por vírgula, opcionalmente em notação CIDR, ou nomes DNS do proxy Zabbix ativo. Este campo só está disponível se um proxy ativo for selecionado no campo Modo do proxy. Macros não são suportadas. |
|
| Interface | Insira os detalhes da interface para um proxy passivo. Este campo só está disponível se um proxy passivo for selecionado no campo Modo do proxy. |
|
| Endereço | Endereço IP/nome DNS do proxy passivo. | |
| Porta | Número da porta TCP do proxy passivo (10051 por padrão). Macros de usuário são suportadas. | |
| Descrição | Insira a descrição do proxy. | |
A aba Criptografia permite exigir conexões criptografadas com o proxy.
| Parâmetro | Descrição |
|---|---|
| Conexões com o proxy | Como o servidor se conecta ao proxy passivo: sem criptografia (padrão), usando PSK (chave pré-compartilhada) ou certificado. |
| Conexões do proxy | Selecione que tipo de conexões são permitidas do proxy ativo. Vários tipos de conexão podem ser selecionados ao mesmo tempo (útil para testes e troca para outro tipo de conexão). O padrão é "Sem criptografia". |
| Emissor | Emissor permitido do certificado. O certificado é primeiro validado com a CA (autoridade certificadora). Se for válido, assinado pela CA, então o campo Emissor pode ser usado para restringir ainda mais a CA permitida. Este campo é opcional, destinado ao uso se sua instalação do Zabbix usar certificados de várias CAs. |
| Sujeito | Sujeito permitido do certificado. O certificado é primeiro validado com a CA. Se for válido, assinado pela CA, então o campo Sujeito pode ser usado para permitir apenas um valor da string Sujeito. Se este campo estiver vazio, qualquer certificado válido assinado pela CA configurada é aceito. |
| Identidade PSK | String de identidade da chave pré-compartilhada. Não coloque informações sensíveis na identidade PSK, ela é transmitida sem criptografia pela rede para informar ao receptor qual PSK usar. |
| PSK | Chave pré-compartilhada (hex-string). Comprimento máximo: 512 dígitos hexadecimais (PSK de 256 bytes) se o Zabbix usar a biblioteca GnuTLS ou OpenSSL, 64 dígitos hexadecimais (PSK de 32 bytes) se o Zabbix usar a biblioteca mbed TLS (PolarSSL). Exemplo: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952 |
A aba Timeouts permite substituir os timeouts globais para tipos de item que suportam isso.

| Parâmetro | Descrição |
|---|---|
| Timeouts para tipos de item | Selecione a opção de timeout: Global - o timeout global é usado (exibido no campo Timeout esmaecido para cada tipo de item); Substituir - o timeout personalizado é usado (definido no campo Timeout para cada tipo de item). Faixa permitida: 1 - 600s (padrão: herdado dos timeouts globais). Sufixos de tempo, por exemplo, 30s, 1m, e macros de usuário são suportados. Clicar no link Timeouts globais permite configurar os timeouts globais. Observe que o link Timeouts globais é visível apenas para usuários do tipo Super admin com permissões para a seção de frontend Administração > Geral. Tipos de item suportados: - Zabbix agent (tanto checagens passivas quanto ativas) - Checagem simples (exceto itens icmpping*, vmware.*)- SNMP agent (apenas para itens SNMP walk[OID] e get[OID])- Checagem externa - Monitor de banco de dados - HTTP agent - SSH agent - TELNET agent - Script - Browser Observe que os timeouts definidos em Substituir prevalecerão sobre os globais, mas serão substituídos por timeouts individuais de item se estes forem definidos na configuração do item. |
Se a versão principal do proxy não corresponder à versão principal do servidor, o ícone
será exibido ao lado de Timeouts para tipos de item, com a mensagem ao passar o mouse "Timeouts desabilitados porque as versões do proxy e do servidor não correspondem". Nesses casos, o proxy usará o parâmetro Timeout do arquivo de configuração do proxy.
O formulário de edição de um proxy existente possui os seguintes botões adicionais:
Você pode especificar que um host individual deve ser monitorado por um proxy ou grupo de proxies no formulário de configuração de host, usando o campo Monitorado por.

A atualização em massa de hosts é outra maneira de especificar que hosts devem ser monitorados por um proxy ou grupo de proxies.