domingo, 16 de maio de 2010

Instalando o Zabbix no Linux Ubuntu

Zabbix é um software que controla vários parâmetros de rede, estados e integridade dos servidores.
O Zabbix tem como objetivo auxiliar os administradores de sistemas e redes na tomada de decisão, ele faz a interação do administrador com os sistemas proporcionando o gerênciamento e monitoramento através de gráficos, alertas e mensagens enviadas via e-mail.
O Zabbix é uma ferramenta que monitora a infra-estrutura de aplicações envolvidas em uma rede, ou seja, hosts, servidores, aplicações e a própria rede.
Para a instalação e em sistemas Unix são necessários alguns programas tais como:
- Servidor web (Apache);
- Servidor de banco de dados (MySQL, Oracle, SQLite ou Postgresql);
- Php com suporte a Mysql, Oracle, SQLite ou Postgres (Php-mysql);
- Php com suporte a imagens no formato png (Php-gd);
- Serviço e snmp (net-snmp);
- Ping (fping);

Instalação:

Instale os seguintes pacotes com o comando:
sudo apt-get install build-essential mysql-server libmysqlclient15-dev php5 php5-gd php5-mysql snmp libsnmp-dev snmpd libcurl4-openssl-dev libiksemel3 libiksemel-dev fping

Crie o usuário Zabbix:
sudo adduser zabbix

Adicione o usuário Zabbix no grupo admin:
sudo adduser zabbix admin

Acessar o usuário zabbix:
su - zabbix

Acesse a página do Zabbix:
http://www.zabbix.com

No menu Download baixe a última versão do Zabbix:
ZABBIX SERVER 1.8.2 "zabbix-1.8.2.tar.gz"
ZABBIX AGENT 1.8.2 "zabbix_agents_1.8.2.linux2_6.i386.tar.gz"

Copie o arquivo zabbix-1.8.2.tar.gz para a pasta /usr/local/:
sudo cp /home/usuario/Área\ de\ Trabalho/zabbix-1.8.2.tar.gz /usr/local/

Copie o arquivo zabbix_agents_1.8.2.linux2_6.i386.tar.gz para a pasta /usr/local/:
sudo cp /home/usuario/Área\ de\ Trabalho/zabbix_agents_1.8.2.linux2_6.i386.tar.gz /usr/local/

Entre na pasta /usr/local/:
cd /usr/local/

Execute o comando para descompactar o arquivo zabbix-1.8.2.tar.gz:
sudo tar -zxvf zabbix-1.8.2.tar.gz

Execute o comando para descompactar o arquivo zabbix_agents_1.8.linux2_6.i386.tar.gz:
sudo tar -zxvf zabbix_agents_1.8.2.linux2_6.i386.tar.gz

Entre na pasta /usr/local/zabbix-1.8.2:
cd zabbix-1.8.2

Crie o banco de dados Zabbix:
sudo mysql -e "create database zabbix;"

Acrescente privilégios ao usuário zabbix:
sudo mysql -e "grant all privileges on zabbix.* to usuariozabbix@localhost identified by 'senhaparazabbix';"

Entre na pasta create/schema, para executar o script do banco:
cd create/schema/

Execute o script, que criará o schema do banco:
mysql -D zabbix -uusuariozabbix -psenhaparazabbix < mysql.sql

Entre na pasta create/data, para executar o script do banco:
cd ../data

Execute o script, que criará o schema do banco:
mysql -D zabbix -uusuariozabbix -psenhaparazabbix < data.sql
mysql -D zabbix -uusuariozabbix -psenhaparazabbix < images_mysql.sql

Volte para a pasta zabbix-1.8.2:
cd ../..

Compilando e instalando o Zabbix:
./configure --prefix=/usr --with-mysql --with-net-snmp --with-jabber \
--with-libcurl --enable-server --enable-agent && make

Execute o comando para instalar:
sudo make install

Edite o arquivo /etc/services acrescentando. O passo é opcional, porém recomendado:
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper

Crie uma pasta no diretorio /etc com o nome zabbix:
sudo mkdir /etc/zabbix

Altere o dono do diretório:
sudo chown -R zabbix.zabbix /etc/zabbix/

Copie os arquivos de configuração do Zabbix para a pasta /etc/zabbix/:
sudo cp misc/conf/zabbix_* /etc/zabbix

Nos computadores agentes, edite o parâmetro "Server" do arquivo /etc/zabbix/zabbix_agentd.conf, acrescentando o endereço IP do Zabbix servidor, pode-se usar o arquivo misc/conf/zabbix_agentd.conf como exemplo:
sudo editor /etc/zabbix/zabbix_agentd.conf

Para instalações com até 10 terminais monitorados, os parâmetros padrão são suficientes, caso for utilizar mais de 10 terminais monitorados, consulte a sessão [Performance tuning].Pode-se usar o arquivo misc/conf/zabbix_server.conf como exemplo:
sudo editor /etc/zabbix/zabbix_server.conf

No arquivo /etc/zabbix/zabbix_server.conf verifique os parâmetros:
DBUser=zabbix
DBPassword=Secret (comente essa linha se não houver senha)

Copie os arquivos de inicialização para a pasta /etc/init.d/:
sudo cp misc/init.d/debian/zabbix-* /etc/init.d/

Edite os arquivos zabbix-server e zabbix-agent, substituindo as linhas DAEMON=/home/zabbix/bin/${NAME} por DAEMON=/usr/sbin/${NAME}:
sudo editor /etc/init.d/zabbix-server
sudo editor /etc/init.d/zabbix-agent

Defina as permissões corretas de inicialização para quando o computador for inicializado:
sudo chmod 775 /etc/init.d/zabbix-server
sudo update-rc.d zabbix-server defaults
sudo chmod 775 /etc/init.d/zabbix-agent
sudo update-rc.d zabbix-agent defaults

Inicie os serviços:
sudo /etc/init.d/zabbix-server start
sudo /etc/init.d/zabbix-agent start

Instalando o Frontend zabbix-agent:

No diretório /var/www/ crie uma pasta com o nome de "zabbix":
sudo mkdir /var/www/zabbix

Copie os arquivo frontends do zabbix para a pasta /var/www/zabbix:
sudo cp -fr /usr/local/zabbix-1.8.2/frontends/php/* /var/www/zabbix/

Configure o Zabbix editando o arquivo "db.inc.php":
sudo editor /var/www/zabbix/include/db.inc.php

Configure conforme os parâmetros definidos:
if(isset($DB_TYPE)) $DB['TYPE'] = $MYSQL;
if(isset($DB_SERVER)) $DB['SERVER'] = $localhost;
if(isset($DB_PORT)) $DB['PORT'] = $default;
if(isset($DB_DATABASE)) $DB['DATABASE'] = $zabbix;
if(isset($DB_USER)) $DB['USER'] = $zabbix;
if(isset($DB_PASSWORD)) $DB['PASSWORD'] = $senha;

Configure o Apache editando o arquivo "php.ini":
sudo editor /etc/php5/apache2/php.ini

Configure conforme os parâmetros definidos:
date.timezone = America/Sao_Paulo
max_execution_time = 300

Finalizando a instalação acessando o browser em:
http://127.0.0.1/zabbix:

Na tela de boas vindas clique em:
Next

Nessa página pedirá para aceitar o termo de licença:
Marque I agree e clique em Next

Essa página apresenta os pré-requisitos mí­nimos, caso seja necessário edite o arquivo /etc/php5/apache2/php.ini e configure os parâmetros necessários,(caso o arquivo php.ini seja alterado, será necessário reiniciar o serviço apache) clique em:
Next

Nessa página forneça os requisitos para conexão com o Banco, teste a conexão com o banco e clique em:
Next

Essa página apresentará o endereço do servidor e a porta, clique em:
Next

Nessa página verifique os parâmetros de configuração, clique em:
Next

Nessa página será criado um arquivo chamado zabbix.conf.php, clique em:
Save Configuration File

Copie o arquivo criado (zabbix.conf.php) para a pasta /var/www/zabbix/conf/:
sudo cp /home/usuario/Área\ de\ Trabalho/zabbix.conf.php /var/www/zabbix/conf/

Nessa página clique em:
Next

Para concluir a instalação, clique em:
Finish

Aparecerá uma tela pedindo o usuário e senha:
Login name: admin
Password: zabbix