1) INTRODUCCION:A) Propósito: El addon NDOUTILS es para almacenar toda la configuracion y los eventos del nagios en una base de datos. Almacenando informacion de Nagios en la BD permitira recuperar datos rapidamente y ademas ayudara a procesar datos para servir a una interfaz web en PHP.
La BD MySQL y PostgreSQL esta soportado por el addon.
B) Vista de Diseño: NDOutils fue diseñado para trabajar con usuarios que tienen:
- Instalacion simple de nagios
- Instalacion Multiple de nagios
- Instalacion Multiple, redundante y distribuida de nagios
Datos de cada proceso de nagios puede almacenar en la misma DB o en distintas DB.
Por lo tanto no soportado todavia, pero en un futuro nagios almacenara en distintas BD desde un mismo proceso.
--------------------------------------------------------------------------------------------------------
2) COMPONENTESA) Vista: Hay 4 componentes principales que inician las utilidades NDO:
1- NDOMOD Event Broker Module (Modulo de evento corredor)
2- LOG2NDO Utility
3- FILE2SOCK Utility
4- NDO2DB Daemon
Cada componente se describe con mas detalles en las siguientes paginas.
B) El NDOMOD Event Broker Module Las utilidades NDO incluyen un Nagios Even Broker Module (NDOMOD.O) que exporta datos desde el demonio de nagios.
Asumiendo que nagios fue compilado con el Modulo Event Broker activado (esto es por default), usted puede configurar que nagios cargue el modulo NDOMOD en tiempo de ejecucion. Una vez que el modulo fue cargado por el daemon de nagios, este puede acceder a todos los datos y logicamente presente el el proceso de nagios que esta corriendo.
El modulo NDOMOD tiene designado exportar la configuracion, como informacion variada de eventos en tiempo de ejecucion que ocurre en el proceso de monitoreo, por el daemon de nagios. El modulo puede enviar esta informacion a un archivo estandar, a un Socket Unix de Dominio o un a socket TCP.
El NDOMOD escribe la info en un formato que el demonio NDO2DB puede entender.
Si el NDOMOD esta escrito para un archivo de salida, usted puede configurarlo para rotarlo periodicamente y/o procesarlo en otra maquina fisicamente (usando SSH, etc.) y envia este contenido al daemond NDO2DB usando la utilidad FILE2SOCK (que describiremos mas adelante).
C) La utilidad LOG2NDO Esta es designada para permitir importar un historial de logs de nagios a una BD via el NDO2DB daemon (describiremos luego). La utilidad trabaja enviando archivos de logs historicos a un archivo estandar, un unix sock o un tcp sock en un formato que NDO2DB daemond entienda. El NDO2DB daemon puede luego usarlo para procesar la salida y almacenar en un archivo de log historico informandolo en una BD.
D) La utilidad FILE2SOCK Esta utilidad es muy simple, solo lee de un archivo estandar (o STDIN) y escribe todo sobre un socket de dominio unix o un tcp socket. Estos datos son leidos y no son procesados por nada, antes de ser enviados al socket.
E) El demonio NDO2DB La utilidad es diseñada para tomar los datos de salida de los componentes NDOMOD y LOG2NDO y almacenarlos en una BD MySQL o BD PostgreSQL.
Cuando este inicia, el daemon NDO2DB crea un socket y espera que los clientes se conecten. NDO2DB puede correr independientemente, bajo un demonio multiproceso o bajo inetd (si esta usando un socket TCP).
Multiples clientes pueden conectarse al daemon NDO2DB y transmitir simultaneamente.
El NDO2DB actualmente solo soporta databases MySQL, en un fururo soportara Postgre.
--------------------------------------------------------------------------------------------------------
4) INSTALACIONA) Prerrequicitos: Para usar NDOUtils usted necesitara tener lo siguiente instalado y trabajando en su sitema:
- Nagios (ver abajo las versiones)
- MySQL
B) Versiones Compatibles: Debera tener corriendo Nagios 2.0 (estable). NDOUtils no trabajara en la version de nagios beta 2.0. NDOUtils tambien trabaja bajo las actualizaciones de nagios 2.x y el corriente desembolvimiento de Nagios 3.
C) Obtener la nueva version: Usted puede obtenerla de NDOUtls addon visitando el site de nagios:
http://www.nagios.org/download/
D) Descargamos el paquete: Desempacar el tarball en tmp (version en mi caso ndoutils-1.4b7 para nagios 3.0.6):
Enlace de descarga:
#cd /tmp
#wget -c http://downloads.sourceforge.net/nagios/ndoutils-1.4b7.tar.gz
E) INSTALANDO Usualmente no se encuentra el comando "make install", debe hacer la instalacion manualmente con un par de componentes, no se preocupe, no es complicado.
HAy dos versiones de ndomod.o NEB module y ndo2db daemon a compilar. Uno para Nagios 2.x y el otro para "Nagios 3.x" Cada especificacion de nagios para una version distinta:
Estos trabajan con Nagios 2.x:
ndomod-2.x.o
ndo2db-2x
Estos trabajan con Nagios 3.x:
ndomod-3x.o
ndo2db-3x
Hay otros dos binarios que vienen con NDOUtils que no son para una version especifica de nagios. Ellos son:
file2sock
log2ndo
Hay un orden para instalacion de los componetnes de NDOUtils en el sistema, usted debera copiar los binarios compilados dentro del directorio Nagios (usualmente en /usr/local/nagios/bin), hacer:
#apt-get install bzip2 mysql-server libmysqlclient15-dev phpmyadmin php5-gd gcc make libgd-dev php5-cli sudo php5-sqlite rrdtool
#tar xzvf ndoutils-1.4b7.tar.gz
#cd ndoutils-1.4b7
#./configure
#make
#mysql -u root -p (en blando o el pass agregado)
#create database nagios;
#quit
#cd db
#./installdb -u root -p "passDeMysql" -d nagios
#cd ..
#cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
#cp config/ndomod.cfg /usr/local/nagios/etc/
#vim /usr/local/nagios/etc/nagios.cfg broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg (antes de event_broker_options=-1) #cp src/ndo2db-3x /usr/local/nagios/sbin/ndo2db
#cp config/ndo2db.cfg /usr/local/nagios/etc/
#vim /usr/local/nagios/etc/ndo2db.cfg db_user=root
db_pass= #/etc/init.d/nagios start
#/usr/local/nagios/sbin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg --> Si reinicio el server tengo que volver a ejecutarlo.
Para que esto no ocurra lo deberia poner en automático --> Si me dice que el sock está en uso borro el socket:
#rm /usr/local/nagios/var/ndo.sock