anúncios

segunda-feira, 27 de julho de 2015

Instalando e configurando Zabbix no Debian

O que é o Zabbix ?

Zabbix é um software que monitora diversos parâmetros de uma rede como a integridade e desempenho dos servidores. Oferece excelentes relatórios e visualização de dados de recursos com base nos dados armazenados, e usa um mecanismo de notificação flexível que permite aos usuários configurar e-mail com alertas para qualquer evento, o que permite uma reação rápida para os problemas do servidor.

Corretamente configurado, o Zabbix pode desempenhar um papel importante no controle da infraestrutura de TI. Isto é igualmente verdade para as pequenas organizações com alguns servidores e para grandes empresas com um grande número de servidores.

O Zabbix é escrito e distribuído sob a GNU General Public License versão 2. Isso significa que seu código-fonte é distribuído gratuitamente e está disponível para o público em geral.

Depois de conhecer o Zabbix e pra que serve, podemos seguir os procedimentos de instalação e configuração do Zabbix em seu servidor GNU/Linux Debian.

Observação: Testado no GNU/Linux Debian 8 (Jessie) e versão atual do Zabbix é 2.4.45 até a data de publicação deste post.

Segue os procedimentos de instalação e configuração do Zabbix
Atualizando o repositório de pacotes
#apt-get update
Instalando os pacotes pré-requisitos necessários
#apt-get install apache2 mysql-server php php-gd php-mysql php-curl php-imap php-ldap

Criando o banco de dados Zabbix no MySQL
# mysql_install_db
# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL >
Criar o banco de dados zabbix
mysql> create database zabbix character set utf8;
Criar o usuário zabbix para o banco zabbix
mysql> GRANT ALL PRIVILEGES ON *.* TO zabbix@localhost IDENTIFIED BY 'senha_zabbix' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
Listar o banco zabbix que foi criado e demais bancos existentes.
mysql> show database;
mysql> quit

Criando usuário Zabbix sem Shell
#useradd zabbix -s /bin/false
root@Saitam:/etc/mysql# passwd zabbix
Digite a nova senha UNIX: < digite uma senha para o usuário zabbix >
Redigite a nova senha UNIX: < digite a mesma senha informada acima >
passwd: senha atualizada com sucesso

Algumas parametrizações no PHP para o Zabbix
Altere as linha 121, 372, 660, 884 do arquivo /etc/php5/apache2/php.ini e deixe como segue:
max_input_time = 300
max_execution_time = 300
post_max_size = 16M
date.timezone = "America/Sao_Paulo"
Descomentar a linha 704 para não falhar no setup da tela 1 para 2 always_populate_raw_post_data = -1

Reinicie o serviço Apache para efeito
#service apache2 restart

Download do Zabbix
Opcional: Salvo em /usr/src/
#cd /usr/src/
#wget -c "https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz"

Extraindo o arquivo zabbix-2.4.5.tar.gz
# tar -xzvf zabbix-2.4.5.tar.gz
# cd zabbix-2.4.5
Executar o configure com as opções
#./configure --enable-server --enable-agent --with-mysql --with-netsnmp --with-libcurl=/usr/bin/curl-config --with-ssh2 --with-openipmi
Após finalizar de checar a execução do arquivo configure, se aparecer no final 'execute run make install' é porque está pronto para o próximo passo.
# make install

Populando o banco Zabbix
# cd database/mysql
# mysql -D zabbix -u zabbix -p < schema.sql
Enter password: < digitar a senha definida para o usuário zabbix >

# mysql -D zabbix -u zabbix -p < images.sql
Enter password: < digitar a senha definida para o usuário zabbix >

# mysql -D zabbix -u zabbix -p < data.sql
Enter password: < digitar a senha definida para o usuário zabbix >


Configuração do Banco MySQL para Zabbix está OK
Ajuste de permissões
# mkdir /etc/zabbix
# chown -R zabbix.zabbix /etc/zabbix/

Local de configuração padrão do Zabbix
# cd /usr/local/etc
# vim zabbix_agent.conf
Altere a linha 13
Server=192.168.1.5 #Altere para o IP do seu servidor Zabbix
# vim zabbix_server.conf
Verifique as linhas 78,92,102
DBName=zabbix #Nome do banco de dados criado
DBUser=zabbix #Usuário do banco de dados criado
DBPassword=zabbix #Senha do banco de dados criado

Criar um link simbólico no local default (/usr/local/etc/) do Zabbix para /etc/zabbix
# ln -s /usr/local/etc/ /etc/zabbix/

Ajustar scripts de inicialização Zabbix para o Debian
# cd /usr/src/zabbix-2.4.5/misc/init.d/debian
# cp zabbix-* /etc/init.d/
# cd /etc/init.d/
# chmod +x zabbix-server
# chmod +x zabbix-agent
# rcconf
Marque as opções zabbix-server e zabbix-agent
Startar os serviços Zabbix
# /etc/init.d/zabbix-server start
Starting Zabbix server daemon: zabbix_server
# /etc/init.d/zabbix-agent start
Starting Zabbix agent daemon: zabbix_agentd
Criar o diretório zabbix no /var/www/html
# mkdir /var/www/html/zabbix
Copiar o diretório frontends do Zabbix para o /var/www/html/zabbix
# cd ../../../
# cp -R frontends/php/* /var/www/html/zabbix/
# chown -R www-data:zabbix /var/www/html/zabbix/

Criar o VirtualHost zabbix
# cd /etc/apache2/sites-available/
# cp 000-default.conf zabbix.conf
# vim /etc/apache2/sites-available/zabbix.conf
Alterar a linha 12 e deixar como segue:
DocumentRoot /var/www/zabbix/ Habilitar o VirtualHost
# a2ensite zabbix.conf
Reiniciar o Apache
# service apache2 restart
Acesse no navegador: http://< IP ou nome do servidor Zabbix >/zabbix
Irá aparecer as telas de configuração (Setup) do Zabbix
Tela 1: Clique em Next
Tela 2: Se tiver OK, clique em Next
Tela 3: Colocar o nome do banco de dados MySQL criado anteriormente, nome de usuário e senha do banco. Faça o teste de conexão e clique em Next
Tela 4:
Host: Colocar o IP do servidor Zabbix
Port: 10051
Name: Nome do servidor Zabbix
Depois clique em Next.
Tela 5: Apenas de conferência, se tiver OK, clique em Next.
Tela 6: Se seguiu os passos corretamente, receberá nessa tela "Congratulations on successful installation of Zabbix frontend", clique em Finish, caso contrário reveja o howto.
Após terminar o Setup do Zabbix, terá acesso a tela de login, usuário e senha default são conforme abaixo:
Login: admin
Senha: zabbix
Tela final:
Ativar o monitoramento do Zabbix
No menu Configuration -> hosts para visualizar
O host do Zabbix, depois clique em "Not monitored"
NOTA: Se utiliza as regras do firewall em DROP, liberando apenas as portas dos serviços de redes ativos, então lembrar de liberar a porta 10051 default do Zabbix no script firewall.

Referências:
https://www.zabbix.com/documentation/2.4/manual/introduction/about
http://www.vivaolinux.com.br/artigo/Monitoracao-com-Zabbix-no-Debian-Squeeze?pagina=2
http://zabbixbrasil.org/files/Tutorial_de_instala%C3%A7%C3%A3o_do_Zabbix_2.0.0_debian.pdf
Feito!

Nenhum comentário:

Postar um comentário