Nesta documentação apresentaremos de forma simples e clara como disponibilizar um servidor de monitoração com o Nagios e Centreon.
Para esse projeto foi instalado o sistema operacional FreeBSD 8.1 e configurados o AMP, que consiste na base de dados MySQL, o servidor web Apache e o interpretadores para linguagens de script PHP.
FREEBSD
O FreeBSD é um sistema operacional livre do tipo Unix descendente do BSD desenvolvido pela Universidade de Berkeley. Está disponível para as plataformas Intel x86, DEC Alpha, Sparc, PowerPC e PC98 assim como para as arquiteturas baseadas em processadores de 64bits IA-64 e AMD64. Considerado como robusto e estável, geralmente é utilizado em servidores, mas também pode ser utilizado como estação de trabalho.
www.freebsd.org/
MySQL
O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan Larsson e Michael "Monty" Widenius.
www.mysql.com/
APACHE
O servidor Apache é o mais bem sucedido servidor web livre. Foi criado em 1995 por Rob McCool, então funcionário do NCSA (National Center for Supercomputing Applications).
www.apache.org/
PHP
PHP (um acrónimo recursivo para "PHP: Hypertext Preprocessor") é uma linguagem de programação de computadores interpretada, livre e muito utilizada para gerar conteúdo dinâmico na World Wide Web, tendo como principais caracteriticas a velocidade e robustez, ser estruturado e orientado a objetos e sua portabilidade. A linguagem surgiu por volta de 1994, como um pacote de programas CGI criados por Rasmus Lerdorf.
www.php.net/
NAGIOS
Nagios é uma popular aplicação de monitoração de rede de código aberto distribuída sob a licença GPL. Ele pode monitorar tanto hosts quanto serviços, alertando-o quando ocorrerem problemas e também quando os problemas forem resolvidos. O Nagios foi originalmente criado sob o nome de Netsaint, foi escrito e é atualmente mantido por Ethan Galstad, junto com um exército de desenvolvedores que ativamente mantém plugins oficiais e não-oficiais..
www.nagios.org
CENTREON
Centreon é uma 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..
www.centreon.com
1- Instalando o MySQL
Para instalar o MySQL acesse o diretório:
# cd /usr/ports/databases/mysql51-server/
Execute o comando de compilação e instalação do MySQL 5.1.52:
# make BUILD_STATIC=yes BUILD_OPTIMIZED=yes WITH_OPENSSL=yes install clean
Depois de instado o MySQL, vamos habilitar para o que ele inicialize quando o FreeBSD for reiniciado. Editar o arquivo “rc.conf”:
# ee /etc/rc.conf
Adicionando ao final do arquivo as linhas abaixo, depois salve o arquivo e saia:
# MySQL mysql_enable="YES"
Agora vamos iniciar o MySQL com o seguinte comando:
# /usr/local/etc/rc.d/mysql-server start
# rehash
Agora vamos realizar as alterações necessárias no MySQL. Primeiro alterar senha de root:
# mysqladmin -uroot password “senha” (sem aspas)
O próximo passo é criar um arquivo de configuração para o MySQL utilizando os samples existentes
# cp /usr/local/share/mysql/my-large.cnf /var/db/mysql/my.cnf
Depois acesse o arquivo my.cnf e descomente a linha skip-networking:
# ee /var/db/mysql/my.cnf
Agora reiniciar o MySQL:
# /usr/local/etc/rc.d/mysql-server restart
2- Instalando o Apache
Para instalar o Apache acesse o diretório:
# cd /usr/ports/www/apache22
Configure as opções de compilação do Apache 2.2 com o comando:
# make config
Marque as opções apropriadas para sua necessidade no Apache 2.2.17_1:
[X] THREADS Enable threads support in APR [X] MYSQL Enable MySQL support for apr-dbd [ ] PGSQL Enable PostgreSQL support for apr-dbd [ ] SQLITE Enable SQLite support for apr-dbd [ ] IPV6 Enable IPv6 support [X] BDB Enable BerkeleyDB dbm [X] AUTH_BASIC Enable mod_auth_basic [X] AUTH_DIGEST Enable mod_auth_digest [X] AUTHN_FILE Enable mod_authn_file [ ] AUTHN_DBD Enable mod_authn_dbd [X] AUTHN_DBM Enable mod_authn_dbm [X] AUTHN_ANON Enable mod_authn_anon [X] AUTHN_DEFAULT Enable mod_authn_default [X] AUTHN_ALIAS Enable mod_authn_alias [X] AUTHZ_HOST Enable mod_authz_host [X] AUTHZ_GROUPFILE Enable mod_authz_groupfile [X] AUTHZ_USER Enable mod_authz_user [X] AUTHZ_DBM Enable mod_authz_dbm [X] AUTHZ_OWNER Enable mod_authz_owner [X] AUTHZ_DEFAULT Enable mod_authz_default [X] CACHE Enable mod_cache [X] DISK_CACHE Enable mod_disk_cache [X] FILE_CACHE Enable mod_file_cache [ ] MEM_CACHE Enable mod_mem_cache [X] DAV Enable mod_dav [X] DAV_FS Enable mod_dav_fs [ ] BUCKETEER Enable mod_bucketeer [ ] CASE_FILTER Enable mod_case_filter [ ] CASE_FILTER_IN Enable mod_case_filter_in [ ] EXT_FILTER Enable mod_ext_filter [ ] LOG_FORENSIC Enable mod_log_forensic [ ] OPTIONAL_HOOK_EXPORT Enable mod_optional_hook_export [ ] OPTIONAL_HOOK_IMPORT Enable mod_optional_hook_import [ ] OPTIONAL_FN_IMPORT Enable mod_optional_fn_import [ ] OPTIONAL_FN_EXPORT Enable mod_optional_fn_export [ ] LDAP Enable mod_ldap [ ] AUTHNZ_LDAP Enable mod_authnz_ldap [X] ACTIONS Enable mod_actions [X] ALIAS Enable mod_alias [X] ASIS Enable mod_asis [X] AUTOINDEX Enable mod_autoindex [X] CERN_META Enable mod_cern_meta [X] CGI Enable mod_cgi [X] CHARSET_LITE Enable mod_charset_lite [ ] DBD Enable mod_dbd [X] DEFLATE Enable mod_deflate [X] DIR Enable mod_dir [X] DUMPIO Enable mod_dumpio [X] ENV Enable mod_env [X] EXPIRES Enable mod_expires [X] HEADERS Enable mod_headers [X] IMAGEMAP Enable mod_imagemap [X] INCLUDE Enable mod_include [X] INFO Enable mod_info [X] LOG_CONFIG Enable mod_log_config [X] LOGIO Enable mod_logio [X] MIME Enable mod_mime [X] MIME_MAGIC Enable mod_mime_magic [X] NEGOTIATION Enable mod_negotiation [X] REWRITE Enable mod_rewrite [X] SETENVIF Enable mod_setenvif [X] SPELING Enable mod_speling [X] STATUS Enable mod_status [X] UNIQUE_ID Enable mod_unique_id [X] USERDIR Enable mod_userdir [X] USERTRACK Enable mod_usertrack [X] VHOST_ALIAS Enable mod_vhost_alias [X] FILTER Enable mod_filter [X] VERSION Enable mod_version [ ] PROXY Enable mod_proxy [ ] PROXY_CONNECT Enable mod_proxy_connect [X] PATCH_PROXY_CONNECT Patch proxy_connect SSL support [ ] PROXY_FTP Enable mod_proxy_ftp [ ] PROXY_HTTP Enable mod_proxy_http [ ] PROXY_AJP Enable mod_proxy_ajp [ ] PROXY_BALANCER Enable mod_proxy_balancer [ ] PROXY_SCGI Enable mod_proxy_scgi [X] SSL Enable mod_ssl [ ] SUEXEC Enable mod_suexec [ ] SUEXEC_RSRCLIMIT SuEXEC rlimits based on login class [X] REQTIMEOUT Enable mod_reqtimeout [ ] CGID Enable mod_cgid
Execute o comando de compilação e instalação do Apache:
# make install clean
Marque as opções apropriadas para sua necessidade no perl 5.10.1_2:
[ ] DEBUGGING Build with debugging support [ ] GDBM Build GDBM_File extension [X] PERL_MALLOC Use Perl malloc [X] PERL_64BITINT Use 64 bit integers (on i386) [X] THREADS Build threaded perl [ ] MULTIPLICITY Use multiplicity [ ] SUIDPERL Build set-user-id suidperl binary [ ] SITECUSTOMIZE Run-time customization of @INC [X] USE_PERL Rewrite links in /usr/bin
Marque as opções apropriadas para sua necessidade no m4 1.4.15,1:
[ ] LIBSIGSEGV Use libsigsegv for better diagnostics
Marque as opções apropriadas para sua necessidade no libiconv 1.13.1_1:
[X] EXTRA_ENCODINGS Include extra character sets [ ] EXTRA_PATCHES Apply patches to fix CP932, add EUCJP-MS
Marque as opções apropriadas para sua necessidade no apr-ipv6-devrandom-gdbm-db42 1.4.2.1.3.10:
[X] THREADS Enable Threads in apr [ ] IPV6 Enable IPV6 Support in apr [X] BDB Enable Berkley BDB support in apr-util [X] GDBM Enable GNU dbm support in apr-util [ ] LDAP Enable LDAP support in apr- [X] MYSQL Enable MySQL suport in apr- [ ] NDBM Enable NDBM support in apr- [ ] PGSQL Enable Postgresql suport in apr-util [ ] SQLITE Enable SQLite3 support in apr-util [X] DEVRANDOM Use /dev/random or compatible in apr
Marque as opções apropriadas para sua necessidade no python26 2.6.6:
[X] THREADS Enable thread support [ ] HUGE_STACK_SIZE Use a larger thread stack [ ] SEM Use POSIX semaphores (experimental) [ ] PTH Use GNU Pth for threading/multiprocessing [X] UCS4 Use UCS4 for unicode support [X] PYMALLOC Use python's internal malloc [ ] IPV6 Enable IPv6 support [ ] FPECTL Enable floating point exception handling
Depois de realizado a instalação, vamos habilitar para o Apache inicializar quando o FreeBSD for reiniciado. Editar o arquivo “rc.conf”.
# ee /etc/rc.conf
Adicionando ao final do arquivo as linhas abaixo, depois salve o arquivo e saia.
# Apache apache22_enable="YES" accf_data_load="YES" accf_http_load="YES"
Agora adicione a linha abaixo no “/etc/hosts”:
# ee /etc/hosts 127.0.0.1 "hostname"
Depois edite o arquivo “httpd.conf”:
# ee /usr/local/etc/apache22/httpd.conf Servername "hostname":80
Agora vamos iniciar o Apache com o seguinte comando.
# /usr/local/etc/rc.d/apache22 start # rehash
Vamos agora testar o Apache. Use um browser para conectar a:
# http://"ip_do_servidor"
Se tudo estiver certo será exibido “It works!”.
3- Instalando o PHP
Para instalar o PHP acesse o diretório:
# cd /usr/ports/lang/php52
Configure as opções de compilação do PHP 52 com o comando:
# make config
Marque as opções apropriadas para sua necessidade no php52 5.2.14_1:
[X] CLI Build CLI version [X] CGI Build CGI version [X] APACHE Build Apache module [ ] DEBUG Enable debug [X] SUHOSIN Enable Suhosin protection system (not for jails) [ ] MULTIBYTE Enable zend multibyte support [ ] IPV6 Enable ipv6 support [ ] MAILHEAD Enable mail header patch [ ] REDIRECT Enable force-cgi-redirect support (CGI only) [ ] DISCARD Enable discard-path support (CGI only) [X] FASTCGI Enable fastcgi support (CGI only) [ ] FPM Enable fastcgi process manager (CGI only) [X] PATHINFO Enable path-info-check support (CGI only)
Acesse o diretório das extensões do PHP:
# cd ../php52-extensions/
Configure as opções de compilação do php52-extensions com o comando:
# make config
Marque as opções apropriadas para sua necessidade no php52-extensions 1.4:
[ ] BCMATH bc style precision math functions [X] BZ2 bzip2 library support [ ] CALENDAR calendar conversion support [X] CTYPE ctype functions [ ] CURL CURL support [ ] DBA dba support [ ] DBASE dBase library support [X] DOM DOM support [ ] EXIF EXIF support [ ] FILEINFO fileinfo support [X] FILTER input filter support [ ] FRIBIDI FriBidi support [ ] FTP FTP support [X] GD GD library support [X] GETTEXT gettext library support [ ] GMP GNU MP support [X] HASH HASH Message Digest Framework [X] ICONV iconv support [ ] IMAP IMAP support [ ] INTERBASE Interbase 6 database support (Firebird) [X] JSON JavaScript Object Serialization support [ ] LDAP OpenLDAP support [X] MBSTRING multibyte string support [X] MCRYPT Encryption support [X] MHASH Crypto-hashing support [ ] MING ming shockwave flash support [ ] MSSQL MS-SQL database support [X] MYSQL MySQL database support [ ] MYSQLI MySQLi database support [ ] NCURSES ncurses support (CLI only) [ ] ODBC unixODBC support [X] OPENSSL OpenSSL support [ ] PCNTL pcntl support (CLI only) [X] PCRE Perl Compatible Regular Expression support [X] PDF PDFlib support (implies GD) [X] PDO PHP Data Objects Interface (PDO) [ ] PDO_SQLITE PDO sqlite driver [X] PDO_MYSQL PDO mysql driver [ ] PGSQL PostgreSQL database support [X] POSIX POSIX-like functions [ ] PSPELL pspell support [ ] READLINE readline support (CLI only) [ ] RECODE recode support [X] SESSION session support [ ] SHMOP shmop support [X] SIMPLEXML simplexml support [ ] SNMP SNMP support [ ] SOAP SOAP support [ ] SOCKETS sockets support [X] SPL Standard PHP Library [ ] SQLITE sqlite support [ ] SYBASE_CT Sybase database support [ ] SYSVMSG System V message support [ ] SYSVSEM System V semaphore support [ ] SYSVSHM System V shared memory support [ ] TIDY TIDY support [X] TOKENIZER tokenizer support [ ] WDDX WDDX support (implies XML) [X] XML XML support [X] XMLREADER XMLReader support [ ] XMLRPC XMLRPC-EPI support [X] XMLWRITER XMLWriter support [ ] XSL XSL support (Implies DOM) [ ] YAZ YAZ support (ANSI/NISO Z39.50) [X] ZIP ZIP support [X] ZLIB ZLIB support
Execute o comando de compilação e instalação do PHP e PHP Extensions:
# make install clean
Marque as opções apropriadas para sua necessidade no php52-pcre 5.2.14_1:
[X] BUNDLED_PCRE Select if you use apache 2.0.x
Marque as opções apropriadas para sua necessidade no php52-gd 5.2.14_1:
[X] T1LIB Include T1lib support [X] TRUETYPE Enable TrueType string function [ ] JIS Enable JIS-mapped Japanese font support
Marque as opções apropriadas para sua necessidade no libxslt 1.1.26_2:
[ ] MEM_DEBUG Enable memory debugging [X] CRYPTO Enable crypto support for exslt
Marque as opções apropriadas para sua necessidade no png 1.4.3:
[ ] APNG Animated PNG support
Marque as opções apropriadas para sua necessidade no php52-mbstring 5.2.14_1:
[X] REGEX Enable multibyte regex support
As configurações do PHP ficam guardados em “/usr/local/etc/php.ini”. É necessário criar o arquivo utilizando um dos samples existentes executando o comando:
# cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini
Agora vamos configurar o PHP no Apache. Edite o arquivo “/usr/local/etc/apache22/httpd.conf” e adicione as linhas abaixo:
# ee /usr/local/etc/apache22/httpd.conf
# Dentro da sessão "ifmodule mime_module" AddType application/x-httpd-php .php .php3 .phtml AddType application/x-httpd-php-source .phps
# Dentro da sessão "ifmodule dir_module" DirectoryIndex index.html index.htm index.php
Agora vamos alterar o arquivo “/usr/local/etc/php.ini”. Altere as opções conforme abaixo:
# ee /usr/local/etc/php.ini short_open_tag = On
Vamos agora testar o PHP. Crie o arquivo “index.php” e adicione o seguinte conteúdo nele:
# touch /usr/local/www/apache22/data/index.php # echo "<?php phpinfo(); ?>" > /usr/local/www/apache22/data/index.php
Feito isso vamos reiniciar o Apache com o seguinte comando:
# /usr/local/etc/rc.d/apache22 restart # rehash
Para acessar a pagina de teste use um browser para conectar a:
# http://"ip_do_servidor"/index.php
Se tudo estiver certo será exibida as configurações do Apache e PHP.
4- Instalando alguns pacotes em PERL
Para instalar os pacotes do Perl acesse os diretórios e execute os comandos de instalação e compilação:
# cd /usr/ports/devel/p5-Config-IniFiles # make install clean # cd /usr/ports/graphics/p5-GD # make install clean
Marque as opções apropriadas para sua necessidade no gd 2.0.35_7,1:
[ ] X11 X11 support [ ] XPM XPM color bitmap loading support (requires X11) [X] FONTCONFIG fontconfig library support (requires X11) [ ] ICONV iconv support
# 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-Socket-INET6 # make install clean # cd /usr/ports/net-mgmt/p5-Net-SNMP # make install clean
5- Instalando o Bash
Para instalar o Bash acesse o diretório:
# cd /usr/ports/shells/bash
Execute o comando de compilação e instalação do Bash 4.1:
# make install clean
6- Instalando o SUDO
Para instalar o Sudo acesse o diretório:
# cd /usr/ports/security/sudo
Configure as opções de compilação do Sudo 1.7 com o comando:
# make config
Marque as opções apropriadas para sua necessidade no Sudo 1.7.4.4_1:
[ ] LDAP With LDAP support [ ] INSULTS With all insults [ ] DISABLE_ROOT_SUDO Disable root sudo [ ] DISABLE_AUTH Disable authentication [ ] NOARGS_SHELL Enable no arguments shell
Execute o comando de compilação e instalação do Sudo:
# make batch=yes install clean
7- Instalando o Net-SNMP
Para instalar o Net-SNMP acesse o diretório:
# cd /usr/ports/net-mgmt/net-snmp
Configure as opções de compilação do Net-SNMP 5 com o comando:
# make config
Marque as opções apropriadas para sua necessidade no net-snmp 5.5_4:
[ ] 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 [ ] TKMIB Install graphical MIB browser [ ] DMALLOC Enable dmalloc debug memory allocator
Execute o comando de compilação e instalação do Net-SNMP:
# make install clean
Depois de realizado a instalação, vamos habilitar para o Net-SNMP inicializar quando o FreeBSD for reiniciado. Editar o arquivo “rc.conf”.
# ee /etc/rc.conf
Adicionando ao final do arquivo as linhas abaixo, depois salve o arquivo e saia.
# Net-SNMP snmpd_enable="YES" snmpd_conffile="/usr/local/etc/snmp/snmpd.conf"
Agora vamos configurar o Net-SNMP:
# 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
Feito isso vamos iniciar o Net-SNMP com o seguinte comando:
# /usr/local/etc/rc.d/snmpd start # rehash
8- Instalando o Pear
Para instalar o Pear acesse o diretório:
# cd /usr/ports/devel/pear
Execute o comando de compilação e instalação do Pear 1.9.1:
# make install clean
9- Instalando alguns pacotes do Pear
Para instalar os pacotes do Pear acesse os diretórios e execute os comandos de instalação e compilação::
# 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
10- Instalando o RRDTOOL
Para instalar o RRDTOOL acesse o diretório:
# cd /usr/ports/databases/rrdtool
Execute o comando de compilação e instalação do RRDTOOL 1.4.4:
# make BATCH=yes install clean
11- Instalando o Nagios
Para instalar o Nagios acesse o diretório:
# cd /usr/ports/net-mgmt/nagios/
Configure as opções de compilação do Nagios 3.2.3 com o comando:
# make config
Marque as opções apropriadas para sua necessidade no Nagios 3.2.2_1:
[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 [ ] UNHANDLED_HACK Display passive checks in unhandled queries
Execute o comando de compilação e instalação do Nagios:
# make install clean
Marque as opções apropriadas para sua necessidade no nagios-plugins 1.4.15_1,1:
[ ] QSTAT Game server query support (check_game) [X] FPING Support for non-flooding fast ping (check_fping) [X] NETSNMP SNMP support (check_snmp) [ ] RADIUS Radius support (check_radius) [X] MYSQL MySQL support (check_mysql) [ ] PGSQL PostgreSQL support (check_pgsql) [ ] LDAP OpenLDAP support (check_ldap) [ ] IPV6 IPv6 support [ ] JAIL Compilation within jail(8) (see Makefile) [ ] DMALLOC Enable dmalloc debug memory allocator
Marque as opções apropriadas:
# pw: unknown group `nagios' # You need a "nagios" group. # Would you like me to create it [YES]? Yes # Done. # pw: no such user `nagios' #You need a "nagios" user. # Would you like me to create it [YES]? Yes
Depois de realizado a instalação, vamos habilitar para o Nagios inicializar quando o FreeBSD for reiniciado. Editar o arquivo “rc.conf”.
# ee /etc/rc.conf
Adicionando ao final do arquivo as linhas abaixo, depois salve o arquivo e saia.
# Nagios nagios_enable="YES"
Agora vamos configurar o “http.conf” do Apache:
# ee /usr/local/etc/apache22/httpd.conf
ScriptAlias /nagios/cgi-bin /usr/local/www/nagios/cgi-bin <directory "/usr/local/www/nagios/cgi-bin"> AllowOverride AuthConfig Options ExecCGI Order allow,deny Allow from all </Directory> Alias /nagios /usr/local/www/nagios <directory "/usr/local/www/nagios"> Options None AllowOverride AuthConfig Order allow,deny Allow from all </Directory>
Feito isso vamos reiniciar o Apache com o seguinte comando:
# /usr/local/etc/rc.d/apache22 restart
Vamos agora testar o Nagios. Use um browser para conectar a:
# http://"ip_do_servidor"/nagios
Se tudo estiver certo será mostrado à tela inicial do Nagios.
12- Configurando o Nagios
Primeiramente vamos a pasta que contem os arquivos de configuração do Nagios:
# cd /usr/local/etc/nagios/
Feito isso vamos criar um backup dos arquivos samples de configuração:
# mkdir samples # mv *.cfg-sample samples
Agora vamos criar os arquivos de configuração:
# cp samples/cgi.cfg-sample cgi.cfg # cp samples/nagios.cfg-sample nagios.cfg # cp samples/resource.cfg-sample resource.cfg
Depois faça o mesmo para os objetos:
# cd objects # mkdir samples # mv *.cfg-sample samples
Agora vamos criar os arquivos de configuração:
# cp samples/commands.cfg-sample commands.cfg # cp samples/contacts.cfg-sample contacts.cfg # cp samples/localhost.cfg-sample localhost.cfg # cp samples/printer.cfg-sample printer.cfg # cp samples/switch.cfg-sample switch.cfg # cp samples/templates.cfg-sample templates.cfg # cp samples/timeperiods.cfg-sample timeperiods.cfg
Feito isso vamos iniciar o Nagios com o seguinte comando:
# /usr/local/etc/rc.d/nagios start
13- Instalando o pacote de figuras do Nagios
Para instalar as figuras do Nagios acesse o diretório:
# cd /usr/ports/misc/nagios-base-logos
Execute o comando de compilação e instalação do nagios-base-logos-1.0:
# make install clean
14- Instalando o NDO-Utils
Para instalar as figuras do NDO-Utils acesse o diretório:
# cd /usr/ports/net-mgmt/ndoutils/
Configure as opções de compilação do NDO-Utils com o comando:
# make config
Marque as opções apropriadas para sua necessidade no ndoutils 1.4b8_3:
[X] MYSQL MySQL Backend [ ] PGSQL Postgresql Backend
Execute o comando de compilação e instalação do NDO-Utils:
# make install clean
15- Instalando o Centreon
Para instalar o Centreon primeiramente vamos baixar o pacote de instalação e descompactá-lo em um diretório:
# cd /usr/ports/distfiles # fetch http://download.centreon.com/centreon/centreon-2.1.10.tar.gz # tar zxf centreon-2.1.10.tar.gz # cd centreon-2.1.10
Vamos realizar algums acertos no sistema:
# 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 /usr/ports/distfiles/centreon-2.1.10/tmpl/vardistrib
Crei o arquivo abaixo com o seguinte conteúdo
# ee freebsd
# -*-Shell-script-*- # # This file contain reconfigured variables used in install scripts # By default, when you use ./install.sh -f freebsd, you'll accept GPL licence. ##################################################################### ## Begin: Install modules ##################################################################### ## What do you want to install ? ## 0 = no, 1 = yes ## CentWeb: Web front Centreon for Nagios PROCESS_CENTREON_WWW=1 ## CentStorage: Log and charts archiving. PROCESS_CENTSTORAGE=1 ## CentCore: Distributed Monitoring engine. PROCESS_CENTCORE=1 ## CentPlugins: Centreon Plugins for nagios PROCESS_CENTREON_PLUGINS=1 ## CentTraps: Centreon Snmp traps process for nagios PROCESS_CENTREON_SNMP_TRAPS=1 ##################################################################### ## End: Install modules ##################################################################### ##################################################################### ## Begin: Default variables ##################################################################### ## Your default variables ## $BASE_DIR is the centreon source directory LOG_DIR="$BASE_DIR/log" LOG_FILE="$LOG_DIR/install_centreon.log" ## Don't change values above unless you perfectly understand ## what you are doing. ## Centreon temporary directory to work TMP_DIR="/tmp/centreon-setup" ## default snmp config directory SNMP_ETC="/usr/local/etc/snmp/" ## a list of pear modules require by Centreon PEAR_MODULES_LIST="pear.lst" ##################################################################### ## End: Default variables ##################################################################### ##################################################################### ## Begin: Centreon preferences ##################################################################### ## Above variables are necessary to run a silent install ## Where you want to install Centreon (Centreon root directory) INSTALL_DIR_CENTREON="/usr/local/centreon" ## Centreon log files directory CENTREON_LOG="/var/log/centreon" ## Centreon config files CENTREON_ETC="/usr/local/etc/centreon" ## Centreon run dir (all .pid, .run, .lock) CENTREON_RUNDIR="/var/run/centreon" ## Centreon generation config directory ## filesGeneration and filesUpload CENTREON_GENDIR="/var/cache/centreon" ## CentStorage RRDs directory (where .rrd files go) CENTSTORAGE_RRD="/var/lib/centreon" ## path to centstorage binary CENTSTORAGE_BINDIR="/usr/local/centreon/bin" ## path to centcore binary CENTCORE_BINDIR="/usr/local/centreon/bin" ## libraries temporary files directory CENTREON_VARLIB="/var/lib/centreon" ## Some plugins require temporary datas to process output. ## These temp datas are store in the CENTPLUGINS_TMP path. CENTPLUGINS_TMP="/var/lib/centreon/centplugins" ## path to centpluginsTraps binaries CENTPLUGINSTRAPS_BINDIR="/usr/local/centreon/bin" ## path for snmptt installation SNMPTT_BINDIR="/usr/local/centreon/bin/" ## force install init script (install in init.d) ## Set to "1" to enable CENTCORE_INSTALL_INIT=1 CENTSTORAGE_INSTALL_INIT=1 ## force install run level for init script (add all link on rcX.d) ## Set to "1" to enable CENTCORE_INSTALL_RUNLVL=1 CENTSTORAGE_INSTALL_RUNLVL=1 ##################################################################### ## End: Centreon preferences ##################################################################### ##################################################################### ## Begin: Nagios preferences ##################################################################### ## Install directory INSTALL_DIR_NAGIOS="/usr/local" ## Configuration directory NAGIOS_ETC="/usr/local/etc/nagios/" ## Plugins directory NAGIOS_PLUGIN="/usr/local/libexec/nagios" ## Images (logos) directory NAGIOS_IMG="/usr/local/www/nagios/images/logos" ## The nagios binary (optional) #NAGIOS_BINARY="/usr/local/bin/nagios" ## The nagiostats binary (optional) #NAGIOSTATS_BINARY="" ## Logging directory NAGIOS_VAR="/var/spool/nagios/" ## Nagios user (optional) NAGIOS_USER="nagios" ## Nagios group (optional) NAGIOS_GROUP="nagios" ##################################################################### ## End: Nagios preferences ##################################################################### ##################################################################### ## Begin: Apache preferences ##################################################################### ## Apache configuration directory (optional) #DIR_APACHE="/usr/local/etc/apache20" ## Apache local specific configuration directory (optional) #DIR_APACHE_CONF="/etc/apache/conf.d" ## Apache configuration file. Only file name. (optional) #APACHE_CONF="apache.conf" ## Apache user (optional) WEB_USER="www" ## Apache group (optional) WEB_GROUP="www" ## Force apache reload (optional): set APACHE_RELOAD to 1 #APACHE_RELOAD=0 ##################################################################### ## End: Apache preferences ##################################################################### ##################################################################### ## Begin: Other binary ##################################################################### ## RRDTOOL (optional) #BIN_RRDTOOL="/usr/bin/rrdtool" ## Mail (optional) #BIN_MAIL="/bin/mail" ## SSH (optional) #BIN_SSH="/usr/bin/ssh" ## SCP (optional) #BIN_SCP="/usr/bin/scp" ## PHP (optional) #PHP_BIN="/usr/bin/php" #PHP_BIN="/usr/bin/php" ## GREP (optional) #GREP="" ## CAT (optional) #CAT="" ## SED (optional) GSED="/usr/local/bin/gsed" ## CHMOD (optional) #CHMOD="" ## CHOWN (optional) #CHOWN ##################################################################### ## End: Other binary ##################################################################### ##################################################################### ## Begin: Others ##################################################################### ## Perl path for RRDs.pm file RRD_PERL="/usr/local/lib/perl5/site_perl/5.10.1/mach/" ## Path to sudoers file (optional) SUDO_FILE="/usr/local/etc/sudoers" ## Apache user (optional) WEB_USER="www" ## Apache group (optional) WEB_GROUP="www" ## init script directory (optional) INIT_D="/usr/local/etc/rc.d" ## cron config script directory (optional) CRON_D="/usr/local/etc/cron.d" ## Path for PEAR.php file PEAR_PATH="/usr/local/share/pear/" ##################################################################### ## End: Others #####################################################################
Agora vamos executar o comando de compilação e instalação do Centreon:
# cd ../.. # bash ./install.sh -f tmpl/vardistrib/freebsd Do you want me to configure your sudo ? (WARNING) [y/n], default to [n]: > y Do you want to reload your Apache ? [y/n], default to [n]: > n
Feito isso vamos reiniciar o Apache e o MYSQL com o seguinte comando:
# /usr/local/etc/rc.d/apache22 restart # /usr/local/etc/rc.d/mysql-server restart
Vamos acertar uma permissão não realizada:
# chown -R www:www /usr/local/etc/centreon/
Vamos agora testar o Centreon. Use um browser para conectar a:
# http://"ip_do_servidor"/centreon
20- Configurando o Centreon
Siga as etapas a seguir para a configuração do Centreon:
Agora precisamos exportar os arquivos de configuração para que nosso NDO-Utils possa funcionar:
Acesse a guia Configuration
Agora Nagios
Marque todas as opções e clique em Export
Feito isso, podemos inicializar o NDO:
# ee /etc/rc.conf
Adicionando ao final do arquivo as linhas abaixo, depois salve o arquivo e saia:
# NDO2DB ndo2db_enable="YES"
Agora vamos iniciar o MySQL com o seguinte comando:
# /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
Reiniciar o CRON
# /etc/rc.d/cron restart
E agora o Nagios:
# /usr/local/etc/rc.d/nagios restart
21- Referências
www.fug.com.br
www.bsdux.com.br
http://www.fug.com.br/content/view/505/60/
http://nagios.sourceforge.net/docs/3_0/quickstart.html
http://www.nagiosbook.org/PRE-RELEASE_The_Nagios_Book-05012006.pdf
http://ws.edu.isoc.org/workshops/2008/apricot2008/netmanage/presos/nagios/
http://www.luizgustavo.pro.br/blog/2010/02/15/centreon-2-1-4-no-freebsd/
http://wiki.monitoring-fr.org/powered/centreon/start
http://en.doc.centreon.com/CentreonArchitecture
http://silverwraith.com/papers/freebsd-snmp.php
http://www.remontti.com.br/blog/archives/648
http://dev.mysql.com/doc/refman/5.5/en/freebsd.html
http://www.fug.com.br/content/view/360/77/
http://tuxtraining.com/2009/04/22/how-to-setup-a-famp-freebsd-apache-mysql-php-server
http://www.georgemendonca.com.br/middlecore-introducao-ao-desenvolvimento-de-a
Como faço para alterar a senha de admin do Centreon?
OBrigado
Luiz