Página Inicial > FreeBSD, Software Livre, mundo BSD > Centreon 2.1.4 no FreeBSD

Centreon 2.1.4 no FreeBSD

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 + 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/apache20
make install clean

Configure o Apache para iniciar junto com o FreeBSD:

echo 'apache2_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_pidfile="/usr/local/etc/snmp/snmpd.conf"' >> /etc/rc.conf
/usr/local/etc/rc.d/snmpd start

Instalação do PHP5:

cd /usr/ports/lang/php5
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/apache2/httpd.conf
echo "AddType application/x-httpd-php-source .phps" >> /usr/local/etc/apache2/httpd.conf
cat /usr/local/etc/apache2/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/apache2/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/php5-mysql
make install clean
cd /usr/ports/graphics/php5-gd
make BATCH=yes install clean
cd /usr/ports/www/php5-session
make install clean
cd /usr/ports/archivers/php5-zlib
make install clean
cd /usr/ports/sysutils/php5-posix
make install clean
cd /usr/ports/devel/php5-pcre
make install clean

Marque a opção abaixo:

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

Marque a opção abaixo:

│ │           [X] REGEX  Enable multibyte regex support            │ │
cd /usr/ports/textproc/php5-xml
make install clean
cd /usr/ports/textproc/php5-xmlwriter
make install clean
cd /usr/ports/devel/php5-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

  1. 18, fevereiro, 2010 em 15:35 | #1

    ótimo trabalho Kaká, ficou perfeito, rodou de prima!!!

    abraços

  2. 20, fevereiro, 2010 em 13:11 | #2

    Artigo fodástico! =P

  3. Pedro Gonçalves
    24, fevereiro, 2010 em 16:06 | #3

    Boa tarde, excelente tutorial!!

    No centreon posso criar e definir que serviços e máquinas quero monitorizar? Era mais práctico do que estar a editar .cfg files :\

    Já agora que software usaste para fazer o diagrama da rede no inicio do tutorial?

    Abraço,

  4. lscrlstld
    25, fevereiro, 2010 em 09:32 | #4

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

    Olá permita-me uma correção, ao invéz de snmpd_pidfile o correto é snmpd_conffile=”/usr/local/etc/snmp/snmpd.conf”

    Abs Toledo

  5. K. Wolf
    27, fevereiro, 2010 em 17:48 | #5

    Cara, vc merece o uid0 mesmo.

  6. VH
    17, março, 2010 em 16:42 | #6

    Olá,

    Parabéns pelo tutorial!

    Sou usuario novo no bsd então pode ser que seja besteira, estou com dificuldade no passo:

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

    coloquei o conteudo em um arquivo e tentei executar com ./arquivo e ocorreu o erro:

    mv-bsd# ./arquivo
    ./arquivo: 1: Syntax error: “(” unexpected

    Obrigado!

  7. Danton Dorati
    1, maio, 2010 em 22:47 | #7

    Apenas uma dica para faciliar, ao invés de pegar a saída do cat num arquivo com sed e encaminha-lo para um arquivo temporário e move-lo. Seria mais interessante usar umas dessas duas opções abaixo:

    Fazendo uma cópia do arquivo original
    # sed -i.bak ‘s/DirectoryIndex index.html index.html.var/DirectoryIndex index.html index.html.var index.php/’ /usr/local/etc/apache2/httpd.conf

    Sem fazer backup (ATENÇÃO: SÃO DUAS ASPAS SIMPLES E NÃO DUPLA)
    # sed -i ” ‘s/DirectoryIndex index.html index.html.var/DirectoryIndex index.html index.html.var index.php/’ /usr/local/etc/apache2/httpd.conf

  8. Mauricio
    3, maio, 2010 em 17:04 | #8

    @VH
    Tente fazer isso:

    cd /usr/local/etc/nagios
    bash
    for arq in `ls`; do cp $arq `echo $arq | sed ‘s/-sample//g’`; done
    cd objects
    for arq in `ls`; do cp $arq `echo $arq | sed ‘s/-sample//g’`; done

    Utilizei o comando cp para que você mantenha os originais. Caso não queira mantê-los, troque o cp por mv

  9. Mateus
    23, julho, 2010 em 11:55 | #9

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

    Como configurar hosts windows (desktops e servers)?

  10. Mateus
    23, julho, 2010 em 11:55 | #10

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

    Como configurar hosts windows (desktops e servers)?

  1. 4, março, 2010 em 10:32 | #1