LabExposed

BSD, Linux e software livre em geral.

Centreon 2.3.9 No FreeBSD 9 (Atualizado)

| Comments

Este tutorial vai orientar o usuário a efetuar a instalação do Centreon no FreeBSD. Estaremos utilizando uma instalação em um FreeBSD com kernel versão 9.0-PRERELEASE, a versão do kernel não influenciará no tutorial. Pode ser FreeBSD 8.x ou 9.x

O que é o Centreon ?

Centreon é uma poderosa ferramenta de monitoramento de hosts e serviços, ele é um frontend que funciona em cima do Nagios, adicionando muitas facilidades para visualização e histórico de alertas, estatus, etc..

Precisa de suporte ? Clique aqui !

Para conhecer um pouco mais sobre a ferramenta, eu lhe convido a visitar o site oficial no endereço http://www.centreon.com

O que nós vamos precisar ?

  • Apache
  • PHP 5.3.x + um monte de dependências
  • Mysql
  • Nagios
  • Pear + um monte de dependências
  • Perl + um monte de dependências
  • rrdtool
  • snmp
  • sudo
  • Centreon (óbvio :-p)

Iniciando a instalação dos pacotes

Para este tutorial, nos iremos usar a ferramenta portmaster, você até podera fazer toda a instalação manualmente, mas u aconselho o uso da ferramenta, afim de facilitar a instalação das dependências e pela a quantidade de pacotes que iremos precisar.

/usr/ports/ports-mgmt/portmaster
make install clean

se estiver usando o shell csh

rehash

Começamos por alguns pacotes comuns para prover o Centreon:

# Nas configurações de pacotes, mantenha as opções default ou a seu gosto.
portmaster -d lang/perl5.16 www/apache22 shells/bash security/sudo net-mgmt/net-snmp net-mgmt/snmptt

Instalando nosso banco de dados (se for usar o Mysql fora, instale somente o mysql-client)

portmaster -d databases/mysql51-client databases/mysql51-server

Vamos instalar o PHP:

Atenção ao configurar o pacote PHP5, você precisará de algumas opções marcadas, pelo menos as que estão listadas abaixo:

│ │ [*] CLI        Build CLI version                               │ │
 │ │ [*] APACHE     Build Apache module                             │ │
portmaster -d lang/php53 databases/php53-mysql graphics/php53-gd \
    www/php53-session archivers/php53-zlib \
    sysutils/php53-posix security/php53-filter \
    converters/php53-mbstring textproc/php53-xml \
    devel/php53-gettext textproc/php53-xmlwriter

PEAR:

portmaster -d devel/pear databases/pear-DB_DataObject databases/pear-DB_DataObject_FormBuilder \
    databases/pear-MDB2 textproc/pear-Numbers_Roman \
    textproc/pear-Numbers_Words devel/pear-HTML_QuickForm2 \
    devel/pear-HTML_QuickForm_advmultiselect net/pear-Net_Traceroute \
    net/pear-Net_Ping devel/pear-Validate net/pear-XML_RPC \
    mail/pear-Mail mail/pear-Mail_Mime www/pear-HTTP net/pear-SOAP \
    devel/pear-HTML_Table security/pear-Auth_SASL net/pear-Net_SMTP \
    graphics/pear-Image_Canvas graphics/pear-Image_Graph \
    graphics/pear-Image_GraphViz

Vamos para a parte do Perl:

portmaster -d devel/p5-Config-IniFiles graphics/p5-GD \
    databases/p5-DBD-mysql security/p5-Crypt-DES \
    security/p5-Digest-HMAC net-mgmt/p5-Net-SNMP

Problemas com rede ? implementação de segurança ? clique aqui

Uma importante ferramenta que não pode faltar no nosso ambiente:

portmaster -d databases/rrdtool

E nosso pano de fundo do Centreon, o Nagios !

portmaster -d net-mgmt/nagios net-mgmt/ndoutils

Marque as opções:

│ │[X] EMBEDDED_PERL   Enable embedded Perl [requires Perl 5.8.0+] │ │
│ │[X] NANOSLEEP       Use nanosleep in event timing               │ │
│ │[X] EVENT_BROKER    Enable event broker functionality           │ │

Nagios-plugins:

│ │ [X] FPING    Support for non-flooding fast ping (check_fping)  │ │
│ │ [X] NETSNMP  SNMP support (check_snmp)                         │ │

Se estiver instalando dentro de uma Jail, marque a opção abaixo:

│ │ [X] JAIL     Compilation within jail(8) (see Makefile)         │ │

ndoutils:

│ │ [X] MYSQL  MySQL Backend                               │ │

Vamos as configurações de alguns pacotes:

se estiver usando o shell csh

rehash

PHP:

cd /usr/local/etc
cp php.ini-production php.ini
# Ajuste o Fuso horario para sua localidade
perl -p -i -e 's/;date.timezone =/date.timezone = America\/Sao_Paulo/' /usr/local/etc/php.ini

Apache:

echo 'apache22_enable="YES"' >> /etc/rc.conf
echo "AddType application/x-httpd-php .php" >> /usr/local/etc/apache22/Includes/php.conf
echo "AddType application/x-httpd-php-source .phps" >> /usr/local/etc/apache22/Includes/php.conf
perl -p -i -e 's/DirectoryIndex index.html/DirectoryIndex index.html index.php/g' /usr/local/etc/apache22/httpd.conf

# Verifique se o seu arquivo de hosts (/etc/hosts) ou DNS interno esta funcionando corretamente
/usr/local/etc/rc.d/apache22 start

Mysql:

echo 'mysql_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/mysql-server start
# definir senha para root do mysql
mysqladmin -u root password "nova-senha"

SNMP:

echo 'snmpd_enable="YES"' >> /etc/rc.conf
echo 'snmpd_flags="-a"' >> /etc/rc.conf
echo 'snmpd_conffile="/usr/local/etc/snmp/snmpd.conf"' >> /etc/rc.conf
echo 'snmptrapd_enable="YES"' >> /etc/rc.conf
echo 'snmptrapd_flags="-a -p /var/run/snmptrapd.pid"' >> /etc/rc.conf

mkdir -p /usr/local/etc/snmp
cp /usr/local/share/snmp/snmpd.conf.example /usr/local/etc/snmp/snmpd.conf
perl -p -i -e 's/rocommunity public  default    -V systemonly/rocommunity public default/g' /usr/local/etc/snmp/snmpd.conf
perl -p -i -e 's/agentAddress  udp:127.0.0.1:161/#agentAddress  udp:127.0.0.1:161/' /usr/local/etc/snmp/snmpd.conf
/usr/local/etc/rc.d/snmpd start
/usr/local/etc/rc.d/snmptrapd start

Acerte o arquivo /usr/local/etc/snmp/snmpd.conf com informações de localização e identificação.

Se você estiver instalando o snmpd em uma Jail, veja este artigo para funcionamento da mesma em Jail:
http://ggeek.blogspot.com/2008/10/freebsd-jails-and-net-snmp.html

Consultoria em Soluções Livres, entre em contato !

Nagios:

sh
cd /usr/local/etc/nagios/
ls -1 *-sample | while read arq ; do mv $arq `echo $arq | cut -f1 -d'-'` ; done
cd objects/
ls -1 *-sample | while read arq ; do mv $arq `echo $arq | cut -f1 -d'-'` ; done
exit
echo 'nagios_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/nagios start

NDOUtils:

echo 'ndo2db_enable="YES"' >> /etc/rc.conf

Fazendo download do Centreon:

cd /tmp
fetch http://download.centreon.com/centreon/centreon-2.3.9.tar.gz
tar zxf centreon-2.3.9.tar.gz
cd centreon-2.3.9

Fazendo o Centreon ler o shell bash

Existem 2 maneiras (escolha uma):

  • Alterando o caminho nos scripts do Centreon:
perl -p -i -e 's/\/bin\/bash/\/usr\/local\/bin\/bash/g' install.sh
perl -p -i -e 's/\/bin\/bash/\/usr\/local\/bin\/bash/g' libinstall/*
  • Criando um link simbolico no /bin
ln -s /usr/local/bin/bash /bin/bash

Alguns preparativos para a instalação:

mkdir -p /tmp/cron.d
fetch -o tmpl/vardistrib/freebsd http://www.luizgustavo.pro.br/downloads/freebsd.txt

Inicie agora a instalação via comando:

bash install.sh -f tmpl/vardistrib/freebsd

Acompanhe o processo de instalação através do video abaixo:

Terminada a instalação, vamos partir para a parte web, para isso, reinicie o MySQL e o Apache:

/usr/local/etc/rc.d/apache2 restart
/usr/local/etc/rc.d/mysql-server restart

Vamos acertar algumas correções de permissão:

chown -R www:www /usr/local/etc/centreon/
cd /usr/local/centreon
rm filesGeneration
mv /var/cache/centreon/filesGeneration .
chown -R www:www filesGeneration
rm filesUpload
mv /var/cache/centreon/filesUpload .
chown -R www:www filesUpload
cd /var/cache/centreon
ln -s /usr/local/centreon/filesGeneration
ln -s /usr/local/centreon/filesUpload

Vamos corrigir também um problema de versão de dependência do PEAR:

/usr/local/bin/pear uninstall HTML_QuickForm_advmultiselect 
/usr/local/bin/pear install -f pear/HTML_QuickForm_advmultiselect-1.2.0

Agora assim, podemos apontar nosso navergador para o endereço do servidor centreon:

http://<ip_ou_url>/centreon

Acompanhe o vídeo para configurar via web:

Falta pouco, ainda precisamos exportar os arquivos de configuração para que nosso NDO-Utils possa funcionar, para isso, acompanhe o vídeo na exportação do mesmo via web:

Agora, vamos iniciar os processos do Centreon:

pw user mod nagios -s /bin/sh
/usr/local/etc/rc.d/centcore start
/usr/local/etc/rc.d/centstorage start

Acertar a parte da CRON para o FreeBSD:

cat /tmp/cron.d/* >> /etc/crontab
/etc/rc.d/cron restart
rm -rf /tmp/cron.d

Reinicie os processos do nagios e ndoutils

/usr/local/etc/rc.d/nagios restart
/usr/local/etc/rc.d/ndo2db restart

Pronto ! agora é só configurar os seus hosts e iniciar o monitoramento.

Se necessitar de suporte ao Centreon, entre em contato com a Mundounix, nós oferecemos suporte e consultoria para solução de monitoramento de redes.

http://www.mundounix.com.br

Comments