jueves, 24 de septiembre de 2009

HOW-TO (Instalación de Nagios 3.x con NDOUtils) Mysql

Objetivo:



A continuación realizaremos un instructivo de la instalación de un Nagios 3.x en Debian 5 con NdoUtils.


Introducción:


Basicamente esto surgió de la necesidad de instalar un Nagios que guarde los datos en un Mysql para luego poder ser utilizado por otra aplicación que tome esos datos y los maneje dinamicamente.


Aquí no se verán muy pocas cosas de configuración, ya que el objetivo de esta entrada es la instalación y comprobación de funcionamiento.


Explicación:

1) Creamos los usuarios necesarios


debían# useradd nagios
debían# groupadd nagios
debían# groupadd nagcmd
debían# usermod -a -G nagcmd nagios
debían# usermod -a -G nagcmd www-data

2) Instalamos los paquetes que necesitamos para la instalacion.


debían# apt-get install libg2-dev pkg-config libglib2.0-dev libapache2-mod-php5


3) Descargamos y compilamos el nagios 3.x


En primera instancia descargamos en /home/ el .tar del nagios y lo descomprimimos.


debían# cd /home/
debían-/home/# tar xzf nagios-3.0.6.tar.gz
debían-/home/# cd nagios-3.0.6
debían-/home/nagios-3.0.6/# ./configure —with-command-group=nagcmd
debían-/home/nagios-3.0.6//# make all
debían-/home/nagios-3.0.6# make install
debían-/home/nagios-3.0.6# make install-init (Opcional – Instala el script de inicio)
debían-/home/nagios-3.0.6# make install-config (Opcional – instala configuraciones de ejemplo)
debían-/home/nagios-3.0.6# make install-commandmode (Opcional – Instala commandos de ejecucion)
debían-/home/nagios-3.0.6# make install-webconf (Opcional – Configura el Apache2)
debían-/home/nagios-3.0.6# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin (Requerido – Genera el password para ingresar al Nagios)
debían-/home/nagios-3.0.6# /etc/init.d/apache2 reload (Requerido – Toma las configuraciones)


Se recomienda que todos los comandos opcionales sean ejecutados para una mejor performance.


 4) Instalaremos los plugins del nagios que serán los que se encargarán de realizar los chequeos, estos plugins (ej: check_ping, check_tcp) son los comandos que se ejecutan con diferentes parámetros y nos dan una respuesta.


Estos, pueden ser programados en base a nuestras necesidades, otro día mostraremos un ejemplo de la programación en bash de un script para el chequeo en Nagios.


Descargaremos en /home/ el .tar de los plugins.


debían# cd /home/
debían-/home/# tar xzf nagios-plugins-1.4.11.tar.gz
debían-/home/# cd nagios-plugins-1.4.11
debían-/home/nagios-plugins-1.4.11# ./configure —with-nagios-user=nagios —with-nagios-group=nagios
debían-/home/nagios-plugins-1.4.11# make
debían-/home/nagios-plugins-1.4.11# make install


5) Debemos poner que nagios se ejecute siempre al inicio del sistema:


debían-/home/nagios-plugins-1.4.11# update-rc.d nagios defaults


6) Instalación de NODUTILS para la conexión a la base de datos.


Primero vamos a instalar las librerías developer de mysql. (ndo debe cambiarse por la carpeta que genere la descompresión del tarball).


debían# apt-get install libmysqlclient-dev
debían# cd /home/
debían-/home/# cd ./ndo/
debían-/home/ndo/# ./configure
debían-/home/ndo/# make
debían-/home/ndo/# cp src/ndomod-3x.o /usr/local/nagios/bin/
debían-/home/ndo/# cp config/ndomod.cfg /usr/local/nagios/etc/
debían-/home/ndo/# cp src/ndo2db-3x /usr/local/nagios/bin/
debían-/home/ndo/# cp config/ndo2db.cfg /usr/local/nagios/etc/
debían-/home/ndo/# cd db/

7) Creamos un usuario y una base de datos de nombre nagios, ya sea mediante phpMyAdmin o linea de comandos en MySql y ejecutamos:


debían-/home/ndo/db/# mysql –u root –p(ponerlaclavederoot)
mysql> CREATE DATABASE nagios;
mysql> exit;


debían-/home/ndo/db/# ./installdb -u nagios -p password_del_usuario_nagios -h localhost -d nagios


8) Hacemos un par de modificaciones en la configuración.


debían-/home/ndo/db/# vim /usr/local/nagios/etc/ndomod.cfg


modificar los dos campos siguientes si es que están distintos:


output_type=unixsocket
output=/usr/local/nagios/var/ndo.sock


debían-/home/ndo/db/# vim /usr/local/nagios/etc/ndo2db.cfg


modificar los dos campos siguientes si es que están distintos:


también modificar el usuario y clave de acceso a mysql.


socket_type=unix
socket_name=/usr/local/nagios/var/ndo.sock
db_user=nagios
db_pass=contraseña_del_nagios


debían-/home/ndo/db/# vim /usr/local/nagios/etc/nagios.cfg


modificar los dos campos siguientes, en caso que no estén agregarlos:


broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg

OJO, TODA LA LINEA ANTERIOR DEBE ESTAR EN LA MISMA LINEA!!!


9) Iniciamos en Modulo NDO


debían-/home/ndo/db/# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg

Cada vez que reiniciemos Nagios se reiniciará el daemon de ndo.


Bueno, espero que les haya sido de utilidad y cualquier problema que tengan por favor consulten…


Hasta la próxima!!!


Hernan Mazzeo

16 comentarios:

  1. Bien ahí, iba a poner "me gusta" pero eso es en el facebook no?. Me gustó la aclaración de "OJO, TODA LA LINEA ANTERIOR DEBE ESTAR EN LA MISMA LINEA!!!", que nos dió más de un dolor de cabeza!
    Saludos pepo

    ResponderEliminar
  2. Yo instale todo tal cual indican los manuales de la instalacion de ndoutils pero en el event log de nagios me sale el siguiente error:

    01-22-2010 08:57:16] ndomod: Error writing to data sink! Some output may get lost...

    Alguien me sabe como solucionarlo???

    Se lo agradeceria

    ResponderEliminar
  3. Prestale atención a esto:

    broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg

    OJO, TODA LA LINEA ANTERIOR DEBE ESTAR EN LA MISMA LINEA!!!

    el mensaje que te está poniendo es que no puede mandar la data que esta obteniendo a la base de datos.

    Si lo anterior esta bien reinicia tanto el ndo como el nagios.

    Cualquier cosa avisame...

    Salu2.

    ResponderEliminar
  4. Saludos Hernan Mazzeo. Gracias por tu ayuda.
    Lo que me indicas ya le he revisado y esta todo correcto. Esta en una misma linea y demas

    01-25-2010 09:28:30] Event broker module '/usr/local/nagios/bin/ndomod-3x.o' initialized successfully.

    Me sigue enviando el mismo error

    [01-25-2010 09:28:30] Finished daemonizing... (New PID=3017)
    [01-25-2010 09:28:30] Event broker module '/usr/local/nagios/bin/ndomod-3x.o' initialized successfully.
    [01-25-2010 09:28:30] ndomod: Could not open data sink! I'll keep trying, but some output may get lost...
    [01-25-2010 09:28:30] ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
    [01-25-2010 09:28:30] LOG VERSION: 2.0
    [01-25-2010 09:28:30] Local time is Mon Jan 25 09:28:30 EST 2010
    [01-25-2010 09:28:30] Nagios 3.2.0 starting... (PID=3016)

    Ya no se que hacer, no encuentro el error que no permite que inicie el demonio.
    Ayudame en lo que puedas por favor!

    ResponderEliminar
  5. A mi me pasa lo mismo he intentado de todo y he verificado la configuracion uno y otra vez y no logro hacer que el demonio inicie.
    Llevo dias intentando hacer que funcione.

    Ayudenme por favor

    ResponderEliminar
  6. Contactenme a hernan.mazzeo@gmail.com así hacemos mas dínamicas las respuestas.

    ResponderEliminar
  7. Te escribi a tu correo. Verificalo por favor. Y GRACIAS

    ResponderEliminar
  8. Hola Hernan,

    intentado configurarlo en el paso de arrancar el modulo me sale lo siguiente:

    /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
    Support for the specified database server is either not yet supported, or was not found on your system.


    ¿alguna idea de por donde puede ir el problema?

    Gracias por anticipado.

    ResponderEliminar
  9. Disculpá la demora.
    En cuanto al problema que pones no es con la configuracion del NDO2DB.
    simplemente te debe faltar el paquete mysql-devel.

    Avisame como te fue..
    Salu2.
    HM

    ResponderEliminar
  10. Donde puedo encontrar el mysql-devel tengo ubuntu server...???

    de antemano gracias

    ResponderEliminar
  11. apt-get install libmysqlclient-dev
    apt-get install libmysqld-dev

    ResponderEliminar
  12. El error que me salía al intentar arrancar el modulo ndo2db solucionado aplicando la instalación de los paquete s que mencionas.

    Gracias.

    Un saludo,.

    ResponderEliminar
  13. Tengo las librearía instaladas y sigue dándome el mismo error:
    [03-25-2010 05:07:44] ndomod: Please check remote ndo2db log, database connection or SSL Parameters
    [03-25-2010 05:07:44] ndomod: Error writing to data sink! Some output may get lost...
    [03-25-2010 05:07:43] Finished daemonizing... (New PID=21479)
    [03-25-2010 05:07:43] Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.
    [03-25-2010 05:07:43] ndomod: Successfully flushed 58 queued items to data sink.

    ¿A qué otra cosa podría ser debido?
    Gracias

    ResponderEliminar
  14. Qué versión estas usando? Yo tuve el mismo problema con la versión 1.4b9, todo bien configurado y no funcionaba, al final, instalé la versión 1.4b8 y funcionó a la primera, curiosamente me pasó lo mismo con la versión 1.4b7. Se puede decir que a mí sólo me funcionó la 1.4b8

    ResponderEliminar
  15. Saludos, gracias por el tutorial..

    a mi me sucedió lo mismo, me arrojó el error

    ndomod: Could not open data sink! I'll keep trying, but some output may get lost...

    Repasé los permisos en:

    /usr/local/nagios/etc/ndomod.cfg
    /usr/local/nagios/etc/ndo2bd.cfg

    y todo funciona ok.

    ResponderEliminar