Para aquellos que disfrutan del maravilloso mundo de Nagios quizas se han encontrado con el problema de instalar NDOUtils y no ver que los datos se graben en la base de datos.
Luego de revisar y no entender por qué los datos no estaban quedando almacenados en la tabla nagios_servicechecks, revisé que el servicio se estuviera ejecutando y la base de datos de mysql tuviera conectividad. Al descartar estas dos posibilidades y no lograr que los datos quedarán registrados entre a revisar en detalle el archivo de configuración /usr/local/nagios/etc/ndomod.cfg y lo que me encontre fue lo siguiente:
# DATA PROCESSING OPTION # This option determines what data the NDO NEB module will process. # Do not mess with this option unless you know what you’re doing!!!! # Read the source code (include/ndbxtmod.h) to determine what values # to use here. Values from source code should be OR’ed to get the # value to use here. A value of -1 will cause all data to be processed. # Read the source code (include/ndomod.h) and look for “NDOMOD_PROCESS_” # to determine what values to use here. Values from source code should # be OR’ed to get the value to use here. A value of -1 will cause all # data to be processed. #no timed event, no host check, no service check data_processing_options=67108669
Después de leerlo me quedo claro que el valor de la opción data_processing_options no iba a permitir que se poblará la tabla nagios_servicechecks. Cambien el valor a -1 y luego de reiniciar el servicio ¡voila! lo datos comenzaron a quedar registrados.
Sin embargo, sentí mucha curiosidad sobre el valor anterior 67108669 y me di a la tarea de buscar el archivo ndomod.h con el fin de entender la razon de este y cualquier otro valor.
Al revisarlo encontré los siguientes valores:
#define NDOMOD_PROCESS_PROCESS_DATA 1 #define NDOMOD_PROCESS_TIMED_EVENT_DATA 2 #define NDOMOD_PROCESS_LOG_DATA 4 #define NDOMOD_PROCESS_SYSTEM_COMMAND_DATA 8 #define NDOMOD_PROCESS_EVENT_HANDLER_DATA 16 #define NDOMOD_PROCESS_NOTIFICATION_DATA 32 #define NDOMOD_PROCESS_SERVICE_CHECK_DATA 64 #define NDOMOD_PROCESS_HOST_CHECK_DATA 128 #define NDOMOD_PROCESS_COMMENT_DATA 256 #define NDOMOD_PROCESS_DOWNTIME_DATA 512 #define NDOMOD_PROCESS_FLAPPING_DATA 1024 #define NDOMOD_PROCESS_PROGRAM_STATUS_DATA 2048 #define NDOMOD_PROCESS_HOST_STATUS_DATA 4096 #define NDOMOD_PROCESS_SERVICE_STATUS_DATA 8192 #define NDOMOD_PROCESS_ADAPTIVE_PROGRAM_DATA 16384 #define NDOMOD_PROCESS_ADAPTIVE_HOST_DATA 32768 #define NDOMOD_PROCESS_ADAPTIVE_SERVICE_DATA 65536 #define NDOMOD_PROCESS_EXTERNAL_COMMAND_DATA 131072 #define NDOMOD_PROCESS_OBJECT_CONFIG_DATA 262144 #define NDOMOD_PROCESS_MAIN_CONFIG_DATA 524288 #define NDOMOD_PROCESS_AGGREGATED_STATUS_DATA 1048576 #define NDOMOD_PROCESS_RETENTION_DATA 2097152 #define NDOMOD_PROCESS_ACKNOWLEDGEMENT_DATA 4194304 #define NDOMOD_PROCESS_STATECHANGE_DATA 8388608 #define NDOMOD_PROCESS_CONTACT_STATUS_DATA 16777216 #define NDOMOD_PROCESS_ADAPTIVE_CONTACT_DATA 33554432 #define NDOMOD_PROCESS_EVERYTHING 67108863
Fue evidente que se trata de un bitmap al convertir el número en binario el resultado es 11111111111111111100111101, donde se ve que el segundo, septimo y octavo bits estan apagados indicando que las opciones NDOMOD_PROCESS_TIMED_EVENT_DATA, NDOMOD_PROCESS_SERVICE_CHECK_DATA y NDOMOD_PROCESS_HOST_CHECK_DATA estaban deshabilitadas, tal como lo indicaban los comentarios en el archivo de configuración.
En la URL http://www.rlogix.com/node/38 encontrarán una calculadora que permite calcular con base en las opciones seleccionadas el valor apropiado para data_processing_options.
Si te es útil esta información no olvides dejar tus comentarios.
hola , me pasa exactamente lo mimo que mencionas y ya no seque puede ser.. los logs de nagios y de ndoutils esta bn no hay error ni nada , pero al abrir la base de datos solo me encuentro con las tablas pero todas vacias… cambie el valor que mencionas a 1 y nada reinicio y nada …
que podria ser ..??
data_processing_options=-1 que se supone que permite procesar todo los datos.. mm ayuda porfavor 😉