Salve Salve Pessoal!
Nesse post vou mostrar como fazer a instalação do Zabbix Server no CentOS 8 com o SELinux habilitado.
Sei que para algumas pessoas isso é algo trivial, porém vejo que algumas pessoas ainda tem dificuldade principalmente quando fazemos a instalação deixando o SELinux habilitado.
Acesse o link abaixo e veja porque deixar o SELinux habilitado.
Stop Disabling SELinux 😀
https://stopdisablingselinux.com/
Vamos ao que interessa!
Primeira coisa a fazer é atualizarmos o sistema operacional.
# dnf update -y
Ops, cadê o yum?
Para quem não sabe o yum foi substituído pelo dnf, hoje existe apenas links simbólicos para os comandos, como mostra a imagem abaixo:
Olhem o man do yum:
Na próxima versão do CentOS o yum deve ser removido totalmente, assim como aconteceu com o Fedora.
Caso tenha havido atualização do kernel reinicie o sistema operacional.
Com o sistema atualizado vamos aos passos de instalação.
1 – Adicione o repositório do Zabbix 4.4.
# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
2 – Limpe os arquivos temporários dos repositórios.
# dnf clean all
3 – Vamos fazer a instalaçãod o Zabbix Server, Zabbix Agent, Apache e MariaDB.
# dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent httpd mariadb mariadb-server
4 – Habilite e inicie o serviços do MariaDB.
# systemctl enable mariadb # systemctl start mariadb
5 – Vamos as configurações básicas do MariaDB, execute o comando abaixo.
# mysql_secure_installation
Como acabamos de realizar a instalação do MariaDB o mesmo ainda não está com a senha de root configurada, aperte ENTER apenas.
Responda com Y para configurar uma nova senha.
Responda com Y para remover o usuário anonymous.
Responda com Y para aceitar conexões locais apenas.
Responda com Y para remover o banco de dados test.
Responda com Y para dar um reload em todos os privilégios.
Pronto, configurações básicas do MariaDB realizadas.
6 – Agora vamos a configuração do banco de dados do Zabbix Server.
Logue com o usuário root no MariaDB.
# mysql -u root -p
Execute o comando abaixo para criar um banco de dados chamado banco-zabbix esse será o banco que o Zabbix Server vai utilizar.
# create database banco_zabbix character set utf8 collate utf8_bin;
OBS: Você pode configurar o nome que desejar para o banco de dados, mude de acordo com a sua necessidade.
Vamos criar um usuário e dar os privilégios sobre o banco de dados banco-zabbix.
# grant all privileges on banco_zabbix.* to usuario_zabbix@localhost identified by 'MudarSenha123';
Agora vamos sair do console do MariaDB.
# quit;
OBS: Você pode configurar o nome que desejar para o usuário, mude o usuário e a senha de acordo com a sua necessidade.
Agora vamos importar os dados e esquemas das tabelas para nosso banco.
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u usuario_zabbix -p banco_zabbix
Será solicitada a senha do usuário usuario_zabbix.
7 – Vamos editar o arquivo de configuração do Zabbix Server.
Faça uma copia do arquivo de configuração.
# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf-orig
Abra o arquivo com seu editor de texto favorito, no meu caso é o vim.
# vim /etc/zabbix/zabbix_server.conf
Não vou entrar em detalhes sobre o arquivo de configuração, mas normalmente gosto de deixar o meu da seguinte forma:
LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=1 DebugLevel=3 PidFile=/var/run/zabbix/zabbix_server.pid SocketDir=/var/run/zabbix DBHost=localhost DBName=banco_zabbix DBUser=usuario_zabbix DBPassword=MudarSenha123 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000 StatsAllowedIP=127.0.0.1
OBS: Nem todos os campos que estão na configuração são necessários pois estão com o valor padrão, mas por gosto particular deixo eles. 😉
Os campos que são necessários realizar alguma alteração são os campos com destaque abaixo:
8 – Configure o php do frontend do Zabbix Server removendo o comentário e deixando de acordo com a sua região.
# vim /etc/php-fpm.d/zabbix.conf
9 – Por padrão o acesso ao Zabbix Server é o IP ou hostname /zabbix, exemplo:
http://zabbix.rodrigolira.lab/zabbix
Vamos configurar o httpd para que o acesso seja:
http://zabbix.rodrigolira.lab/
Edite o arquivo de configuração do httpd.
# vim /etc/httpd/conf/httpd.conf
Mude o campo DocumentRoot “/var/www/html” para DocumentRoot “/usr/share/zabbix”
10 – Agora vamos habilitar e iniciar o serviço do httpd.
# systemctl enable httpd # systemctl start httpd
11 – Agora vamos habilitar e iniciar o serviço do php-fpm.
# systemctl enable php-fpm # systemctl start php-fpm
12 – Agora vamos habilitar e iniciar o serviço do Zabbix Server.
# systemctl enable zabbix-server # systemctl start zabbix-server
Se seu Zabbix Server não iniciar e provavelmente ele não vai, 99,9% de chance de ser o SELinux, para resolver vamos executar o seguinte comando.
# sealert -a /var/log/audit/audit.log
A execução do comando pode demorar um pouco, mas a saída deve ser como a imagem acima, observe que o próprio sealert informa o que fazer para resolver o problema.
Agora só executar os comanos informados, como já passei pelo problema vou deixar os comandos que executei para poder trabalhar com o SELinux habilitado.
# setsebool -P httpd_can_connect_zabbix on # setsebool -P daemons_enable_cluster_mode 1 # ausearch -c 'zabbix_server' --raw | audit2allow -M my-zabbixserver # semodule -i my-zabbixserver.pp
OBS: Não vou entrar em detalhes sobre os comandos do SELinux, para maiores esclarecimentos acessem o link abaixo.
Depois disso só tentar iniciar novamente o Zabbix Server.
# systemctl restart zabbix-server
13 – Libere o acesso no firewalld.
# firewall-cmd --add-service=zabbix-server --permanent # firewall-cmd --add-service=zabbix-server --permanent # firewall-cmd --reload
14 – Abra o navegador e digite o endereço IP ou hostname do servidor, clique em Next step.
15 – Verifique se todos os requisitos estão OK e clique em Next step.
16 – Preencha os campos de acordo como o arquivo de configuração do Zabbix Server e clique em Next step.
17 – Configure um nome para o servidor e clique em Next step.
18 – Veja os detalhes e clique em Next step se estiver tudo correto.
19 – Clique em Finish para finalizar a instalação.
Pronto, Zabbix Server instalado e configurado com sucesso!
Agora vamos logar no mesmo, insira o usuário e senha, por padrão o usuário é Admin e a senha é zabbix.
Sistema rodando com sucesso e com o SELinux habilitado 😀
Se você observou vem nós já estamos com um problema, o Zabbix agent não está sendo executado, agora que já configuramos o Zabbix Server vamos configurar o Zabbix Agent.
1 – Faça uma copia do arquivo de configuração do Zabbix Agent.
# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf-orig
2 – Edite o arquivo de configuração com seu editor de texto favorito.
# vim /etc/zabbix/zabbix_agentd.conf
Assim como no Zabbix Server não vou entrar em detalhes sobre o arquivo de configuração, mas normalmente gosto de deixar o meu da seguinte forma:
PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=1 DebugLevel=3 Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=Zabbix server Timeout=3 Include=/etc/zabbix/zabbix_agentd.d/*.conf
3 – Depois do arquivo configurado só habilitar e iniciar o serviço.
# systemctl enable zabbix-agent # systemctl start zabbix-agent
4 – Agora só acessar o Zabbix Server e confirmar se o Zabbix Agent está em execução, Configuration > Hosts.
Pronto, agora está tudo configurando e rodando.
Espero que você tenha gostado.
Até o próximo post!
😀
Bom dia Rodrigo Lira primeiro gostaria de parabenizar seu trabalho em publicar o conteúdo, muito bom mesmo; Tenho um problema com dependência do pacote libssh2.só.1para instalar o zabbix-server-mysql poderia me ajudar, agradeço desde já.
Opa valeu! Para resolver o problema só executar o comando abaixo para instalar o pacote:
dnf install http://mirror.centos.org/centos/8.0.1905/AppStream/x86_64/os/Packages/libssh2-1.8.0-8.module_el8.0.0+189+f9babebb.1.x86_64.rpm
Boa noite Sr.Rodrigo Lira, tudo bem com o senhor.
Estou tendo um problema ao iniciar o HTTPD, estou recebendo este erro:
AH00526: Syntax error on line 122 of /etc/httpd/conf/httpd.conf:
DocumentRoot ‘/etc/httpd/\xe2\x80\x9c/usr/share/zabbix\xe2\x80\x9d’ is not a directory,>
httpd.service: Main process exited, code=exited, status=1/FAILURE
O senhor pode me ajudar…
Obrigado!!!
Não é esse o caminho, deixe apenas /usr/share/zabbix.
Olá Rodrigo!
Após a instalação do Zabbix 5.0 no Oracle Linux, estou recebendo a mensagem abaixo.
sda: Disk read/write request responses are too high (read > 20 ms for 15m or write > 20 ms for 15m)
Como resolver?
Obrigado
Também peguei em algumas VMs de um cliente, o disco dele está ruim no meu caso, veja se tem issue/bug aberto:
https://support.zabbix.com/projects/ZBX/summary
Bom dia
Rodrigo, Sou inicante no zabbix , configurei passo a passo , porem aaparece um erro . Oservidor Zabbix nao Esta em Execucao as informacoes exibidas podem nao ser atuais . qual procedimento deve seguir para sanar este erro . obrigada desde de ja
Olá Hele, você fez as configurações do SELinux?
Ola Rodrigo, obrigada por compartilhar seu conhecimento . Eu iniciante em linux e também no zabbix instalei uma vm para treinar fiz passo a posso , porem e executada mensagem de erro Zabbix_Server not running, qual o procedimento que devo fazer para sanar este erro ?
Olá Helen, você fez as configurações do SELinux?
sim efetuei as configuraçoes do se linux . de acordo com as instruçoes na pagina
Tente desativar o SELinux e reiniciar o Zabbix Server, os comandos são os seguintes:
# setenforce 0
# systemctl restart zabbix-server
Caso o Zabbix Server funcione normalmente teremos a certeza que é algum problema com o SELinux.
Bom dia .
Desabilitei o selinux e funcionou. muito obriga
Boa Noite Rodrigo!
Nao bi no post como configura o zabbix server para acessar pelo ip ou hostname desejado, nao estou conseguindo acessa-lo.
Olá Lucas, basta acessar pelo endereço da própria máquina que deve funcionar normalmente.