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.


ótimo trabalho Kaká, ficou perfeito, rodou de prima!!!
abraços
Artigo fodástico! =P
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,
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
Cara, vc merece o uid0 mesmo.
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!
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
@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
Pronto ! agora é só configurar os seus hosts e iniciar o monitoramento. Dis ele.
Como configurar hosts windows (desktops e servers)?
Pronto ! agora é só configurar os seus hosts e iniciar o monitoramento. Diz ele.
Como configurar hosts windows (desktops e servers)?