Zabbix Proxy: Instale no Ubuntu 22.04 / 20.04 em 10 minutos
junho 27, 2023Este é o melhor tutorial de instalação, configuração e otimização do proxy Zabbix que o guiará passo a passo do zero! Você aprenderá como instalar o Zabbix Proxy 6.0 LTS ou 6.4 versão padrão no Ubuntu 22.04 LTS (Jammy Jellyfish) / Ubuntu 20.04 (Focal) / Ubuntu 18.04 (Bionic) e como fazer as principais otimizações para que seu proxy tenha um melhor desempenho.
O proxy Zabbix é um serviço que pode coletar dados de desempenho e disponibilidade dos dispositivos finais em nome do servidor Zabbix .
Você pode usar o proxy Zabbix para monitorar locais remotos atrás do firewall ou locais com comunicação não confiável e para descarregar o servidor Zabbix em grandes ambientes.

Chega de conversa vamos fazer algum trabalho! Instalaremos a última versão 6 do proxy Zabbix no Ubuntu (20.04, 18.04 e 16.04 são suportados) e faremos as principais otimizações para que seu proxy funcione melhor.
Este guia é para instalar o Zabbix-Proxy no Ubuntu, enquanto guias para instalar o sistema de monitoramento Zabbix (servidor) em várias distribuições Linux podem ser encontrados nestes links: CentOS/RHEL , Ubuntu , Debian , Rasbian (Raspberry Pi) .
Conteúdo
Passo 1: Instale o Zabbix Proxy no Ubuntu
Etapa 2: configurar o banco de dados
Etapa 3: configuração do proxy Zabbix
Etapa 4: Iniciar e habilitar o serviço de proxy
Etapa 5: registrar o servidor proxy no front-end do Zabbix
Passo 6: Configure os hosts no Zabbix para serem monitorados por um proxy
Etapa 7: configurar a criptografia PSK no proxy (opcional)
Etapa 8: Otimizando o Zabbix Proxy (opcional)
Etapa 9: Otimizando o banco de dados MySQL (opcional)
Passo 10: Como gerenciar o serviço Proxy e MySQL
Etapa 11: Entendendo o proxy Zabbix Mod ativo vs passivo
Passo 12: Aprenda sobre erros comuns do Zabbix Proxy
Passo 1: Instale o Zabbix Proxy no Ubuntu
Antes de instalar o proxy, lembre-se de que sua versão do proxy deve corresponder à versão do servidor Zabbix!
Você pode verificar a versão do servidor Zabbix com o comando “ zabbix_server -V
“:
root@zabbix-server-ubuntu :~$ zabbix_server -V zabbix_server (Zabbix)6.0.0
Configurar Pacote .deb do Zabbix 6 e instale o servidor proxy:
Versão Zabbix 6.0 LTS (com suporte até fevereiro de 2027) wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-3+ubuntu$(lsb_release -rs)_all.deb sudo dpkg -i zabbix-release_6.0-3+ubuntu$(lsb_release -rs)_all.deb sudo apt update sudo apt -y install zabbix-proxy-mysql zabbix-sql-scripts OU Versão padrão do Zabbix 6.4 (com suporte até novembro de 2023) wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu$(lsb_release -rs)_all.deb sudo dpkg -i zabbix-release_6.4-1+ubuntu$(lsb_release -rs)_all.deb sudo apt update sudo apt -y install zabbix-proxy-mysql zabbix-sql-scripts
Você pode encontrar mais informações sobre o ciclo de vida e as políticas de lançamento do Zabbix no site oficial.
Etapa 2: configurar o banco de dados
Nesta instalação, usarei a senha rootDBpass como senha do banco de dados raiz e zabbixDBpass como senha do banco de dados do proxy Zabbix. Considere alterar sua senha por motivos de segurança.
No seu terminal, use o seguinte comando para instalar o MariaDB 10.6.
sudo apt install software-properties-common -y
curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup sudo bash mariadb_repo_setup --mariadb-server-version=10.6
sudo apt update sudo apt -y install mariadb-common mariadb-server-10.6 mariadb-client-10.6
Quando a instalação estiver concluída, inicie o serviço MariaDB e habilite-o para iniciar na inicialização usando os seguintes comandos:
sudo systemctl start mariadb sudo systemctl enable mariadb
b. Redefinir senha root para banco de dados
Proteja o MySQL/MariaDB alterando a senha padrão para o root do MySQL:
sudo mysql_secure_installation
Enter current password for root (enter for none): Press Enter Switch to unix_socket authentication [Y/n] y Change the root password? [Y/n] y New password: <Enter root DB password> Re-enter new password: <Repeat root DB password> Remove anonymous users? [Y/n]: y Disallow root login remotely? [Y/n]: y Remove test database and access to it? [Y/n]: y Reload privilege tables now? [Y/n]: y
c. Criar banco de dados
sudo mysql -uroot -p'rootDBpass' -e "create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;" sudo mysql -uroot -p'rootDBpass' -e "create user 'zabbix'@'localhost' identified by 'zabbixDBpass';" sudo mysql -uroot -p'rootDBpass' -e "grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbixDBpass';"
d. Importe esquema e dados iniciais.
Importe o shema do banco de dados para o servidor Zabbix (pode durar até 5 minutos):
sudo cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql|mysql --default-character-set=utf8mb4 -uzabbix -p'zabbixDBpass' zabbix_proxy
Etapa 3: configuração do proxy Zabbix
Na minha configuração, nomearei o proxy como Proxy Zabbix 01 e configure-o para se comunicar com o servidor Zabbix que possui endereço IP 10.7.44.235– altere-os de acordo para corresponder ao seu ambiente.
Abra o arquivo zabbix_proxy.conf
com o comando:
sudo nano /etc/zabbix/zabbix_proxy.conf
e adicione a senha do banco de dados e a frequência de configuração neste formato em qualquer lugar do arquivo:
DBPassword=zabbixDBpass ConfigFrequency=100
O parâmetro “ ConfigFrequency
” define com que frequência o proxy recupera dados de configuração do servidor Zabbix em segundos. Você pode ler mais sobre os parâmetros de configuração do proxy na documentação oficial .
Não feche o arquivo ainda! Agora, você precisa alterar os valores atuais dos parâmetros “ Server
“, “ Hostname
“, “ DBName
“ e “ DB user
” para algo assim:
Servidor=10.7.44.235 Nome do host=Proxy Zabbix 01 DBName=zabbix_proxy DBUser=zabbix
Salve e saia do arquivo ( ctrl + x , seguido por y e enter ).
Etapa 4: Iniciar e habilitar o serviço de proxy
Reinicie o serviço de proxy e configure-o para inicializar na inicialização:
sudo systemctl restart zabbix-proxy sudo systemctl ativar zabbix-proxy
Etapa 5: registrar o servidor proxy no front-end do Zabbix
Agora que seu servidor proxy está em execução, você precisa registrá-lo no frontend do Zabbix usando a opção “ Proxies ” na seção “ Administração ”. Clique no botão “Criar proxy” à direita e defina “Nome do proxy” para Proxy Zabbix 01e “Modo proxy” para “Ativo”.
Observe que, para um proxy funcionar no modo ativo, o “ nome do proxy” deve ser o mesmo que o parâmetro “ hostname ” no zabbix_proxy.conf
arquivo “ ”.

Imagem mostrando como registrar um servidor proxy ativo no frontend do Zabbix
Imediatamente após adicionar um proxy ao frontend, você será informado de que o proxy nunca foi visto.

No entanto, se você esperar 100 segundos, o status “ Último visto (idade) ” exibirá segundos em vez de “ Nunca ”, o que significa que o proxy está se comunicando com o servidor Zabbix.

Por que 100 segundos? Lembre-se do que colocamos no parâmetro “ ConfigFrequency ” no zabbix_proxy.conf
arquivo “ ”? O que quer que você coloque lá, é quanto tempo levará para o proxy entrar em contato com o servidor Zabbix para recuperar os dados de configuração. Esta regra só se aplica se o proxy estiver no modo ativo.
Observe que o status “ Último visto (idade) ” nunca deve ultrapassar 6 segundos se a comunicação do servidor proxy estiver funcionando.
O mod proxy ativo é recomendado porque pode funcionar atrás de um firewall, mas você pode verificar a seção “ Entendendo o proxy Zabbix Mod ativo vs passivo ” Se você precisar configurar o proxy para funcionar em modo passivo.
Passo 6: Configure os hosts no Zabbix para serem monitorados por um proxy
O proxy Zabbix está rodando e se comunicando com o servidor Zabbix, mas não está coletando nenhum dado porque não fizemos a última etapa crucial! Precisamos configurar os hosts no Zabbix para serem monitorados pelo servidor proxy.
Vamos fazer isso juntos, vá até a opção “ Host ” na seção “ Configuração ” e selecione os hosts que precisam ser monitorados pelo servidor proxy.

Depois de selecionar os hosts, clique no botão “ Atualização em massa ” e, nas opções “ Host ”, selecione nosso proxy recém-adicionado no menu suspenso “ Monitorado por proxy ” e, finalmente, clique no botão “ Atualizar ”, conforme mostrado na imagem abaixo.

Configurar hosts no Zabbix para serem monitorados por um servidor proxy – Passo 2
PARABÉNS!
Você instalou e configurou com sucesso o Zabbix Proxy 6 no Ubuntu!
Não há necessidade de alterar mais nada, pois outras etapas são opcionais.
CONTINUE PARA APRENDER MAIS:
Configurando a criptografia (PSK) no Proxy
Otimizando o banco de dados MySQL e Proxy
Como gerenciar o serviço Proxy e MySQL
Entendendo o proxy Zabbix ativo x passivo
Aprenda sobre erros comuns de Proxy
Etapa 7: configurar a criptografia PSK no proxy (opcional)
O Zabbix suporta comunicações criptografadas entre o servidor Zabbix e o proxy usando o protocolo Transport Layer Security (TLS) v.1.2. Você pode usar criptografia baseada em chave pré-compartilhada e baseada em certificado (PSK), mas neste tutorial vamos configurar o último.
a. Gerar chave PSK no servidor proxy
Gere a chave PSK de 256 bits (32 bytes) com o comando openssl:
$ openssl rand -hex 32 382eb0250c365cc207cc4980cdb1bb1814c19d882b7fddcda00281311a8fb955
Crie e abra o arquivo “ zabbix_proxy.psk
” com o comando “ sudo nano /etc/zabbix/zabbix_proxy.psk
” e copie e cole a chave recém-gerada nele.
Salve e saia do arquivo ( ctrl + x , seguido de y e enter ) e defina a permissão de arquivo correta:
sudo chown zabbix:zabbix /etc/zabbix/zabbix_proxy.psk sudo chmod 644 /etc/zabbix/zabbix_proxy.psk
b. Configurar Proxy para oferecer suporte à criptografia PSK
Abra zabbix_proxy.conf
o arquivo com o comando: “ sudo nano /etc/zabbix/zabbix_proxy.conf
” e adicione esta configuração em qualquer lugar do arquivo:
TLSConnect=psk TLSAccept=psk TLSPSKFile=/etc/zabbix/zabbix_proxy.psk TLSPSKIdentity=ZBX-PSK-01
Salve e saia do arquivo ( ctrl + x , seguido por y e enter ). Lembre-se de que “ TLSPSKIdentity ” pode ser qualquer coisa, portanto, por motivos de segurança, defina outra coisa – não use o meu!
Não se esqueça de reiniciar o proxy após alterar o arquivo de configuração:
sudo systemctl restart zabbix-proxy
c. Habilite a criptografia PSK no proxy no front-end do Zabbix
A comunicação entre o proxy e o servidor Zabbix ainda não está criptografada porque habilitamos a criptografia PSK no lado do proxy, mas não no lado do servidor.
Precisamos habilitar a criptografia no lado do servidor, então vá para o front-end da web e selecione seu proxy na opção “ Proxies ” na seção “ Administração ”. Em seguida, na guia “Criptografia”, defina PSK na opção “Conexões do proxy” e copie e cole “identidade PSK” e “PSK” (chave) que você configurou no servidor proxy. Se você perder sua chave PSK gerada, verifique-a com o comando “ cat /etc/zabbix/zabbix_proxy.psk
” no servidor proxy.
Quando terminar a configuração, clique no botão “ Atualizar ” como mostrado na imagem abaixo.

Se você fez tudo certo, você deve ver algo assim:

Etapa 8: Otimizando o Zabbix Proxy (opcional)
Não se preocupe com essa otimização se estiver monitorando um pequeno número de dispositivos, mas se estiver planejando monitorar um grande número de dispositivos, continue com esta etapa.
Abra zabbix_proxy.conf
o arquivo com o comando: “ sudo nano /etc/zabbix/zabbix_proxy.conf
” e adicione esta configuração em qualquer lugar do arquivo:
StartPollers=100 StartPollersUnreachable=50 StartPingers=50 StartTrappers=10 StartDiscoverers=15 StartHTTPPollers=5 CacheSize=128M HistoryCacheSize=64M HistoryIndexCacheSize=32M
Salve e saia do arquivo ( ctrl + x , seguido por y e enter ).
Esta não é uma configuração perfeita, lembre-se de que você pode otimizá-la ainda mais. Digamos que, se você não usa verificações de ICMP, defina o StartPingers
parâmetro “ ” como 1 ou, se não usa agentes ativos, defina “ StartTrappers
” como 1 e assim por diante. Você pode descobrir mais sobre os parâmetros suportados na documentação oficial .
Se você tentar iniciar o servidor proxy, receberá um erro “ [Z3001] connection to database 'zabbix_proxy' failed: [1040] Too many connections
” no log “ /var/log/zabbix/zabbix_proxy.log
” porque estamos usando mais processos proxy do que o MySQL pode suportar. Precisamos aumentar o número máximo permitido de conexões de cliente simultâneas e otimizar o MySQL – então vá para a próxima etapa.
Etapa 9: Otimizando o banco de dados MySQL (opcional)
a. Criar arquivo de configuração personalizado do MySQL
Crie o arquivo “ 10_my_tweaks.cnf"
com “ sudo nano /etc/mysql/mariadb.conf.d/10_my_tweaks.cnf
” e cole esta configuração:
[mysqld] max_connections = 280 innodb_buffer_pool_size = 1G innodb-log-file-size = 128M innodb-log-buffer-size = 128M innodb-file-per-table = 1 innodb_buffer_pool_instances = 8 innodb_old_blocks_time = 1000 innodb_stats_on_metadata = off innodb-flush-method = O_DIRECT innodb-log-files-in-group = 2 innodb-flush-log-at-trx-commit = 2 tmp-table-size = 96M max-heap-table-size = 96M open_files_limit = 65535 max_connect_errors = 1000000 connect_timeout = 60 wait_timeout = 28800
Salve e saia do arquivo ( ctrl + x , seguido de y e enter ) e defina a permissão de arquivo correta:
sudo chown mysql:mysql /etc/mysql/mariadb.conf.d/10_my_tweaks.cnf sudo chmod 644 /etc/mysql/mariadb.conf.d/10_my_tweaks.cnf
Duas coisas para lembrar!
O parâmetro de configuração max_connections deve ser maior que o número total de todos os processos proxy mais 50. Você pode usar o comando abaixo para verificar automaticamente o número de processos Zabbix e adicionar 50 a esse número:
root@ubuntu :~ $ egrep "^Start.+=[0-9]" /etc/zabbix/zabbix_proxy.conf | awk -F "=" '{s+=$2} END {print s+50}' 280
O segundo parâmetro mais importante é innodb_buffer_pool_size , que determina quanta memória o MySQL pode obter para armazenar tabelas InnoDB e dados de índice. Você deve definir esse parâmetro para 70% da memória do sistema se apenas o banco de dados estiver instalado no servidor.
No entanto, neste caso, estamos compartilhando um servidor com o servidor proxy, portanto, você deve definir innodb_buffer_pool_size como 50% da memória total do sistema. Isso seria 1G porque meu servidor Ubuntu tem 2G de RAM.
Não tive nenhum problema com memória, mas se seu proxy travar por falta de memória, reduza “ innodb_buffer_pool_size
” e reinicie o servidor MySQL.
b. Reinicie o serviço Proxy e MySQL
Pare e inicie os serviços na mesma ordem abaixo:
sudo systemctl stop zabbix-proxy sudo systemctl stop mysql sudo systemctl start mysql sudo systemctl start zabbix-proxy
Passo 10: Como gerenciar o serviço Proxy e MySQL
Às vezes, você precisará verificar ou reiniciar o servidor proxy ou o serviço MySQL – use os comandos abaixo para fazer isso.
Servidor proxy sudo systemctl <status/restart/start/stop> zabbix-proxy Servidor MySQL sudo systemctl <status/restart/start/stop> mysql
Etapa 11: Entendendo o proxy Zabbix Mod ativo vs passivo
Quando você usa um proxy no modo ativo, ele se conecta ao servidor Zabbix para recuperar a configuração e enviar dados. Este é um ótimo recurso que permite que o servidor proxy ativo funcione atrás de um firewall.
E se você usar um proxy no modo passivo, o servidor Zabbix iniciará uma conexão com o proxy para enviar a configuração e recuperar dados do proxy.

Antes, neste tutorial, configuramos o servidor proxy para funcionar no modo ativo. Deixe-me mostrar como você pode configurar o proxy para funcionar no modo passivo.
Abra o arquivo zabbix_proxy.conf com o comando: “ sudo nano /etc/zabbix/zabbix_proxy.con f” eativar o modo passivo e definirIP do servidor Zabbixendereço adicionando isso em qualquer lugar no arquivo (altere o parâmetro “Server” para corresponder ao seu servidor Zabbix):
ProxyMode=1 Server=10.7.44.235
Salve e saia do arquivo ( ctrl + x , seguido de y e enter ). Reinicie o servidor proxy com o comando “ sudo systemctl restart zabbix-proxy
“
Agora, você precisa adicionar o proxy no frontend do Zabbix usando a opção “ Proxies ” na seção “ Administração ”. Clique no botão “ Criar proxy ” à direita, depois defina “ Nome do proxy ” como quiser e “ Modo proxy ” como “ Passivo ”. Defina o endereço IP do servidor proxy em “ Interfaces ” e clique no botão Adicionar se tiver concluído a configuração.

Passo 12: Aprenda sobre erros comuns do Zabbix Proxy
Nenhum dado nos itens porque o horário do servidor proxy é diferente do horário do servidor Zabbix
A partir da versão 4.0, o servidor Zabbix não ajustará mais os timestamps de valor nos casos em que o horário do proxy for diferente do horário do servidor Zabbix. Esse problema é fácil de detectar porque a comunicação servidor-proxy funcionará, mas não haverá dados nos itens.
Ajuste o proxy e o servidor Zabbix para usar o mesmo servidor de horário (NTP) ou defina o horário manualmente.
A comunicação entre o proxy e o servidor não está funcionando
O proxy Zabbix está usando a porta 10051 para se comunicar com o servidor Zabbix, portanto, certifique-se de permitir o tráfego vindo da porta 10051 em sua rede.
Observe que o Zabbix está usando compactação para comunicação com Proxies. A compactação melhora o desempenho porque reduz drasticamente o tráfego de rede.
No entanto, isso pode causar alguns problemas em ambientes que possuem dispositivos de segurança ( IDS/IPS ou NGFW ) instalados, pois eles podem descartar pacotes de rede se detectarem compactação no fluxo de rede. Para evitar esse problema, verifique se as definições do aplicativo nos dispositivos de segurança estão atualizadas e, se tiver algum problema, entre em contato com o fornecedor do dispositivo.
Verificando logs no servidor proxy
Se você tiver um problema com o proxy, verifique as últimas 500 linhas do log com o comando:
tail -500 /var/log/zabbix/zabbix_proxy.log
Obrigado por ler. Adicione suas sugestões em nossos comentarios!
Fonte: https://bestmonitoringtools.com/install-zabbix-proxy-on-ubuntu/