1 Proxies

Visão geral

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 agentes e proxies reportam a um servidor Zabbix e todos os dados são coletados centralmente.

Um proxy Zabbix pode ser usado para:

  • Monitorar locais remotos
  • Monitorar locais com comunicações instáveis
  • Reduzir a carga do servidor Zabbix ao monitorar milhares de dispositivos
  • Simplificar a manutenção do monitoramento distribuído

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 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 proxy configuration file 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 da funcionalidade do proxy, veja a tabela a seguir:

Função Suportado pelo proxy
Itens
Verificações de agente Zabbix Sim
Verificações de agente Zabbix (ativa) Sim 1
Verificações simples Sim
Itens trapper Sim
Verificações SNMP Sim
SNMP traps Sim
Verificações IPMI Sim
Verificações JMX Sim
Monitoramento de arquivos de log Sim
Verificações internas Sim
VerificaçõesSSH Sim
Verificações Telnet Sim
Verificações externas Sim
Itens dependentes Sim
Itens de script Sim
Monitoramento web integrado Sim
Pré-processamento de valor de item Sim
Descoberta de rede Sim
Autoregistro de agente ativo Sim
Descoberta de baixo nível Sim
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 agente solicite verificações ativas ao proxy (e não ao servidor), o proxy deve estar listado no parâmetro ServerActive no arquivo de configuração do agente.

Proteção contra sobrecarga

Se o servidor Zabbix ficar fora do ar por algum tempo e os proxies tiverem coletado muitos dados, quando o servidor reiniciar, ele pode ficar sobrecarregado (o uso do cache de histórico permanece em 95-100% por algum tempo). Essa sobrecarga pode resultar em um impacto no desempenho, onde as verificações são processadas mais lentamente do que deveriam. Foi implementada uma proteção contra esse cenário para evitar problemas que surgem devido à sobrecarga do cache de histórico.

Quando o cache de histórico do servidor Zabbix está cheio, o acesso de gravação ao cache de histórico é controlado, interrompendo os processos de coleta de dados do servidor.

O caso mais comum de sobrecarga do cache de histórico ocorre após a inatividade do servidor, quando os proxies estão carregando os dados coletados. Para evitar isso, foi adicionado o controle de proxy (atualmente não pode ser desativado).

O servidor Zabbix 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 controle. Isso continuará até que o uso do cache caia para 60%. Nesse momento, o servidor começará a aceitar dados dos proxies um por um, conforme definido pela lista de controle. Isso significa que o primeiro proxy que tentou enviar dados durante o período de controle será atendido primeiro, e até que isso seja concluído, o servidor não aceitará dados de outros proxies.

Este modo de controle continuará até que o uso do cache atinja 80% novamente, caia para 20% ou a lista de controle esteja vazia. No primeiro caso, o servidor deixará de aceitar dados de proxies novamente. Nos outros dois casos, o servidor voltará a funcionar normalmente, aceitando dados de todos os proxies.

As informações acima podem ser ilustradas na seguinte tabela:

Uso do cache de
Gravação de histórico
Modo do servidor Zabbix Ação do servidor Zabbix
Atinge 80% Aguardar Para de aceitar dados de proxies, mas mantém uma lista de controle (lista priorizada de proxies a serem contatados posteriormente).
Cai para 60% Controlado Começa a processar a lista de controle, mas ainda não aceita dados de proxies.
Cai para 20% Normal Descarta a lista de controle e começa a aceitar dados de proxies normalmente.

Você pode usar o item interno zabbix[wcache,history,pused] para correlacionar esse comportamento do servidor Zabbix com uma métrica.

Configuração

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

Adicionando proxies

Para configurar um proxy no Zabbix frontend:

  • Vá para: Administração → Proxies
  • Clique em Criar proxy

Parâmetro Descrição
Nome do proxy Digite o nome do proxy. Deve ser o mesmo nome que está no parâmetro Hostname no arquivo de configuração do proxy.
Modo do proxy Selecione o modo do proxy.
Active - o proxy se conectará ao servidor Zabbix e solicitará dados de configuração.
Passivo - o servidor Zabbix se conecta ao proxy
Note que o servidor Zabbix se conecta ao proxy. Nota: sem comunicações criptografadas, os dados de configuração do proxy (sensíveis) podem se tornar acessíveis a partes que têm acesso à porta trapper do servidor Zabbix ao usar um proxy ativo. Isso é possível porque qualquer um pode fingir ser um proxy ativo e solicitar dados de configuração se a autenticação não ocorrer ou se os endereços do proxy não forem limitados no campo Endereço do proxy.
Endereço do proxy Se especificado, as solicitações do proxy ativo são aceitas apenas dessa lista de endereços IP delimitados por vírgulas, 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.
Esta opção é suportada desde o Zabbix 4.0.0.
Interface Digite os detalhes da interface para o proxy passivo.
Este campo só está disponível se um proxy passivo for selecionado no campo Modo do proxy.
Endereço IP Endereço IP do proxy passivo (opcional).
Nome DNS Nome DNS do proxy passivo (opcional).
Conectar a Clicar no botão correspondente indicará ao servidor Zabbix o que usar para recuperar dados do proxy:
IP - Conectar ao endereço IP do proxy (recomendado)
DNS - Conectar ao nome DNS do proxy.
Porta Número da porta TCP do proxy passivo (10051 por padrão).
Descrição Digite a descrição do proxy.

A aba Criptografia permite que você exija conexões criptografadas com o proxy.

Parâmetro Descrição
Conexões para 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 quais tipos de conexões são permitidos do proxy ativo. Vários tipos de conexão podem ser selecionados ao mesmo tempo (útil para testes e mudança 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 múltiplas CAs.
Assunto Assunto permitido do certificado. O certificado é primeiro validado com a CA. Se for válido, assinado pela CA, então o campo Assunto pode ser usado para permitir apenas um valor da string Assunto. 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, pois ela é transmitida sem criptografia pela rede para informar ao receptor qual PSK usar.
PSK Chave pré-compartilhada (PSK) (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
Configuração do host

Você pode especificar que um host individual deve ser monitorado por um proxy no formulário de host configuration, utilizando o campo Monitorado por proxy.

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