viernes, 24 de junio de 2011

Instalación de Nagios+Centreon en CentOS.

Buenas:

Después de mucho currar, quitar errores, hacer cambios, etc…he conseguido finalizar la instalación de Nagios y Centreon, por lo que se crea esta documentación, además como para el curro también la necesito hacer…pues mato 2 pájaros de un tiro, después de muchas vueltas, guías etc….me he guiado por 2 opciones, toda la docu para al instalación de Nagios y NDOutils, ha sido a través de este blog: http://felipeferreira.net/?p=660&cpage=1

Mientras que la instalación de la segunda parte de NDOutils y Centreon, ha sido a través de la wiki de Centreon. http://en.doc.centreon.com/Setup

Al finalizar este documento tendremos instaladas las siguiente herramientas:

-Apache
-MySQL
-Nagios
-Nagios plugins
-NDOutils
-Centreon


Preparación del equipo.

Antes de comenzar con las instalaciones y para hacerlas del tirón, es decir, para tener los menores errores posibles configuraremos lo siguiente:

-Deshabilitaremos SELinux : Para ello visitar mi anterior link

http://monimandarina.blogspot.com/2011/06/error-al-realizar-la-configuracion-web.html

- Configurar los repositorios de DAG, ya que hay varias dependencias que no se encuentran en los repositorios de CentOS:

Descargaremos la configuración del repositorio desde aquí:

http://pkgs.repoforge.org/rpmforge-release/

Ojo! Hay que descargarse el repositorio correspondiente a tu distribución, en mi caso como es CentOS 5.6, hemos descargado este repo:

http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-1.el5.rf.i386.rpm

Lo podemos guardar en /tmp/ y lo instalaremos:

#rpm -Uvh rpmforge-release-0.3.6-1.el4.rf.i386.rpm

Limpiaremos los repositorios de yum:

#yum clean all

Y ya tendremos instalados estos repositorios:

( Basado en http://www.ecualug.org/?q=2006/03/30/comos/como_usar_el_repositorio_de_dag_en_nuestro_centos )

Otra cosa que recomienda, es deshabilitar las cosas que no necesitemos iniciar automáticamente.

# chkconfig –level 3 bluetooth off (deshabilita en este caso el bluetooth)
# chkconfig –list grep 3:on (Lista todas las cosas que se inician automáticamente)

Instalación de requisitos

La primera vez que instalemos algo, tardará un poco más, ya que tiene que listar los repositorios de DAG, pero solo es la primera vez o después de reiniciar la primera vez que ejecutemos yum, también tardará un poco.

# yum -y install libstdc++-devel gcc-c++
# yum -y install httpd
# yum -y install gd gd-devel
# yum install kernel-devel
#yum -y install openssl-devel perl-DBD-MySQL mysql-server mysql-devel
#yum -y -v install php php-mysql php-gd php-ldap php-xml
# yum -y install perl-DBI perl-DBD-MySQL
# yum -y install perl-Config-IniFiles
#yum -y install rrdtool perl-rrdtool
# yum -y install perl-Crypt-DES perl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils
# yum -y install perl-Socket6 perl-IO-Socket-INET6 net-snmp net-snmp-libs php-snmp dmidecode lm_sensors perl-Net-SNMP net-snmp-perl
# yum -y install fping graphviz cpp gcc gcc-c++ libstdc++ glib2-devel
# pear channel-update pear.php.net
# pear upgrade-all (Esto ultimo actualiza PEAR y es muy recomendable hacerlo).

Instalación de NAGIOS.

Vamos a proceder a la instalación de la herramienta Nagios:

• Crearemos el grupo y usuario Nagios con contraseña Nagios:

# groupadd nagios
# adduser nagios -g nagios
# passwd nagios

o Comprobaremos que se ha creado en el fichero:

# grep nagios /etc/passwd

o Añadiremos el usuario Nagios y apache al grupo Nagios:

# usermod -G nagios nagios
# usermod -G apache,nagios apache

o Comprobaremos que están en el grupo Nagios:

# grep nagios /etc/group

• Continuaremos la instalación:

o Crearemos el directorio de la instalación:
# mkdir /usr/local/nagios

• Descargaremos la versión más actualizada de Nagios, en este caso:
o # wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz

• Se descomprime el fichero y se accede a su directorio:
#tar –xvzf nagios-3.2.3.tar.gz
#cd nagios-3.2.3

• Se instala Nagios:
# ./configure –-enable-embedded-perl –-prefix=/usr/local/nagios -–with-cgiurl=/nagios/cgi-bin –-with-htmurl=/nagios/ –-with-nagios-user=nagios –-with-nagios-group=nagios -–with-command-group=nagios
–enable-nanosleep –enable-event-broker

o Probr la instalación:
# make test

Puede que de errores en la instalación, si es así, ejecutar el paso siguiente (cpan) y continuar con la instalación.

• Utilizaremos cpan para la instalación y actualización de pearl:
# cpan#> install Test:Simple Test::Long Test::WWW::Mechanize::CGI
#export PERL5LIB=/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/libperl.so libperl.so (antes de realizar el export, asegurarnos de queponemos la ruta de nuestra versión de PEARL)

• Instalar Nagios
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
# make install-webconf (Esto crea la copia de nagios.conf)
# ls -l /usr/local/nagios

• Tendremos que encontrar, 5 directorios..
bin etc include libexec sbin var

• Pondremos la contraseña para accede al servidor de Nagios.
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

• Comprobar que en el fichero cgi.cfg se permite el acceso al usuario nagiosadmin, si no es así editarlo:
# vi /usr/local/nagios/etc/cgi.cfg
authorized_for_system_information=nagiosadmin

• Para generar el acceso a la web de Nagios, tendremos que añadir las siguiente líneas en este fichero /etc/httpd/conf.d/nagios.conf, esta es la configuración del fichero final :

ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/


AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user


Alias /nagios/ /usr/local/nagios/share/


Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user


Es probable, que cuando reinicies el Apache te pasen 2 cosas, la primera, que probablemente te de error con el Alias y la segunda, que cuando intentes acceder a Nagios e introduzcas el usuario y contraseña te diga “Acceso Denegado”, yo probé con varias configuraciones hasta que conseguí el acceso con esta configuración, aunque en un primer lugar el fichero que creé era así:

ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/


AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all


Alias /nagios/ /usr/local/nagios/share/


Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all

Esto me permitía acceder sin usuario y contraseña, después ya añadí las líneas de autenticación y quedó como el fichero final y a partir de aquí me dejó acceder con usuario y contraseña. En realidad es ir probando hasta tener la configuración adecuada, porque ya veréis como en muchas guías prácticamente este texto es el mismo, pero a algunos les vale y a otros no.

Finalmente reiniciaremos apache y Nagios y los pondremos al inicio del equipo:

# service httpd restart
# service nagios restart
# chkconfig -–add httpd
# chkconfig -–level 35 httpd on
# chkconfig -–add nagios
# chkconfig -–level 35 nagios on

Ahora desde el navegador, probaremos que llegamos a Apache y a Nagios, ojo! Es probable que si usamos un navegador desde otra máquina no podamos llegar, esto es debido al IPtables, si queréis, durante la instalación y pruebas, podéis deshabilitar IPtables ( #/etc/init.d/iptables stop) pero lo recomendable, es que en cuanto podáis, os miréis una guía sobre IPtables y configuréis los accesos correspondientes.

http://IP/

http://IP/nagios/

• Probablemente, si no ponéis la barra final de la URL de Nagios, no podáis acceder.
• Si hay algún error, podéis mirar qué es en los siguientes logs:

/var/logs/httpd/error_log
/usr/local/nagios/etc/htpasswd.users
/usr/local/nagios/etc/cgi.cfg

Tener en cuenta, que cuando accedáis a Nagios, tendréis la barra lateral con todos los accesos, pero si intentáis acceder os dará error, esto es porque no hay nada configurado, y es Centreon el que se ocupará de “rellenarlo”.

Instalar Nagios Plugins.

Nos descargaremos la última version de Nagios Plugins desde

http://sourceforge.net/projects/nagiosplug/files/nagiosplug/

En mi caso descargué la versión 1.4.14, vosotros tendréis que descargar la versión actualizada.

# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
# ./configure –with-openssl=/usr/bin/openssl –enable-perl-modules –prefix=/usr/local/nagios –with-nagios-user=nagios
# make all
# make install

Confirmar que los plugins que acabamos de instalar, se encuentran en la siguiente ruta:
# ls -l /usr/local/nagios/libexec

Cambia el propietario de los plugins para el usuario Nagios y ponles los siguientes permisos:
# chown nagios:nagios -R /usr/local/nagios/libexec
# chomod +x -R /usr/local/nagios/libexec

Configuración MySQL y NDOUtils

Anteriormente ya hemos instalado MySQL por lo que ahora tendremos que darle una contraseña para el usuario root, para ello ejecutaremos el siguiente comando y seguiremos las instrucciones que nos indican:

/usr/bin/mysql_secure_installation

Ahora pondremos MySQl al inicio:
# chkconfig –add mysqld
# chkconfig –level 3 mysqld on

Para instalar NDOUtils, tendremos que descargar la última version de esta herramienta, en mi caso la 1.49b, descomprimiremos, instalaremos y lo configuraremos como servicio y lo pondremos al inicio del sistema:

# wget http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b9.tar.gz
# tar -zxvf ndoutils-1.4b9.tar.gz
#cd ndoutils-14b9
#./configure --prefix=/usr/local/nagios/ --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios
#cp daemon-init /etc/init.d/ndo2db
#chmod +x /etc/init.d/ndo2db
#chkconfig --add ndo2db
#chkconfig ndo2db on

Comprobaremos que sendmail está instalado de la siguiente manera:

# echo “TEST EMAIL” sendmail -s “Probandoo mi primer email” tu_email@domain.xxx

Actualizaremos la instalación de PEAR:

# pear upgrade pear
# pear channel-update pear.php.net
# pear install -o -f –alldeps DB_DataObject DB_DataObject_FormBuilder MDB2 Numbers_Roman
# pear install -o -f –alldeps Numbers_Words HTML_Common HTML_QuickForm2 HTML_QuickForm_advmultiselect HTML_Table Auth_SASL
# pear install -o -f –alldeps HTTP Image_Canvas Image_Color Image_Graph Image_GraphViz Net_Traceroute Net_Ping Validate XML_RPC
# pear install -o -f –alldeps SOAP

Una vez finalizada la actualización, instalaremos los últimos requerimientos de PHP:
# yum install php-mbstring php-posix

En el fichero sudoers comentaremos esta línea:
# vim /etc/sudoers
#Default requiretty
:wq!

Instalación de Centreon

Para la instalación de Centreon os invito a que sigáis la documentación de la página web de Centreon, ya que lo explican muy bien, y te pone prácticamente todas las preguntas que tienes que realizar, en el caso de que alguno no entienda lo que pone, avisarme en los comentarios e intento traducir esa parte, peor si seguís los comandos no tendréis ningún problema:

http://en.doc.centreon.com/Setup:Centreon2

Por último, después de la instalación por consola, falta la instalación Web, esta también es muy sencilla, por lo que igualmente os reenvío a la instalación de la wiki de Centreon, lo dicho anteriormente, si no entendéis algo avisadme e intento hacer una pequeña traducción:

http://en.doc.centreon.com/Setup:Centreon2Web

Sé que la docu es larga, pero merece la pena seguir los pasos, y si tenéis cualquier problema, no dudéis en escribirme.

Un saludo.

5 comentarios:

Xavi dijo...

Compañero, de donde puedo descargar nagios gratuito ..... las paginas que he encontrado nagios.org por ejemplo, cobran por nagios.

Madrikeka dijo...

En es emismo link, en downloads:

http://nagios.org/download

Pero te tienes que descargar Nagios core, que es la comunity.

Por cierto, si lo vas a instalar con Centreon, te recomiendo que vayas a la web de Centreon y te descargues la ISO que tienen, así ya lo tienes todo instalado por defecto!

Un saludo.

Xavi dijo...

Muchas gracias. La verdad soy nuevo en lo de linux pero intentare esto, que me puede salvar el varo.

En Debian será igual?

Gracias.

Anónimo dijo...

Cuando instalas las NDOutils, después del ./configure..... necesitas hacer un make. Un saludo.

ajrob69 dijo...

No es necesario hacer un make una vez hecho el ./configure de ndoutils, no queremos que genere el la BBDD de NDO sino que sea Centreon el que la cree.