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.

https://cactoshospedagem.com.br/servidor-zabbix

Para críticas, dúvidas e sugestões, envie um e-mail para erick{“arrob4”}erickandrade.com.br.

Você pode gostar...