LabExposed

BSD, Linux e software livre em geral.

Centreon 2.1.4 No FreeBSD

| Comments

VEJA UMA NOVA VERSÃO DESTE POST EM:
http://www.luizgustavo.pro.br/blog/2011/12/08/centreon-2-3-3-freebsd9/

Este tutorial vai orientar o usuário a efetuar a instalação do Centreon no FreeBSD. Estaremos utilizando uma instalação em uma Jail do FreeBSD com kernel versão 7.3-PRERELEASE, a versão do kernel não influenciará no tutorial.

English users, you can use the Tutorial in english, click here

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..

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.2.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

Instalação do Perl

cd /usr/ports/lang/perl5.10
make install clean

Marque as opções:

│ │      [X] PERL_64BITINT  Use 64 bit integers (on i386)          │ │
│ │      [X] THREADS        Build threaded perl                    │ │
│ │      [X] USE_PERL       Rewrite links in /usr/bin              │ │

Instalando BASH:

Basicamente iremos usar o BASH somente para executar o script de instalação

cd /usr/ports/shells/bash
make install clean

Instalação do SUDO para execução de tarefas para o usuário do apache:

cd /usr/ports/security/sudo
make batch=yes install clean

Instalação do servidor Apache:

cd /usr/ports/www/apache22
make install clean

Configure o Apache para iniciar junto com o FreeBSD:

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

Instalação do Net-SNMP:

cd /usr/ports/net-mgmt/net-snmp
make install clean

Marque as opções:

│ │    [X] IPV6           Build with IPv6 support                  │ │
│ │    [X] MFD_REWRITES   Build with 64-bit Interface Counters     │ │
│ │    [X] PERL           Install additional perl modules          │ │
│ │    [X] PERL_EMBEDDED  Build embedded perl                      │ │
│ │    [X] DUMMY          Enable dummy values as placeholders      │ │

Opções para inicialização do serviço:

mkdir /usr/local/etc/snmp
cp /usr/local/share/snmp/snmpd.conf.example /usr/local/etc/snmp/snmpd.conf
perl -p -i -e 's/com2sec local     localhost       COMMUNITY/com2sec local     localhost       public/g' /usr/local/etc/snmp/snmpd.conf
echo 'snmpd_enable="YES"' >> /etc/rc.conf
echo 'snmpd_conffile="/usr/local/etc/snmp/snmpd.conf"' >> /etc/rc.conf
/usr/local/etc/rc.d/snmpd start

Instalação do PHP5:

cd /usr/ports/lang/php52
make install clean

Marque as opções:

│ │[X] CLI        Build CLI version                                │ │
│ │[X] APACHE     Build Apache module                              │ │
│ │[X] IPV6       Enable ipv6 support                              │ │

Configure o PHP:

cd /usr/local/etc
cp php.ini-recommended php.ini

Configure o Apache para usar o PHP

echo "AddType application/x-httpd-php .php" >> /usr/local/etc/apache22/httpd.conf
echo "AddType application/x-httpd-php-source .phps" >> /usr/local/etc/apache22/httpd.conf
cat /usr/local/etc/apache22/httpd.conf | sed 's/DirectoryIndex index.html index.html.var/DirectoryIndex index.html index.html.var index.php/' > /tmp/httpd.conf && mv /tmp/httpd.conf /usr/local/etc/apache22/httpd.conf

Instalação do servidor de banco de dados MySQL:

cd /usr/ports/databases/mysql51-server
make install clean

Configure o MySQL para ser iniciado junto com o FreeBSD:

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

Instalando as dependências do PHP:

cd /usr/ports/databases/php52-mysql
make install clean
cd /usr/ports/graphics/php52-gd
make BATCH=yes install clean
cd /usr/ports/www/php52-session
make install clean
cd /usr/ports/archivers/php52-zlib
make install clean
cd /usr/ports/sysutils/php52-posix
make install clean
cd /usr/ports/devel/php52-pcre
make install clean

Marque a opção abaixo:

│ │        [X] BUNDLED_PCRE  Select if you use apache 2.0.x        │ │
cd /usr/ports/security/php52-filter
make install clean
cd /usr/ports/converters/php52-mbstring
make install clean

Marque a opção abaixo:

│ │           [X] REGEX  Enable multibyte regex support            │ │
cd /usr/ports/textproc/php52-xml
make install clean
cd /usr/ports/textproc/php52-xmlwriter
make install clean
cd /usr/ports/devel/php52-gettext
make install clean

Instalando o PEAR e suas dependências:

cd /usr/ports/devel/pear
make install clean
cd /usr/ports/databases/pear-DB_DataObject
make BATCH=yes install clean
cd /usr/ports/databases/pear-DB_DataObject_FormBuilder
make BATCH=yes install clean
cd /usr/ports/databases/pear-MDB2
make install clean
cd /usr/ports/textproc/pear-Numbers_Roman
make install clean
cd /usr/ports/textproc/pear-Numbers_Words
make install clean
cd /usr/ports/devel/pear-HTML_QuickForm2
make install clean
cd /usr/ports/devel/pear-HTML_QuickForm_advmultiselect
make install clean
/usr/local/bin/pear uninstall HTML_QuickForm_advmultiselect
/usr/local/bin/pear install -f pear/HTML_QuickForm_advmultiselect-1.2.0
cd /usr/ports/net/pear-Net_Traceroute
make install clean
cd /usr/ports/net/pear-Net_Ping
make install clean
cd /usr/ports/devel/pear-Validate
make install clean
cd /usr/ports/net/pear-XML_RPC
make install clean
cd /usr/ports/mail/pear-Mail
make BATCH=yes install clean
cd /usr/ports/mail/pear-Mail_Mime
make install clean
cd /usr/ports/www/pear-HTTP
make install clean
cd /usr/ports/net/pear-SOAP
make BATCH="" install clean
cd /usr/ports/devel/pear-HTML_Table
make install clean
cd /usr/ports/security/pear-Auth_SASL
make BATCH=yes install clean
cd /usr/ports/graphics/pear-Image_Canvas
make install clean
cd /usr/ports/graphics/pear-Image_Graph
make BATCH=yes install clean
cd /usr/ports/graphics/pear-Image_GraphViz
make BATCH=yes install clean
cd /usr/ports/net/pear-Net_SMTP
make BATCH=yes install clean

Instalando alguns pacotes em PERL necessários para o Centreon:

cd /usr/ports/devel/p5-Config-IniFiles
make install clean
cd /usr/ports/graphics/p5-GD
make install clean
cd /usr/ports/databases/p5-DBD-mysql
make install clean
cd /usr/ports/security/p5-Crypt-DES
make install clean
cd /usr/ports/security/p5-Digest-HMAC
make install clean
cd /usr/ports/net/p5-IO-INET6
make install clean
cd /usr/ports/net-mgmt/p5-Net-SNMP
make install clean

Instalação da principal ferramenta de criação de gráficos, RRDTOOL:

cd /usr/ports/databases/rrdtool
make BATCH=yes install clean

Instalação do Nagios 3:

cd /usr/ports/net-mgmt/nagios
make install clean

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)         │ │

Renomeie os arquivos de configuração do Nagios (executando o shell csh)

cd /usr/local/etc/nagios
foreach arquivo ( "`ls -1`" )
mv $arquivo `echo $arquivo | sed 's/-sample//g'`
end
cd objects
foreach arquivo ( "`ls -1`" )
mv $arquivo `echo $arquivo | sed 's/-sample//g'`
end

Pacote de figuras do Nagios:

cd /usr/ports/misc/nagios-base-logos
make install clean

Instalação do NDO-utils:

cd /usr/ports/net-mgmt/ndoutils/
make install clean

Marque a opção:

│ │                 [X] MYSQL  MySQL Backend                       │ │

Agora é a hora de iniciar-mos a instalação do Centreon, para isso, precisamos primeiramente baixar o pacote de instalação do Centreon e descompacta-lo em um diretorio para trabalhar-mos:

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

Vamos fazer alguns acertos para funcionar no FreeBSD:

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/*
mkdir /usr/local/etc/cron.d
cd /tmp/centreon-2.1.4/tmpl/vardistrib
fetch -o freebsd http://www.luizgustavo.pro.br/blog/wp-content/uploads/2010/02/freebsd.txt

Vamos agora iniciar a instalação do Centreon:

cd ../..
./install.sh -f tmpl/vardistrib/freebsd

Acompanhe conforme o vídeo:

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

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

Vamos acertar uma permissão não realizada:

chown -R www:www /usr/local/etc/centreon/

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:

Feito isso, podemos inicializar o NDO:

echo 'ndo2db_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/ndo2db start

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

Vamos acertar um path dentro do SUDO:

perl -p -i -e 's/\/etc\/init\.d\/nagios/\/usr\/local\/etc\/rc\.d\/nagios/g' /usr/local/etc/sudoers

Acertar a parte da CRON para o FreeBSD:

cat /usr/local/etc/cron.d/* >> /etc/crontab
/etc/rc.d/cron restart

E agora o Nagios:

echo 'nagios_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/nagios start

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