1 Proxies

Visão geral

Um proxy Zabbix pode coletar dados de desempenho e disponibilidade em nome do Zabbix server. Dessa forma, um proxy pode assumir parte da carga de coleta de dados e aliviar o Zabbix server.

Além disso, usar um proxy é a maneira mais fácil de implementar o monitoramento centralizado e distribuído, quando todos os agents e proxies reportam para um único Zabbix server e todos os dados são coletados centralmente.

Um proxy Zabbix pode ser usado para:

  • Monitorar locais remotos
  • Monitorar locais com comunicações não confiáveis
  • Aliviar o Zabbix server ao monitorar milhares de dispositivos
  • Simplificar a manutenção do monitoramento distribuído

O proxy requer apenas uma conexão TCP com o Zabbix server. 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 Zabbix server irá quebrar a configuração.

Todos os dados coletados pelo proxy são armazenados localmente antes de serem transmitidos para o server. Dessa forma, nenhum dado é perdido devido a problemas temporários de comunicação com o server. 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 de um proxy, que recebe as últimas alterações de configuração diretamente do banco de dados do Zabbix server, ter uma configuração mais atualizada do que o Zabbix server, 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 Zabbix server, 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, revise a tabela a seguir:

Função Suportado pelo proxy
Items
Zabbix agent checks Sim
Zabbix agent checks (active) Sim 1
Simple checks Sim
Trapper items Sim
SNMP checks Sim
SNMP traps Sim
IPMI checks Sim
JMX checks Sim
Log file monitoring Sim
Internal checks Sim
SSH checks Sim
Telnet checks Sim
External checks Sim
Dependent items Sim
Script items Sim
Browser items 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 server) 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 Zabbix server para processamento adicional.

Proteção contra sobrecarga

Se o Zabbix server ficar fora do ar por algum tempo e os proxies coletarem muitos dados, e então 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 é reduzido, interrompendo os processos de coleta de dados do server. O caso mais comum de sobrecarga do cache de histórico é após uma parada do server, quando os proxies estão enviando os dados coletados. Para evitar isso, foi adicionada a limitação de proxy (atualmente não pode ser desativada).

O Zabbix server deixará de aceitar dados dos proxies quando o uso do cache de histórico atingir 80%. Em vez disso, esses proxies serão colocados em uma lista de limitação. Isso continuará até que o uso do cache caia para 60%. Agora o server começará a aceitar dados dos proxies um por um, definidos pela lista de limitação. Isso significa que o primeiro proxy que tentou enviar dados durante o período de limitação será atendido primeiro e, até que termine, o server não aceitará dados de outros proxies.

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).
Cai para 60% Limitado Começa a processar a lista de limitação, mas ainda não aceita 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.

Configuração

Depois de instalar e configurar um proxy, é hora de configurá-lo no frontend do Zabbix.

Adicionando proxies

Para configurar um proxy no frontend do Zabbix:

  • Vá para: Administration → Proxies
  • Clique em Create proxy

Parâmetro Descrição
Proxy name Insira o nome do proxy. Ele deve ser o mesmo nome definido no parâmetro Hostname no arquivo de configuração do proxy.
Proxy group Selecione um grupo de proxy para balanceamento de carga/alta disponibilidade de proxy.
Address for active agents Insira o endereço ao qual os agents ativos monitorados ou senders devem se conectar. Compatível somente com agents Zabbix 7.0 ou posterior.
Este endereço é usado para conexão com proxies ativos e passivos. Este campo está disponível somente se um grupo de proxy for selecionado no campo Proxy group.
Address Endereço IP/nome DNS para conexão.
Port Número da porta TCP (10051 por padrão) para conexão. Macros de usuário são suportadas.
Proxy mode Selecione o modo do proxy.
Active - o proxy se conectará ao server Zabbix e solicitará dados de configuração
Passive - o server Zabbix se conecta ao proxy
Observe que, sem comunicações criptografadas, os dados de configuração do proxy (sensíveis) podem ficar disponíveis para partes com acesso à porta trapper do server Zabbix ao usar um proxy ativo. Isso é possível porque qualquer pessoa pode se passar por um proxy ativo e solicitar dados de configuração se a autenticação não ocorrer ou se os endereços de proxy não estiverem limitados no campo Proxy address.
Proxy address Se especificado, as solicitações de proxy ativo serão aceitas somente desta lista de endereços IP separados por vírgula, opcionalmente em notação CIDR, ou nomes DNS do proxy Zabbix ativo.
Este campo está disponível somente se um proxy ativo for selecionado no campo Proxy mode. Macros não são suportadas.
Interface Insira os detalhes da interface de um proxy passivo.
Este campo está disponível somente se um proxy passivo for selecionado no campo Proxy mode.
Address Endereço IP/nome DNS do proxy passivo.
Port Número da porta TCP do proxy passivo (10051 por padrão). Macros de usuário são suportadas.
Description Insira a descrição do proxy.

A aba Encryption permite exigir conexões criptografadas com o proxy.

Parâmetro Descrição
Connections to proxy Como o server se conecta ao proxy passivo: sem criptografia (padrão), usando PSK (chave pré-compartilhada) ou certificado.
Connections from proxy Selecione quais tipos de conexão são permitidos a partir do proxy ativo. Vários tipos de conexão podem ser selecionados ao mesmo tempo (útil para testes e para alternar para outro tipo de conexão). O padrão é "No encryption".
Issuer Emissor permitido do certificado. O certificado é primeiro validado com a CA (autoridade certificadora). Se for válido e assinado pela CA, então o campo Issuer pode ser usado para restringir ainda mais a CA permitida. Este campo é opcional e destinado ao uso quando sua instalação Zabbix utiliza certificados de várias CAs.
Subject Assunto permitido do certificado. O certificado é primeiro validado com a CA. Se for válido e assinado pela CA, então o campo Subject pode ser usado para permitir apenas um valor da string Subject. Se este campo estiver vazio, qualquer certificado válido assinado pela CA configurada será aceito.
PSK identity String de identidade da chave pré-compartilhada.
Não coloque informações sensíveis na identidade PSK, pois ela é transmitida sem criptografia pela rede para informar ao receptor qual PSK usar.
PSK Chave pré-compartilhada (string hexadecimal). 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 oferecem suporte a isso.

Parâmetro Descrição
Timeouts for item types Selecione a opção de timeout:
Global - o timeout global é usado (exibido no campo Timeout esmaecido para cada tipo de item);
Override - um timeout personalizado é usado (definido no campo Timeout para cada tipo de item). Intervalo permitido: 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 Global timeouts permite configurar os timeouts globais. Observe que o link Global timeouts é visível somente para usuários do tipo Super admin com permissões para a seção AdministrationGeneral do frontend.

Tipos de item suportados:
- Zabbix agent (verificações passivas e ativas)
- Simple check (exceto itens icmpping*, vmware.*)
- SNMP agent (somente para itens SNMP walk[OID] e get[OID])
- External check
- Database monitor
- HTTP agent
- SSH agent
- TELNET agent
- Script
- Browser

Observe que os timeouts definidos em Override prevalecerão sobre os globais, mas serão substituídos por timeouts individuais de item, caso estes sejam definidos em configuração de item.

Se a versão principal do proxy não corresponder à versão principal do server, o ícone será exibido ao lado de Timeouts for item types, com a mensagem ao passar o mouse "Timeouts disabled because the proxy and server versions do not match". 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 tem os seguintes botões adicionais:

  • Refresh configuration - atualiza a configuração do proxy
  • Clone - cria um novo proxy com base nas propriedades do proxy existente
  • Delete - exclui o proxy
Configuração de host

Você pode especificar que um host individual deve ser monitorado por um proxy ou grupo de proxy no formulário de configuração de host, usando o campo Monitorado por.

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