Mostrando entradas con la etiqueta Nagios. Mostrar todas las entradas
Mostrando entradas con la etiqueta Nagios. Mostrar todas las entradas

miércoles, 10 de abril de 2013

Time out en el envío de notificaciones de Nagios o con Centreon.


Hemos detectado, que las notificaciones de error o recuperación, no se estaban enviando correctamente. Revisando el nagios.log que se encuentra en /usr/local/nagios/var/ hemos visto las siguientes líneas y como al final daba un time out.

[1365591978] EXTERNAL COMMAND: SEND_CUSTOM_SVC_NOTIFICATION;link_que_sea/;0;nagiosadmin;Prueba de notificación.
[1365591978] SERVICE NOTIFICATION: “contacto_que_sea”;link_que_sea/;CUSTOM (OK);service-notify-by-email;HTTP OK: HTTP/1.1 200 OK - 37509 bytes in 0.522 second response time;nagiosadmin;Prue
ba de notificación.
[1365592019] Warning: Contact 'contacto_que_sea' service notification command '/usr/bin/printf "%b" "***** centreon Notification *****\n\nNotification Type: RECOVERY\n\nService: link_que_sea\nHost:
host_que_sea\nAddress: 100.100.100.100\nState: OK\n\nDate/Time: 10-04-2013 Additional Info : HTTP OK: HTTP/1.1 200 OK - 37509 bytes in 0.522 second response time" | /bin/mail -s "** RECOVERY alert - link_que_sea/ is OK **" correo_contacto' timed out after 40 seconds


He probado a enviar un mail desde la consola de Linux y funcionaba correctamente, he probado a ejecutar el mismo comando de la última línea

“ usr/bin/printf "%b" "***** centreon Notification *****\n\nNotification Type: RECOVERY\n\nService: link_que_sea\nHost:
host_que_sea\nAddress: 100.100.100.100\nState: OK\n\nDate/Time: 10-04-2013 Additional Info : HTTP OK: HTTP/1.1 200 OK - 37509 bytes in 0.522 second response time" | /bin/mail -s "** RECOVERY alert - link_que_sea/ is OK **" correo_contacto”

Y se envía correctamente, entonces, ¿cuál era el problema?

Después de revisar, buscar mas errores y buscar en la red, he encontrado un post de 2009 que me ha dado la vida y efectivamente ha funcionado.

Voy a explicar como solucionarlo para Nagios y para Centreon.

En Nagios, tendremos que modificar el fichero nagios.cfg, nos iremos a la linea de

notification_timeout=30

Y cambiaremos el 30 por un 120, después reiniciaremos Nagios y probablemente nos vuelva a funcionar correctamente el envío de notificaciones.

En Centreon, si lo habéis hecho igual y luego habéis recargado todo desde Nagios marcando “Move Export Files”, comprobaréis que el fichero ha vuelto a su origen.

Para que esto no pase, dentro de “configuration” → Nagios, en el panel izquierdo, clickaremos sobre “nagios.cfg” y después sobre el nagios.cfg que nos interese.

Iremos a la pestaña Log Options y en Notification Timeout, cambiaremos el 30 por el 120.

Reiniciamos Nagios a través de Centreon y con esto tendremos las notificaciones.

El foro del año de la polka que me ha dado la solución es:


Si tenéis mas dudas, escribidme, que me gusta!

viernes, 22 de julio de 2011

Monitorizar en Nagios con un script propio a través de NSCLIENt++

Debido a que no hay mucha documentación sobre esto, o mejor dicho, que para mi gusto no está bien explicada, voy a exponer los pasos a seguir para hacer funcionar un script personal a través de check_nrpe.

Hay que tener en cuenta, que yo utilizo NSCLIENT++, pero creo que no hay mucha diferencia con NRPE para Windows.

Lo primero que haremos será crear nuestro script, yo lo que quiero monitorizar, es la descarga de ficheros, para ello, y con una comprobación rutinaria, si se descargan se generará un fichero con un texto, si no, se generara este fichero con otro texto diferente;

Para explicarlo, si se descarga bien en el texto pondrá 0 o si se descarga mal, se pondrá 1.
El script es el siguiente:

@echo off
C:\UnxUpdates\grep 0 [ruta fichero]
if errorlevel 1 goto final
if errorlevel 0 exit 0

:final
echo No se han descargado los archivos
exit 2

Para realizar este fichero, necesitamos el comando “grep”, para ello nos lo descargaremos de la siguiente página:

http://unxutils.sourceforge.net/

Aparte de “grep”, nos descargaremos muchos más comandos, pero actualmente solo nos interesa este.

Para ejecutar el comando, tendremos que poner la ruta completa donde está el “grep”, después el texto a buscar y finalmente la ruta del fichero donde buscar.
Si no encuentra el 0, la descarga ha fallado y el “errorlevel” será igual a 1, por lo que a través de un “goto” indicamos que no se ha realizado la descarga y provocamos un “exit 2”, el exit 2 es por que Nagios identifica cada número a un estado, quedando así:

Exit 0 == OK
Exit 1 == Warning
Exit 2 == Critical

Si el texto es encontrado, el “errorlevel” será igual a 0 y para Nagios todo estará OK.
Una vez generado el script, copiaremos el fichero en rutansclient++/scripts y modificaremos o descomentaremos las siguientes líneas del NSC.ini:

; Script to check external scripts and/or internal aliases.
CheckExternalScripts.dll;
[NRPE]
allow_arguments=1
allow_nasty_meta_chars=1
use_ssl=1
-> Si utilizáis SSL.
[External Script]
;# COMMAND TIMEOUT
command_timeout=60
allow_arguments=1
allow_nasty_meta_chars=1
;# SCRIPT DIRECTORY
; All files in this directory will become check commands.
; *WARNING* This is undoubtedly dangerous so use with care!
script_dir="rutaNSCLIENT++\scripts\*.bat"
bat=scripts\%SCRIPT% %ARGS%
[External Scripts]
check_downloads=scripts\buscar.bat
-> El nombre con el que llamaremos a nuestro script y la ruta donde se encuentra.

Si tenemos ya, todo esto configurado, reiniciaremos el NSCLIENT++ y desde Nagios, ejecutaremos el siguiente comando:

./check_nrpe -H 192.168.17.183 -u -c check_downloads

Si se ha ejecutado correctamente, nos responderá con la línea completa donde esté el texto, si no, nos dirá el texto que hemos añadido para comentar que no se han descargado los ficheros.
En la GUI aparecerá verde con el texto que hayamos buscado y Critical con el texto que hayamos añadido.

Espero que sirva, y si tenéis alguna pregunta, no dudéis en avisarme.

Un saludo.

lunes, 27 de junio de 2011

Check_Centreon_remote_storage.

Estoy haciendo mis primeros pinitos con Centreon y estoy ingresando mis primeros servicios, uno de ellos es para comprobar el espacio den disco con SNMP.

He seguido esta documentación para activar SNMP e Windows y Linux y para configurar la clave en Centreon:

http://yoadminsis.blogspot.com/2010/08/configurar-snmp-para-monitorizar.html

Otro día haré la documentación respectiva.

cuando estaba configurando la monitorización en disco, me he encontrado con el siguiente error:

- You must specify the disk name when option -n is used.

Para eliminar este error, en la configuración del servicio, en vez de C: o del nombre de la nidad, tendremos que poner el id del disco.

Para averiguar eso, tendremos que ejecutar el siguiente comando en el servidor de centreon:

./check_centreon_snmp_remote_storage -H X.X.X.X -s

Esto dará la información completa de los discos, incluídos los números id de lo discos, algo de este tipo:

hrStorage 1 :: C:\ Label:OS Serial Number 18e09f42
hrStorage 2 :: D:\ Label:HP_RECOVERY Serial Number 5cea8c81
hrStorage 3 :: E:\
hrStorage 4 :: F:\ Label:Datos Serial Number 66d56518
hrStorage 5 :: G:\
hrStorage 6 :: Q:\
hrStorage 7 :: Virtual Memory
hrStorage 8 :: Physical Memory


si este id lo copiamos en number disk, funcionará correctamente.

Un saludo.

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.

lunes, 20 de junio de 2011

Fallo con check_NRPE y NSClient++.

Estaba lanzanzando el siguiente comando para probar el comando check_nrpe:

#./check_nrpe -H IP_Equipo -p 5666 -c CheckCPU -a warn=80 crit=90 time=20m time=10s time=4

Y el nrpe me estaba devolviendo la siguiente respuesta:

CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.

Cuando salga este error, hay que revisar el log del nsclient++, en mi caso el error que salía era el siguiente:

error:modules\NRPEListener\NRPEListener.cpp:393: Request contained arguments (not currently allowed, check the allow_arguments option).
2011-06-20 13:51:36: error:modules\NRPEListener\NRPEListener.cpp:365: NRPEException: Request contained arguments (not currently allowed, check the allow_arguments option).


Después de buscar y buscar, encontré la solución, lo que hay que hacer es modificar y descomentar las siguientes líneas del NSC.ini, tendría que quedar así:

;# COMMAND ARGUMENT PROCESSING
; This option determines whether or not the NRPE daemon will allow clients to specify arguments to commands that are executed.
allow_arguments=1
;
;# COMMAND ALLOW NASTY META CHARS
; This option determines whether or not the NRPE daemon will allow clients to specify nasty (as in |`&><'"\[]{}) characters in arguments.
allow_nasty_meta_chars=1
;
;# USE SSL SOCKET
; This option controls if SSL should be used on the socket.
use_ssl=1


Se reinicia el servicio del NSClient++ y se vuelve a probar el comando, ahora debería funcionar y mostrar algo como esto:

# ./check_nrpe -H IP_Equipo -p 5666 -c CheckCPU -a warn=80 crit=90 time=20m time=10s time=4
OK CPU Load ok.|'20m'=0%;80;90; '10s'=5%;80;90; '4'=0%;80;90;


Otra solución para el bote!!

Un saludo.

PD: La info la he sacado de este foro: http://forums.monitoring-fr.org/index.php?topic=592.0

martes, 14 de junio de 2011

Error al realizar la configuración web en Centreon.

Antes de ponerme con la documentación total de la instalación de Nagios y Centreon, voy a comentar un error or si a alguien le pasa lo mismo.

El fallo sería el siguiente:



El error es Crittical Can´t create file
filed to open stream: Permission denied.


Comprobaremos que la carpeta /etc/centreon/ está creada, que los permisos son 755 o 775...que todo parece bien, además todos los demás checkeos están OK.

El problema es SELinux, hay que deshabilitarlo, si no se hace esto así, no funcionará; para ello, tendremos que modificar el archivo config de SELinux:

#vi /etc/selinux/config

Y en la línea que dice

SELINUX=enforcing

cambiarlo por

SELINUX=disabled

Se supone que si después de modificar esta entrada y ejecutamos:

#setenforce 0

Se deshabilitará sin reiniciar el SELinux, para comprobar que se ha deshabilitado, lanzaremos:

#sestatus

Y nos tendrá que aparecer

SELinux status: disabled

Si no conseguimos que aparezca esta línea habrá que reiniciar el equipo.

Un saludo y gracias a mi chico....que me ayuda siempre con estas cosillas!!

jueves, 26 de mayo de 2011

Solucionar fallos con incoherencias en NDOutils.

Estoy registrada en el grupo de Nagios en Español y Popitron nos emnvío esta solución respecto a un problema que se podía dar si Nagios manejaba una cantidad muy alta de máquinas, en estos casos el NDOutils puede empezar a hacer cosas raras, os dejo la explicación:

" Cuando la base de datos esta cargada con una gran cantidad de
registros, el NDO comienza a tener un comportamiento erratico, y los datos reflejados no
son los correctos, por lo tanto cada cierto tiempo hay que purgar algunas tablas, ese tiempo sera dependiendo de la cantidad de objetos a monitorear.

Podemos crear un script que realize dicha tarea

#!/bin/bash
echo "TRUNCATE TABLE nagios_servicechecks" | /usr/bin/mysql -u root --
batch
--database=nagios
echo "TRUNCATE TABLE nagios_logentries" | /usr/bin/mysql -u root --
batch
--database=nagios
echo "TRUNCATE TABLE nagios_service_contactgroups" | /usr/bin/mysql -u
root --batch
--database=nagios
echo "TRUNCATE TABLE nagios_hostchecks" | /usr/bin/mysql -u root --
batch
--database=nagios


Para luego incluirlo en el crontab, por ejemplo si tenemos alrededor
de mas de 600 hosts y alrededor de 2000 servicios o mas, chequeando ambos en intervalos de entre 1 y 5 minutos, podemos establecer su ejecucion en 15 minutos.

0,15,30,45 * * * root /usr/local/nagios/sbin/truncar_db.sh "

Espero que os pueda servir de ayuda!!

Y gracias Popitron!!


PD: Como dicen en los comentarios, OJO! con usarlo en producción!! es un TRUNCATE por lo que elimina información, es decir, tendríais que estudiar si su uso os es viable.

Un saludo..