Instalando o Zabbix 6.0 e MariaDB (02 Camadas)
A instalação em duas camadas do Zabbix e do Banco de Dados (MySQL, PostgreSQL etc.), significa que os serviços serão instalados em servidores diferentes.
Isso se dá principalmente pela questão de segurança e aumento de desempenho, já que o servidor não dividirá recursos de processamento entre todos os serviços instalados e em execução.
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 MySQL/MariaDB 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
MariaDB 10.5.19 (versão padrão que está vindo no Debian 11)
Zabbix release 6.0.17
Atualizando o Sistema Operacional e instalando o pacote zabbix-sql-scripts
Antes de iniciarmos os processos é importante que o seu Sistema Operacional e os repositórios/pacotes estejam atualizados. Além disso vamos instalar o pacote do Zabbix para conseguirmos dar continuidade na instalação do MySQL/MariaDB.
Atualize os repositórios e faça upgrade dos pacotes.
# apt update
# apt upgrade
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:
Gerenciador de pacotes DPKG do Debian e derivados
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 sim faça a instalação do pacote zabbix-sql-scripts. Que nada mais é do que um pacote com scripts SQL usados na criação e manutenção do Banco de Dados.
# apt install zabbix-sql-scripts
Finalmente vamos dar início a criação e configuração do banco que será usado.
Instalando o MySQL/MariaDB
Faça a instalação do MySQL/MariaDB
# apt install mariadb-server
Após a instalação, é importante configurar a segurança do MySQL/MariaDB. Com o comando abaixo algumas opções abaixo irão aparecer no terminal, execute elas de acordo com o exemplo.
# mysql_secure_installation
Siga o exemplo abaixo:
Enter current password for root (enter for none): Insira a senha de root para continuar
Switch to unix_socket authentication [Y/n] y
Change the root password? [Y/n] n
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
Agora vamos acessar o MySQL/MariaDB para criarmos o usuário, senha do usuário e o banco de dados que será usado pelo Zabbix Server.
O parâmetro -u e -p indica que o usuário root do seu Sistema Operacional e a senha desse usuário serão usados para acesso.
# mysql -uroot -p
Depois de acessar o MySQL/MariaDB, vamos criar o Banco de Dados.
# create database dbzabbix character set utf8mb4 collate utf8mb4_bin;
Agora criaremos o usuário e informaremos a sua senha.
Observação: Troque o IP 192.168.1.250 pelo IP do seu Zabbix Server Use uma senha seguindo as recomendações de Segurança da Informação, não brinque com a sorte.
# create user usrzabbix@192.168.1.250 identified by 'jf]Xs;WB';
Para que o usuário consiga realizar alterações no Banco de Dados, é preciso atribuir os privilégios dele em relação ao banco.
# grant all privileges on dbzabbix.* to usrzabbix@192.168.1.250;
Aqui é preciso configurar temporariamente o SET GLOBAL como 1 para permitir a replicação de funções para funcionamento correto do banco e do Zabbix.
# set global log_bin_trust_function_creators = 1;
Feitas as devidas criações e configuração, basta sair do MySQL/MariaDB.
# quit;
O próximo passo é a importação do schema do Banco de Dados, esse é um dos passos mais importantes durante a instalação. Esteja atento aos comandos executados para evitar problemas.
Observação 01: Por conta do parâmetro -p vai ser pedido uma senha, essa senha é a do usuário root do Sistema Operacional, já que restringimos o acesso do usuário/banco ao IP do Zabbix Server.
Observação 02: A importação do schema vai dar a impressão que congelou/travou, isso é normal então aguarde alguns minutos até o processo ser concluído.
Vou fazer uma explicação sobre o comando abaixo, pois acredito ser importante você saber bem o que está fazendo, isso diminui e bastante a janela de problemas.
zcat: Vai descompactar o arquivo server.sql.gz que é fornecido pelo pacote zabbix-sql-scripts que instalamos lá no comecinho do tutorial.
mysql: solicita a conexão ao servidor do MySQL/MariaDB que instalamos.
–default-character-set=utf8mb4: Define qual será o esquema de codificação (Unicode), que permite o uso de vários caracteres (símbolo tipográfico) de idiomas diferentes, nesse caso o informado no comando é o utf8mb4.
-uroot -p dbzabbix: Aqui é informado o usuário root do seu Sistema Operacional e o Banco de Dados que criamos onde será feita a conexão e importação do schema. Nesse caso específico o usuário precisa ser o root, pois na criação do usuário do Banco de Dados, informamos um IP e somente a conexão vinda daquele IP informado conseguirá se conectar ao Servidor MySQL/MariaDB.
Agora sabendo o que está sendo feito, execute o comando de importação do schema.
# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uroot -p dbzabbix
Como dito anteriormente, a configuração do SET GLOBAL era temporária, então agora vamos acessar novamente o MySQL/MariaDB para desabilitar.
mysql -uroot -p
Desabilite o SET GLOBAL.
set global log_bin_trust_function_creators = 0;
Saia do MySQL/MariaDB.
quit;
Para finalizar, vamos editar o arquivo do Servidor MySQL/MariaDB para informar qual o IP que poderá se conectar a ele remotamente. Esse arquivo está localizado em /etc/mysql.
Acesse o diretório do arquivo de configuração e liste tudo que existe dentro dele.
# cd /etc/mysql/mariadb.conf.d
# ls
Procure pelo arquivo 50-server.cnf e edite ele usando o seu editor preferido, no meu caso será o nano.
# nano 50-server.cnf
Identifique a linha do bind-address e troque o IP de 127.0.0.1 para o IP do seu Servidor MySQL/MariaDB, no meu caso é o 192.168.1.251. Então a linha ficará da seguinte forma:
bind address = 192.138.1.251
Salve o arquivo e saia.
Reinicie o processo do MySQL/MariaDB habilite sua inicialização automática com o Sistema Operacional.
# systemctl restart mariadb.service
# systemctl enable mariadb.service
A instalação do MySQL/MariaDB e criação do Banco de Dados foi finalizada, os próximos passos serão no Zabbix Server para instalar os pacotes e finalizar a instalação do ambiente Frontend.
Instalando o Zabbix Server
Novamente precisamos deixar o ambiente com os repositórios e pacotes atualizados para dar prosseguimento.
Atualize os repositórios e faça upgrade dos pacotes.
# apt update
# apt upgrade
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
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 e Zabbix Frontend.
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
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, DBUser e DBHost, e insira os dados do Banco de Dados.
DBName: dbzabbix
DBUser: usrzabbix
DBPassword= jf]Xs;WB
DBHost: 192.168.1.251 (IP do Servidor onde está o MySQL/MariaDB)
Reinicie os serviços do Zabbix Server, Zabbix Agent e Apache2 (Servidor Web) e depois habilite a inicialização deles junto com o Sistema Operacional.
systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2
Agora vamos finalizar a instalação na parte web/frontend do Zabbix Server. Para isso basta digitar o IP do Servidor onde está o Zabbix Server seguido de /zabbix.
No meu caso ficou assim: http://192.168.1.250/zabbix/ 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 MySQL/MariaDB.
Porta do banco de dados: 0, significa a porta padrão 3306 que não alteramos.
Nome do banco de dados: dbzabbix ou outro nome que você escolheu.
Usuário: Usuário usrzabbix ou outro nome que você escolheu.
Senha: Senha do usuário usrzabbix 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.