terça-feira, 5 de junho de 2012

Instalar o Zabbix 2.0.0rc3 com PostgreSQL no CentOS 5.4

Este tutorial visa auxiliar a instalação do Zabbix 2.0.0rc3 com uma base de dados PostgreSQL no CentOS 5.4. 

Não configure repositórios adicionais, utilize somente os que já vêm por defeito no CentOS 5.4 e antes de começar a instalação do zabbix faça o update (yum install update).


INSTALAR E CONFIGURAR PACOTES:

Posicione-se na directoria yum.repos.d
cd /etc/yum.repos.d/
Descarregue e instale o repositório do RPMFORGE (de acordo com o seu sistema, 32 ou 64 bits):
Instale através do yum, os pacotes necessários abaixo para compilação e funcionamento do Zabbix 2.0 com PostgreSQL:
yum -y install gcc make postgresql postgresql-server postgresql-libs postgresql-devel postgresql-contrib postgresql-devel curl-devel httpd php php-bcmath php-gd php-mbstring php-pgsql net-snmp-devel fping e2fsprogs-devel zlib-devel libgssapi-devel krb5-devel openssl-devel libidn-devel iksemel-devel vim-enhanced wget
Ajuste as permissões do fping (utilizado para monitorações via ping pelo Zabbix):
chmod 4755 /usr/sbin/fping


Inicie o postgresql para criar os ficheiros de configuração:
service postgresql start
service postgresql stop



CONFIGU O POSTGRESQL:
Edite o arquivo de configuração do PostgreSQL:
vim /var/lib/pgsql/data/pg_hba.conf
E ajuste as linhas abaixo, altere o método de “ident sameuser” para “trust”, ficando da seguinte forma:
local   all          all                                              trust
host    all         all         127.0.0.1/32          trust
Ou restrinja um pouco mais os acessos atribuindo a autenticação de confiança só para o localhost:
local   all         all                                               trust
Ou somente para localhost e uma determinada rede:
host    all         all         10.0.8.0/24            trust
local   all         all                                            trust
Quando é especificada a autenticação trust, o PostgreSQL assume que qualquer um que se possa ligar ao servidor está autorizado a aceder à base de dados como qualquer utilizador que seja especificado (incluindo o superutilizador da base de dados). É claro que as restrições especificadas para o utilizador e para a base de dados ainda se aplicam. Este método deve ser utilizado somente quando existe uma proteção adequada no nível a segurança do sistema operativo para as ligações ao servidor.
A autenticação trust é somente adequada para as ligações TCP/IP quando se confia em todos os utilizadores de todas as máquinas que se podem ligar ao servidor de base de dados pelas linhas do arquivo pg_hba.conf que especificam trust.
Mais informações sobre os métodos de autenticação no PostgreSQL, podem ser obtidas aqui.
Inicie o serviço do PostgreSQL:
service postgresql start
Marque o serviço do PostgreSQL para iniciar automaticamente no boot:
chkconfig postgresql on
DESCARREGAR E INSTALAR O ZABBIX 2.0.0RC3:
Vamos descarregar e executar a instalalação do Zabbix a partir do diretório /tmp:
cd /tmp
Realizando o download do Zabbix 2.0.0rc3:
Descompactar:
tar xzf zabbix-2.0.0rc3.tar.gz
Aceda ao directório descompactado:
cd zabbix-2.0.0rc3
Inicie a compilação com os parâmetros abaixo indicados (note que por vezes, ao colar as linha no putty alguns caracteres são substituídos por "." se acontecer corrige-os):
./configure –enable-agent  –enable-proxy  –enable-server –with-postgresql –with-libcurl –with-net-snmp –with-jabber
make install
Criar a base de dados “zabbix” (note que por vezes, ao colar as linha no putty alguns caracteres são substituídos por "." se acontecer corrige-os):
echo “CREATE DATABASE zabbix” | psql -U postgres
cat /tmp/zabbix-2.0.0rc3/database/postgresql/schema.sql | psql -U postgres zabbix
cat /tmp/zabbix-2.0.0rc3/database/postgresql/data.sql | psql -U postgres zabbix
cat /tmp/zabbix-2.0.0rc3/database/postgresql/images.sql | psql -U postgres zabbix
Adicione o utilizador zabbix:
adduser -r -d /var/run/zabbix-server -s /sbin/nologin zabbix
Criar diretórios para logs:
mkdir -p /etc/zabbix/alert.d
mkdir -p /var/log/zabbix-server
mkdir -p /var/log/zabbix-agent
E também para o PID:
mkdir -p /var/run/zabbix-server
mkdir -p /var/run/zabbix-agent
Ajustar permissões:
chown zabbix.zabbix /var/run/zabbix*
chown zabbix.zabbix /var/log/zabbix*
Copiar ficheiros de configuração do server e do agente:
cp /tmp/zabbix-2.0.0rc3/conf/zabbix_server.conf /etc/zabbix
cp /tmp/zabbix-2.0.0rc3/conf/zabbix_agent.conf /etc/zabbix
Copiar ficheiros de controlo do serviço (stop/start/restart):
cp /tmp/zabbix-2.0.0rc3/misc/init.d/redhat/8.0/zabbix_server /etc/init.d
cp /tmp/zabbix-2.0.0rc3/misc/init.d/redhat/8.0/zabbix_agentd /etc/init.d
Edite o arquivo de configuração do server Zabbix:
vim /usr/local/etc/zabbix_server.conf
E adicione/altere as linhas:
LogFile=/var/log/zabbix-server/zabbix_server.log
PidFile=/var/run/zabbix-server/zabbix_server.pid
DBUser=postgres
DBPassword=
AlertScriptsPath=/etc/zabbix/alert.d/
Edite o arquivo de configuração do agente Zabbix:
vim /usr/local/etc/zabbix_agentd.conf

E adicione/altere as linhas:
PidFile=/var/run/zabbix-agent/zabbix_agentd.pid
LogFile=/var/log/zabbix-agent/zabbix_agentd.log
EnableRemoteCommands=1
Timeout=10
Edite o arquivo de de controle do serviço do server Zabbix:
vim /etc/init.d/zabbix_server
E edite a linha abaixo para apontar para a directoria /usr/local/sbin:
progdir=”/usr/local/sbin/”
Edite o ficheiro de de controlo do serviço do agente Zabbix:
vim /etc/init.d/zabbix_agentd
E edite a linha para apontar para o diretório /usr/local/sbin:
progdir=”/usr/local/sbin/”
Copie os arquivos PHP para a nova instalação  (note que por vezes, ao colar as linha no putty alguns caracteres são substituídos por "." se acontecer corrige-os):
rm -rf /usr/local/share/zabbix
mkdir -p /usr/local/share/zabbix
cp -r /tmp/zabbix-2.0.0rc3/frontends/php/* /usr/local/share/zabbix
Faça uma cópia do ficheiro zabbix.conf.php.example para zabbix.conf.php
cp /usr/local/share/zabbix/conf/zabbix.conf.php.example /usr/local/share/zabbix/conf/zabbix.conf.php
E edite-o:
vim /usr/local/share/zabbix/conf/zabbix.conf.php
Da seguinte forma:
<?php
global $DB;
$DB["TYPE"]             = “POSTGRESQL”;
$DB["SERVER"]           = “localhost”;
$DB["PORT"]             = “0″;
$DB["DATABASE"]         = “zabbix”;
$DB["USER"]             = “postgres”;
$DB["PASSWORD"]         = “”;
$ZBX_SERVER             = “127.0.0.1″;
$ZBX_SERVER_PORT        = “10051″;
$IMAGE_FORMAT_DEFAULT   = IMAGE_FORMAT_PNG;
?>
Ajuste o time zone na configuração do PHP:
vim /etc/php.ini
Edite as entradas abaixo no /etc/php.ini:
date.timezone = Europe/Lisbon
post_max_size = 256M
max_execution_time = 300
max_input_time = 300
display_errors = On
Inclua um alias para o zabbix nas confgurações do Apache (note que por vezes, ao colar as linha no putty alguns caracteres são substituídos por "." se acontecer corrige-os):
echo “Alias /zabbix /usr/local/share/zabbix” > /etc/httpd/conf.d/zabbix.conf
Marque o serviço do Apache para iniciar no boot:
chkconfig httpd on
Reinicie o serviço do Apache para carregar as novas configurações:
service httpd restart
Marque o serviço do server Zabbix para iniciar no boot:
chkconfig zabbix_server on
Marque o serviço do agente Zabbix para iniciar no boot:
chkconfig zabbix_agentd on
Ajuste as permissões dos ficheiros de controle dos serviços Zabbix:
chmod +x /etc/init.d/zabbix_server
chmod +x /etc/init.d/zabbix_agentd
Reinicie ambos os serviços, server e agente:
service zabbix_server restart
service zabbix_agentd restart
Aceda através do browser o endereço: http://ipservidor/zabbix
Utilizador: Admin
Pass: zabbix

Obrigado.

Sem comentários:

Enviar um comentário