Salve Salve Pessoal!
Nesse post vou mostrar como podemos fazer a instalação do Zabbix 7 no Slackware 15.
Diferentemente de outras distribuições, não temos pacotes oficiais da Zabbix SIA para o Slackware, mas nada que não possamos criar nosso próprios pacotes, já que eles disponibilizam o código fonte.
Como falei em um dos meus posts anteriores, estou disponibilizando os pacotes que eu crio para o Slackware, e alguns desses pacotes são referentes ao Zabbix 7, assim como as suas dependências.
Esse post está dividido em três parte, uma onde vamos instalar e configurar o Zabbix Server e o banco de dados MariaDB, outra onde vamos configurar o apache e o php para o frontend do Zabbix e por fim o Zabbix Agent.
Todos os pacotes que vou utilizar nesse post podem ser baixados na seguinte URL.
https://slackbuilds.rodrigolira.eti.br
Pode ser que a versão do Zabbix tenha mudado, então fique atento as URLs utilizadas nos comandos do post, vou destacar as partes que fazem referência a versão dos pacotes, nesse caso será necessário mudar o comando apenas para a versão disponível no momento.
Configuração do Zabbix Server
No Slackware a unica dependência que temos para o Zabbix Server é o unixODBC, então a primeira coisa que precisamos fazer é a instalação do pacote, você pode baixar o mesmo no link abaixo:
https://slackbuilds.rodrigolira.eti.br/slackware64-15.0/unixODBC/
# wget https://slackbuilds.rodrigolira.eti.br/slackware64-15.0/unixODBC/unixODBC-2.3.11-x86_64-1_SBo.tgz
Agora vamos instalar o pacote.
# installpkg unixODBC-2.3.11-x86_64-1_SBo.tgz
Precisamos criar o usuário e grupo do zabbix server e do zabbix agent, execute os comandos abaixo.
# groupadd -g 228 zabbix # useradd -u 228 -g zabbix -d /dev/null -s /bin/false zabbix # useradd -u 266 -g zabbix -d /dev/null -s /bin/false zabbixagent
Vamos baixar os pacotes do zabbix server, frontend e agent.
# wget https://slackbuilds.rodrigolira.eti.br/slackware64-15.0/zabbix-7.0/zabbix_server/zabbix_server-7.0.3-x86_64-1_SBo.tgz # wget https://slackbuilds.rodrigolira.eti.br/slackware64-15.0/zabbix-7.0/zabbix_frontend/zabbix_frontend-7.0.3-noarch-1_SBo.tgz # wget https://slackbuilds.rodrigolira.eti.br/slackware64-15.0/zabbix-7.0/zabbix_agent2/zabbix_agent2-7.0.3-x86_64-1_SBo.tgz
Agora vamos fazer a instalação de cada um dos pacotes.
# installpkg zabbix_server-7.0.3-x86_64-1_SBo.tgz # installpkg zabbix_frontend-7.0.3-noarch-1_SBo.tgz # installpkg zabbix_agent2-7.0.3-x86_64-1_SBo.tgz
Por padrão o Slackware já vem com o MariaDB instalado, o que precisamos fazer é configura-lo.
Primeiro precisamos instalar as bases do sistema.
# mysql_install_db
Agora precisamos configurar as permissões.
# chown -R mysql:mysql /var/lib/mysql
Vamos configurar a permissão do script de inicialização para o MariaDB inicializar junto com o sistema operacional.
# chmod 755 /etc/rc.d/rc.mysqld
E vamos inicializar o MariaDB.
# /etc/rc.d/rc.mysqld start
Por fim vamos configurar a senha para o usuário root do MariaDB.
# mysqladmin -u root password 'Mudar@123'
Observe que Mudar@123 é a senha que eu estou definindo, no caso de vocês deve ser uma senha diferente e bem mais forte que essa.
Pronto, MariaDB configurado. 😀
Agora vamos criar o banco de dados para o Zabbix Server, vamos logar no MariaDB.
# mysql -u root -pMudar@123
Vamos criar o banco de dados para o Zabbix com o seguinte comando.
> create database zabbix character set utf8mb4 collate utf8mb4_bin;
No meu caso criei um banco de dados com o nome zabbix mesmo, no seu pode ser diferente caso deseje.
Agora vamos criar o usuário e configurar as permissões.
> use mysql; > grant all privileges on zabbix.* to zabbix@localhost identified by 'Mudar@123'; > flush privileges; > quit
Observe que criamos um usuário chamado zabbix, com a senha Mudar@123, que tem permissão no banco de dados que criamos com o nome de zabbix e que pode fazer conexão apenas em localhost, essas configurações podem mudar de acordo com seu ambiente.
Agora vamos configurar o banco de dados que criamos com tabelas e os dados necessários para o Zabbix Server.
Acesse o diretório /usr/share/zabbix_server/database/mysql com o comando abaixo.
# cd /usr/share/zabbix_server/database/mysql
Vamos logar no MariaDB novamente, mas dessa vez com o usuário zabbix que criamos anteriormente.
# mysql -h localhost -u zabbix -pMudar@123 zabbix
Agora vamos executar os scripts sql com os seguintes comandos.
> source schema.sql; > source images.sql; > source data.sql; > quit
Pronto, banco de dados configurado.
Agora vamos editar o arquivo de configuração do Zabbix Server com os dados de conexão com o banco de dado configurado.
Abra o arquivo de configuração com seu editor de texto preferido, no meu caso é o vim.
# vim /etc/zabbix/zabbix_server.conf
Se você estiver executando o banco de dados no mesmo servidor e configurou o usuário como zabbix e o banco de dados como zabbix também, só será necessário configurar o campo da senha, como mostrado na figura abaixo.Agora vamos configurar as permissões no script de inicialização do Zabbix Server.
# chmod +x /etc/rc.d/rc.zabbix_server
Agora podemos iniciar o serviço do Zabbix Server.
# /etc/rc.d/rc.zabbix_server start
Podemos verificar se o zabbix iniciou corretamente no arquivo de logs.
# cat /var/log/zabbix/zabbix_server.log
Ou até mesmo executando o comando ps e filtrando por zabbix.
# ps aux | grep zabbix
Como podemos ver na saída dos logs o zabbix iniciou corretamente.
Para o Zabbix Server iniciar junto com o sistema operacional, precisamos configurar a seguinte entrada no arquivo /etc/rc.d/rc.local.
# Zabbix Server if [ -x /etc/rc.d/rc.zabbix_server ]; then /etc/rc.d/rc.zabbix_server start fi
Já para ele parar da maneira correta quando o sistema operacional for imterrompido, precisamos da seguinte entrada no arquivo /etc/rc.d/rc.local_shutdown.
# Zabbix Server if [ -x /etc/rc.d/rc.zabbix_server ]; then /etc/rc.d/rc.zabbix_server stop fi
Configuração do Frontend
Agora vamos configurar o PHP e o Apache para podermos usar o forntend do zabbix através do navegador.
O Slackware 15 por padrão utiliza o PHP 7.4.x, está versão não é suportada pelo Zabbix 7, porém, podemos fazer a instalação das versões 8.0.x ou 8.1.x utilizando o próprio slackpkg, já que os pacotes estão no diretório extra do Slackware.
Digite o seguinte comando para buscar os pacotes disponíveis do PHP.
# slackpkg search php
Agora que sabemos qual versão queremos instalar, vamos executar o seguinte comando para fazer a instalação.
# slackpkg install php81
Agora remova o PHP 7 com o seguinte comando.
# slackpkg remove php-7
Agora que atualizamos a versão do PHP, precisamos editar alguns paramentros no php.ini para a execução do frontend web do zabbix, execute os seguintes comandos.
# sed -i "s/post_max_size = 8M/post_max_size = 16M/" /etc/php.ini # sed -i "s/max_execution_time = 30/max_execution_time = 300/" /etc/php.ini # sed -i "s/max_input_time = 60/max_input_time = 300/" /etc/php.ini
Agora vamos habilitar o PHP no Apache, por padrão o PHP não vem habilitado, execute os seguintes comandos.
# sed -i "s/DirectoryIndex index\.html/DirectoryIndex index.php index.html/" /etc/httpd/httpd.conf # sed -i "s/#Include \/etc\/httpd\/mod_php\.conf/Include \/etc\/httpd\/mod_php.conf/" /etc/httpd/httpd.conf
Vamos criar um link simbólico do diretório de instalação do zabbix frontend para o htdocs do apache, execute o seguinte comando.
# ln -s /usr/share/zabbix /var/www/htdocs/
Execute o seguinte comando para configurar as permissões do script de inicialização do apache.
# chmod +x /etc/rc.d/rc.httpd
Agora podemos iniciar o serviço.
# /etc/rc.d/rc.httpd start
Agora basta abrir a interface web e concluirmos a configuração, observe que o caminho é o endereço ip do servidor /zabbix, clique em Next step.
Verifique se todos os pré-requisitos foram atendidos e cliquem e Next step.
Informe as configurações de conexão com o banco de dados, se você configurou tudo como localhost, basta digitar a senha de conexão com o banco.
Defina o nome do servidor, o timezone e o tema e clique en Next step.
Verifique as configurações e clique em Next step.
Por padrão na próxima tela você receberá um erro, informando que você não pode gravar o arquivo zabbix.conf.php, existem duas possibilidades de contornar esse problema.
A primeira é baixando o arquivo de configuração para sua máquina e posteriormente enviar para o servidor no diretório /var/www/htdocs/zabbix/conf.
A segunda é mudar as permissões do diretório temporariamente, que é o que vamos fazer, execute o comando abaixo.
# chmod 775 /var/www/htdocs/zabbix/conf
Agora só clicar em Finish.
Volte as permissões ao padrão.
# chmod 755 /var/www/htdocs/zabbix/conf
Agora só entrar no Zabbix.
Usuário - Admin Senha - zabbix
Configuração do Zabbix Agent
Se você observou bem a figura acima, reparau que o zabbix agent não está em execução, ele já vem configurado por padrão para quando o zabbix server está executando no mesmo servidor, porém o zabbix agent 2 tem plugins disponíveis em outras distribuições e que ainda não foram portados para o Slackware, dessa forma é necessário comentar a linha que faz referência as configurações do plugin, essa linha está no final do arquivo /etc/zabbix/zabbix_agent2.conf.
Agora basta configurarmos as permissões e iniciar o serviço, execute os seguintes comandos.
# chmod +x /etc/rc.d/rc.zabbix_agent2 # /etc/rc.d/rc.zabbix_agent2 start
Um detalhe importante é que você pode baixar tanto o zabbix agent quanto o zabbix agent 2 no meu repositório.
Caso tenha baixado zabbix agent, o arquivo de configuração é o /etc/zabbix/zabbix_agentd.conf, não teremos a opção dos plugins no arquivo de configuração, e os comandos serão esses:
# chmod +x /etc/rc.d/rc.zabbix_agentd # /etc/rc.d/rc.zabbix_agentd start
Assim como no Zabbix Server, para o Zabbix Agent iniciar junto com o sistema operacional, precisamos configurar a seguinte entrada no arquivo /etc/rc.d/rc.local.
# Zabbix Agent 2 if [ -x /etc/rc.d/rc.zabbix_agent2 ]; then /etc/rc.d/rc.zabbix_agent2 start fi
Já para ele parar da maneira correta quando o sistema operacional for imterrompido, precisamos da seguinte entrada no arquivo /etc/rc.d/rc.local_shutdown.
# Zabbix Agent 2 if [ -x /etc/rc.d/rc.zabbix_agent2 ]; then /etc/rc.d/rc.zabbix_agent2 stop fi
Depois disso teremos nosso Zabbix instalado e configurado.
Até o próximo post!
😀
Brilliant! I am trying to upgrade from the 6.4 which I got from sbopkg and it runs well, but my desktop has an Nvidia card and I read 7.2 has good monitoring for Nvidia now.
So, to upgrade from 6.4 to 7.2 do I just follow the installation of the packages after stopping the Zabbix server and agent? Then verify all the settings are correct before starting them up again?
Yes, you can update the packages and restart the services.
Good luck!