segunda-feira, 19 de outubro de 2015

Instalando o Zabbix Server 2.4.3 em Ambiente CentOS/RHEL 7



Neste tutorial iremos abordar a implantação do Zabbix, um software de monitoramento de redes muito poderoso em ambientes CentOS 7 e Red Hat Linux 7. A instalação também pode seguir o mesmo padrão em ambientes Fedora. Já abordamos há algum tempo a Instalação do Zabbix em Ambientes Debian 7 Wheezy caso interesse também.

Vamos atualizar nosso Sistema, pressuponho que o mesmo esteja recém instalado:

 yum update -y  


Desabilitando o SELINUX

Para desabilitar o SELINUX basta alterar um parâmetro no arquivo /etc/sysconfig/selinux

 vi /etc/sysconfig/selinux  

Procure pela Linha SELINUX=enforcing e altere seu valor para disabled

 SELINUX=disabled  

Instalando e configurando o MySQL/MariaDB

 sudo yum install mariadb-server  

Agora vamos iniciar o serviço e colocar ele na inicialização do sistema

 sudo systemctl enable mariadb.service  
 sudo systemctl start mariadb.service  


Fazendo a configuração inicial do MySQL

Vamos definir a senha de Root e definir as configurações de segurança do nosso banco de dados. Na instalação ele não pede para colocarmos uma senha no usuário root do MySQL, portanto precisamos colocá-la posteriormente, então quando ela pedir, dê somente um Enter e defina a senha.

 mysql_secure_installation  


Criando os usuários do banco de dados

 mysql -u root -p  

 mysql> CREATE USER 'zabbixuser'@'localhost' IDENTIFIED BY '123456';     
 mysql> CREATE DATABASE zabbix character set utf8 collate utf8_bin;  
 mysql> grant all privileges on zabbix.* to zabbixuser@localhost identified by '12345';  
 mysql> exit  

Instalando as dependências

yum install -y OpenIPMI.x86_64 net-snmp.x86_64 unixODBC.x86_64 java-1.7.0-openjdk-headless.x86_64 dejavu-sans-fonts gcc.x86_64 libxml2-devel.x86_64 net-snmp-devel.x86_64 libssh2-devel.x86_64 OpenIPMI-devel.x86_64 libcurl-devel.x86_64 java-1.7.0-openjdk-devel.x86_64 httpd php.x86_64 php-mysql.x86_64 php.x86_64 php-mysql.x86_64 php-devel.x86_64 php-xml.x86_64 php-cli.x86_64 php-bcmath.x86_64 php-mbstring.x86_64 php-gd.x86_64 wget vim



Instalando o Fping

 wget http://pkgs.repoforge.org/fping/fping-3.10-1.el7.rf.x86_64.rpm   
 rpm -ivh fping-3.10-1.el7.rf.x86_64.rpm  


Instalando o Iksemel

 rpm -ivh ftp://ftp.muug.mb.ca/mirror/fedora/epel/7/x86_64/i/iksemel-1.4-6.el7.x86_64.rpm  


Baixando e instalando o Zabbix.

Crie um pasta separada para efetuarmos o download das RPM

 mkdir zabbix   
 cd zabbix   

 wget http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-server-2.4.3-1.el7.x86_64.rpm  
 wget http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-server-mysql-2.4.3-1.el7.x86_64.rpm  
 wget http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-web-2.4.3-1.el7.noarch.rpm  
 wget http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-web-mysql-2.4.3-1.el7.noarch.rpm  
   
 rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-2.4.3-1.el7.x86_64.rpm  
 rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-agent-2.4.3-1.el7.x86_64.rpm  
 rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-get-2.4.3-1.el7.x86_64.rpm  
 rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-java-gateway-2.4.3-1.el7.x86_64.rpm  
 rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-sender-2.4.3-1.el7.x86_64.rpm  
 rpm -ivh zabbix-server-2.4.3-1.el7.x86_64.rpm zabbix-server-mysql-2.4.3-1.el7.x86_64.rpm  
 rpm -ivh zabbix-web-mysql-2.4.3-1.el7.noarch.rpm zabbix-web-2.4.3-1.el7.noarch.rpm  



Configurando a base MySQL

Acesse o diretório /usr/share/doc/zabbix-server-mysql-2.4.3/create/ e instale os scripts SQL que estão lá dentro pra dentro da Base que criamos anteriormente. A cada passo, será necessário colocar a senha  de Root do MySQL.

 cd /usr/share/doc/zabbix-server-mysql-2.4.3/create/  
   
 mysql -u root -p zabbix < schema.sql  
 mysql -u root -p zabbix < images.sql  
 mysql -u root -p zabbix < data.sql  
   


Configurando o Serviço 

Agora vamos mexer no core do servidor. Para isso precisamos editar o arquivo

 vi /etc/zabbix/zabbix_server.conf  

 E procure pelos parâmetros abaixo, descomentando aqueles que estiverem comentados e alterando seus valores para as definições que configuramos anteriormente como nome do banco, usuario do banco e senha.

 ListenPort=10051  
 DBHost=localhost  
 DBName=zabbix  
 DBUser=zabbixuser  
 DBPassword=12345 


Colocando os serviços do Zabbix Server, Server Agent e Zabbix Gatewal na inicialização do Sistema

 systemctl enable zabbix-server.service  
 systemctl start zabbix-server.service  
   
 systemctl enable zabbix-agent.service  
 systemctl start zabbix-agent.servic  
   
 systemctl enable zabbix-java-gateway.service  
 systemctl start zabbix-java-gateway.service  


Configurando o PHP, Apache e Firewall do sistema

Edite o php.ini, o responsável pelos parâmetros do PHP e altere seus respectivos valores para os apresentados abaixo. Eles estão separados dentro do arquivo, então será necessário buscar por eles, não se esqueça de descomentar aqueles que estiverem comentados.

 vi /etc/php.ini   

 date.timezone = 'America/Sao_Paulo'  
 max_execution_time = 300  
 max_input_time = 300  
 post_max_size = 16M  
 always_populate_raw_post_data  


Habilitando e iniciando o Apache (httpd)

 systemctl enable httpd.service  
 systemctl start httpd.service  


Habilitando o acesso externo no Firewall para o HTTPD e para a porta de listen do Zabbix

 firewall-cmd --permanent --zone=public --add-service=http  
 firewall-cmd --permanent --zone=public --add-service=https  
 firewall-cmd --permanent --zone=public --add-service=mysql  
 firewall-cmd --permanent --zone=public --add-port=10050/tcp  
 firewall-cmd --permanent --zone=public --add-port=10050/udp  
 firewall-cmd --permanent --zone=public --add-port=10051/tcp  
 firewall-cmd --permanent --zone=public --add-port=10051/udp  


Agora reinicie o Firewall para adotar as novas configurações e é recomendado reiniciar o servidor também para testar se todos os serviços irão subir certinho

 systemctl restart firewalld.service  

 reboot  


Realizando a configuração final do Zabbix

Agora acesse a url http://ip-do-servidor/zabbix




Se tudo deu certo, essa é a tela de Setup que irá aparecer para a configuração final. A partir de agora será tudo muito simples, é só preencher algumas informações pertinentes ao banco de dados e prosseguir.
Se você configurou o php.ini conforme o combinado, descomentando os ; dos necessários e ajustando os valores corretamente, essa tela deverá apresentar uma série de "Ok" e permitindo que você avance. Caso não tenha, procure pela parametrização em alerta e altere no php.ini novamente.




Agora iremos informar os dados para conexão no banco de dados. Os usuários e senhas definimos inicialmente na configuração inicial do MySQL(MariaDB). Lembre-se de colocar a porta 3306 para garantir a conexão correta com a base de dados. Após isso clique em "Test Connection". Se tudo der Ok avance.


Essa tela é opcional, ela já vem toda estabelecida por Default. É só avançar para a tela de Login do sistema. 



Os usuários por Default são:

Username: Admin
Password: zabbix 



:)

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

Postar um comentário

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com