Instalando o Zabbix 6.0 com PostgreSQL e NGINX
Hoje a instalação do Zabbix e do Banco de Dados PostgreSQL é em uma camada, isso significa que os serviços serão instalados no mesmo servidor.
O processo possui uma ordem a primeira coisa a ser feita é a instalação do Banco de Dados de sua preferência. No meu caso utilizarei o PostgreSQL como Servidor do Banco de Dados do Zabbix Server.
Observação Importante: O tutorial é bem extenso e possui muitos detalhes, portanto, leia com calma e execute os passos com cuidado. A instalação em duas camadas é quase a mesma coisa da instalação em uma camada, porém os ajustes feitos deixam o processo um pouco maior.
Configuração do ambiente:
Debian 11
PostgreSQL 13.11-0+deb11u1 (versão padrão que está vindo no Debian 11)
Zabbix release 6.0.17
Atualizando o Sistema Operacional
Antes de iniciarmos os processos é importante que o seu Sistema Operacional e os repositórios/pacotes estejam atualizados.
Atualize os repositórios e faça upgrade dos pacotes.
# apt update
# apt upgrade
Instale o wget e sudo que não vem por padrão no Debian 11.
# apt install wget sudo
Agora vamos baixar o arquivo .deb para instalarmos o pacote específico do Zabbix.
# wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-4+debian11_all.deb
Para saber mais sobre o Gerenciador de pacotes DPKG do Debian e derivados, acesse o link abaixo:
Instale o pacote zabbix-release_6.0-4+debian11_all.deb.
# dpkg -i zabbix-release_6.0-4+debian11_all.deb
Novamente rode o comando de atualização dos repositórios.
# apt update
Agora vamos instalar os pacotes referentes ao Zabbix Server, Zabbix Agent, Zabbix Frontend e o próprio PostgreSQL.
# apt install zabbix-server-pgsql zabbix-frontend-php php7.4-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent postgresql-13
Altere o arquivo de configuração pg_hba.conf para inserir o padrão de autenticação com MD5. A necessidade dessa alteração se dá porque o método “peer” permite que um usuário do Sistema Operacional consiga realizar o login sem a exigência de uma senha, e para essa alteração existem duas maneiras, vou demonstrar aqui.
Explicando o comando detalhadamente, por conta da visão que já falei em outros posts. Acredito ser super importante que você saiba exatamente o que está fazendo para não se perder no meio do processo.
sudo: Executa o comando com os privilégios de um superusuário (root).
sed: Utilizado para realizar a manipulação de textos no sentido de modificar.
-i: É um parâmetro do sed e informa que a modificação será feita em um arquivo especificado.
s: Indica o que será modificado no arquivo.
/: Serve para separar o parâmetro antigo do novo.
peer: Parâmetro/palavra o a ser substituído.
md5: Parâmetro/palavra que irá substituir o antigo.
g: Diz que tudo que for “peer” deverá substituído, e não apenas a primeira opção que o comando achar.
1 – Já conhecendo o que será feito, execute o comando no terminal para que ele realize essa alteração.
sudo sed -i "s/peer/md5/g" /etc/postgresql/13/main/pg_hba.conf
2 – Dessa outra forma você irá editar o arquivo de configuração manualmente, procurando o que será alterado para remover e inserir o novo padrão.
# nano /etc/postgresql/13/main/pg_hba.conf
Você irá procurar pelas linhas com o “peer” e subistituir por “md5“.
Como vem por padrão.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
Após a mudança ficará assim.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
Crie o usuário do Banco de Dados. Logo após o comando ele irá pedir para que você informe uma senha, digite ela e não esqueça de anotar.
# sudo -u postgres
$ createuser --pwprompt zabbix
Agora crie o Banco de Dados e informe qual usuário terá permissões sobre ele.
# sudo -u postgres
$ createdb -O zabbix zabbix
Faça a importação do Schema do Banco de Dados.
# zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
O arquivo de configuração do Zabbix Server precisa ter alguns parâmetros alterados. Todos referentes ao Banco de Dados para que ele saiba onde se conectar.
#nano /etc/zabbix/zabbix_server.conf
Descomente a linha do DBPassword, DBName e DBUser, e insira os dados do Banco de Dados.
DBName: zabbix
DBUser: zabbix
DBPassword=zabbix
O DBHost não será modificado porque todos os serviços do Zabbix Server e o Banco de Dados estão rodando no mesmo servidor (camada 01 de instalação).
Agora vamos para a parte de configuração do Servidor Web NGINX para conseguirmos finalizar a instalação no navegador.
É preciso alterar o arquivo de configuração do NGINX, descomentando as linhas abaixo e alterando o example.com pelo IP do seu Servidor Zabbix.
#nano /etc/zabbix/nginx.conf
Como está.
# listen 8080;
# server_name example.com;
Após a modificação ficará assim.
listen 80;
server_name 192.168.1.252;
O próximo passo é remover alguns arquivos de configuração e criar um link simbólico.
Remova o arquivo padrão de configuração do NGINX.
# rm /etc/nginx/sites-available/default
Exclua os links simbólicos do diretório sites-available.
# rm /etc/nginx/sites-enabled/default
Apague o arquivo de configuração específico do Zabbix que fica no diretório abaixo. Fazendo isso a versão atualizada será usada na configuração.
# rm /etc/nginx/conf.d/zabbix.conf
Crie os links simbólicos do nginx.conf para o sites-available e sites-enabled.
# sudo ln -s /etc/zabbix/nginx.conf /etc/nginx/sites-available/default
# sudo ln -s /etc/zabbix/nginx.conf /etc/nginx/sites-enabled/default
Reinicie os serviços instalados para que as alterações tenham efeito.
# systemctl restart zabbix-server nginx zabbix-agent php7.4-fpm postgresql@13-main
Configure os serviços para iniciarem junto do Sistema Operacional.
# systemctl enable zabbix-server nginx zabbix-agent php7.4-fpm postgresql@13-main
Vamos para a parte final da instalação que é via web. Aqui o acesso vai ser feito com IP e porta já que configuramos isso no nginx.conf.
Agora vamos finalizar a instalação na parte web/frontend do Zabbix Server. Para isso basta digitar o IP:PORTA do Servidor onde está o Zabbix Server.
No meu caso ficou assim: http://192.168.1.252:8080 Altere o idioma para Português Brasileiro (PT_BR).
Confira se todos os pré-requisitos estão sendo atendidos, se sim, continue para o próximo passo.
Configure a conexão com o Banco de Dados inserindo todos os dados de acordo com o que foi criado.
Host do banco de dados: IP do Servidor onde está o seu PostgreSQL.
Porta do banco de dados: 0, significa a porta padrão que não alteramos.
Nome do banco de dados: zabbix ou outro nome que você escolheu.
Usuário: zabbix ou outro nome que você escolheu.
Senha: Senha do usuário zabbix escolhida durante a criação.
Quando preencher todos os campos, é só continuar.
Informe um nome para identificar o seu Servidor Zabbix, ajuste o time zone para America/São_Paulo e o tema fica de acordo com a sua preferência, no meu caso prefiro o tema escuro (posteriormente pode ser alterado).
Confirme se todos os parâmetros estão corretos para seguir.
Parabéns! Você instalou com sucesso a interface web do Zabbix.
Por fim é só realizar o login na Interface Web/Frontend do Zabbix.
Usuário padrão: Admin
Senha padrão: zabbix
Seja bem-vindo a Interface Web de gerenciamento. A partir daqui você poderá gerenciar e monitorar os seus ambientes.
Para consultoria em Zabbix e Grafana, entre em contato pelos meios de contato do link abaixo:
Por último, para contratar Servidor Zabbix em infraestrutura Nacional, visite o link do meu host e confira os planos.
Para críticas, dúvidas e sugestões, envie um e-mail para erick{“arrob4”}erickandrade.com.br.