Este procedimiento ha sido probado en RHEL 5/6 y en Fedora
1.- Instalamos algunos prerequisitos:
2.- Creamos la base de datos que alojará todos los datos de Nagios:
3.- Creamos el usuario y le damos privilegios sobre la base de datos:
4.- Descargamos, descomprimimos y compilamos ndoutils:
En el caso que existieran errores revisar config.log
5.- Copiar ndomod y ndo2db y asignar los permisos correspondientes:
6.- Crear las tablas para la base de datos:
7.- Copiar archivos de configuracion y asignar los permisos correspondientes:
8.- Editar nagios.cfg:
9.- Editar ndo2db.cfg y ndomod.cfg:
No debería ser necesario cambiar ndomod.cfg, estos son los valores correctos:
10.- Iniciar ndo2db y reiniciar Nagios:
Si esta informacin te ha sido de ayuda pincha en mis anuncios. Nos ayudamos mutuamente. Gracias
1.- Instalamos algunos prerequisitos:
# yum install gcc gcc-c++ libdbi-dbd-mysql mysql mysql-devel mysql-serverOjo, hay que configurar mysql. Eso significa que en algunos sistemas operativos como opensuse hay que habilitar el servicio en el runlevel; en el resto vale con arrancar el servicio y luego configurar con el script mysql_secure_intallation. Hay varias formas de configurar mysql, esta es una más.
2.- Creamos la base de datos que alojará todos los datos de Nagios:
# mysql -u root -p mysql> create database nagios; Query OK, 1 row affected (0.01 sec) mysql> show databases; ++ | Database | ++ | information_schema | | mysql | | nagios | | otrs | | test | ++ 5 rows in set (0.10 sec)
3.- Creamos el usuario y le damos privilegios sobre la base de datos:
mysql> GRANT ALL ON nagios.* TO ‘nagios’@'localhost’ IDENTIFIED BY “nagios”; Query OK, 0 rows affected (0.03 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.04 sec) mysql> quit
4.- Descargamos, descomprimimos y compilamos ndoutils:
# cd /root/ # wget http://downloads.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz # tar xvzf ndoutils-1.4b9.tar.gz # cd ndoutils-1.4b9 # ./configure # make
En el caso que existieran errores revisar config.log
# cd /root/ndoutils-1.4b9/ # less config.log
5.- Copiar ndomod y ndo2db y asignar los permisos correspondientes:
# cp /root/ndoutils-1.4b9/src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o # cp /root/ndoutils-1.4b9/src/ndo2db-3x /usr/local/nagios/bin/ndo2db # chmod 755 /usr/local/nagios/bin/ndo2db # chmod 755 /usr/local/nagios/bin/ndomod.o
6.- Crear las tablas para la base de datos:
# cd /root/ndoutils-1.4b9/db/ # ./installdb -u nagios -p nagios -h localhost -d nagios DBD::mysql::db do failed: Table ‘nagios.nagios_dbversion’ doesn’t exist at ./installdb line 51. ** Creating tables for version 1.4b9 Using mysql.sql for installation… ** Updating table nagios_dbversion Done!
7.- Copiar archivos de configuracion y asignar los permisos correspondientes:
# cp /root/ndoutils-1.4b9/config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg # cp /root/ndoutils-1.4b9/config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg # chmod 775 /usr/local/nagios/etc/ndo* # chown nagios:nagios /usr/local/nagios/etc/ndo*
8.- Editar nagios.cfg:
# vi /usr/local/nagios/etc/nagios.cfg event_broker_options=-1 broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
9.- Editar ndo2db.cfg y ndomod.cfg:
# vi /usr/local/nagios/etc/ndo2db.cfg socket_type=unix #socket_type=tcp socket_name=/usr/local/nagios/var/ndo.sock db_user=nagios db_pass=nagios
No debería ser necesario cambiar ndomod.cfg, estos son los valores correctos:
# vi /usr/local/nagios/etc/ndomod.cfg instance_name=default #output_type=tcpsocket output_type=unixsocket output=/usr/local/nagios/var/ndo.sock tcp_port=5668 use_ssl=0 output_buffer_items=5000 buffer_file=/usr/local/nagios/var/ndomod.tmp file_rotation_interval=14400 file_rotation_timeout=60 reconnect_interval=15 reconnect_warning_interval=15 data_processing_options=-1 config_output_options=2
10.- Iniciar ndo2db y reiniciar Nagios:
# /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg # ps -ef | grep ndo2db
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg # /etc/init.d/nagios restartPara comprobar si todo funciona perfectamente
# tail -f /usr/local/nagios/var/nagios.logDeberias encontrar un mensaje similar a "items flushed successfully", sino toca revisar los archivos de configuración.
Si esta informacin te ha sido de ayuda pincha en mis anuncios. Nos ayudamos mutuamente. Gracias
Hola! Veo que hace tiempo que se publicó el artículo no se si me podría ayudar, he realizado la instalación y no graba los datos en la BBDD MySQL.
En el archivo nagios.log muestra los siguientes mensajes:
[1404303344] ndomod: Successfully reconnected to data sink! 0 items lost, 96 queued items to flush.
[1404303344] ndomod: Successfully flushed 96 queued items to data sink.
[1404303344] ndomod: Error writing to data sink! Some output may get lost...
[1404303344] ndomod: Please check remote ndo2db log, database connection or SSL Parameters
Tengo instalado Nagios Core 3.2.3 en un PC y está funcionado de forma correcta.
Gracias.
Hola,
Ese error es bastante típico. Verifica desde el paso 7 que todo esta correctamente.
¿Qué sistema operativo utilizas?
¿Ha arrancado bien el servicio mysql?
Saludos
Lo primero darte las gracias por el artículo y por contestar. Llevo un par de días desde que leí el artículo, he estado repasando los pasos y buscando la forma de solucionarlo pero se resiste.
Tengo un PC con Windows XP y dentro de este una máquina virtual “VMWare Player” con SO Linux(Debian). Dentro de esta VM tengo Nagios Core 3.2.3 realizando distintas mediciones.
Si ejecuto “uname –a” esto es lo que me devuelve:
Linux lamp 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 GNU/Linux
El servicio mysql está corriendo lo he comprobado con el comando, service mysql status y me responde con las siguientes líneas:
Server version 5.1.63-0+squeeze1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 6 days 3 hours 25 min 39 sec
Threads: 1 Questions: 23709 Slow queries: 0 Opens: 2675 Flush tables: 1 Open tables: 64 Queries per second avg: 0.44.
ps -ef | grep ndo2db, devuelve:
nagios 14704 1 0 12:22 ? 00:00:00 /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
root 18605 13688 0 15:30 pts/8 00:00:00 grep --color=auto ndo2db
root 26652 8039 0 Jul01 ? 00:00:00 tail -f /usr/local/nagios/var/ndo2db.debug
He comprobado:
- que el servicio ndo2db está corriendo.
- el usuario “nagios” y su pass “nagios” y puedo entrar en la BBDD creada.
- las tablas están creadas y puedo hacer consultas.
- los archivos nagios.cfg, ndo2db.cfg y ndomod.cfg
- poder conectar por tcp modificando los archivos ndo2db.cfg y ndomod.cfg donde dice “socket_type” indicando “tcp”.
- y algunas cosas más…
No se si podrías orientarme por donde seguir.
Por curiosidad, el archivo ndo.sock ¿que permisos tiene?
ndo.sock se encuentra en la ruta, /usr/local/nagios/var y listamos el contenido aparece así:
srwxrwxrwx 1 nagios nagios 0 Jul 2 12:22 ndo.sock
-rwxrw-rw- 1 nagios nagios 0 Jun 27 12:01 ndo2db.debug
Di todos los permisos a ndo.sock por ver si ese era el problema. Una cosa que me llama la atención es que el archivo está vacío. ¿Es normal que esté vacío?
También habilité la opción para obtener información en el archivo ndo2db.debug y este también está vacío.
Verificar los permisos de ndomod.o y ndo2db
Creo que los permisos están correctos, se encuentran en la siguiente ruta
/usr/local/nagios/bin/
-rwxr-xr-x 1 nagios nagios 208579 Jul 2 12:12 ndo2db
-rwxr-xr-x 1 nagios nagios 132685 Jul 2 12:11 ndomod.o
¿Quizás me falte algún paquete por instalar?(me refiero, a parte de los mencionados en la guía).
yo tengo para los dos archivos al grupo con los mismos permisos de usuario...
-rwxrwxr-x
¿tienes a root dentro del grupo nagios?
No estaba incluido en el grupo de nagios, lo he incluido esta mañana y los errores son los mismos(he reiniciado apache2 y nagios).
Por otro lado al ser Debian los paquetes que tengo instalados tienen otro nombre pero creo que cumplen la misma función de los que indicas en el punto 1.
Tengo instalado: gcc, g++, libdbd-mysql-perl, mysql-common, mysql-server-5.1 y mysql-server-core-5.1.
Verifica en el archivo de configuración ndo2db.cfg que todo corresponde con lo que tienes y que no hay ningún problema de permisos
Se me están acabando las ideas de que puede estar fallandote
Justo estoy repasando los archivos ndomod.cfg y ndo2db.cfg.
Te agradezco mucho el tiempo que has empleado para ayudarme.
Seguiré con ello y cuando tenga la solución la escribo en un comentario.
Muchas gracias, saludos.
Dolores de cabeza de este tipo son los que me motivaron a crear este blog, un sitio donde estén las soluciones a todas estas cosas de nuestro día a día.
En lo que pueda te echaré una mano