Menu
- PNP4Nagios 0.6.x
- PNP4Nagios 0.4.x
NPCD (Nagios-Perfdata-C-Daemon) ha sido escrito para facilitar un método asíncrono para el manejo de los datos de rendimiento con nagios
.
En grandes instalaciones con nagios, la latencia media de los chequeos puede incrementarse hasta valores no aceptables. Esto quiere decir que Nagios deberá realizar un chequeo en un momento x
pero realmente lo hace y
segundos más tarde.
Si le decimos al core de Nagios que queremos procesar los datos de rendimiento después de cada chequeo, se soportará una cierta cantidad, pero más allá de estos límites empezaremos a tener problemas de latencia.
Para reducir el número de acciones por cada chequeo, podemos usar el Modo Masivo que obtiene datos durante algún tiempo y entonces le dice a Nagios que ejecute el <host|service>_perfdata_file_processing_command
o podemos decirle a Nagios que mueva los perfdata_files
a un directorio de spool.
Esta última acción es muy rápida, por lo que el tiempo de bloqueo de Nagios es mínimo, por lo que puede seguir haciendo lo que debería: ejecutar otros chequeos, envío de notificaciones, etc.
Como hemos mencionado anteriormente, el proceso de Nagios termina su trabajo al mover los ficheros de datos de rendimiento, pero con esto no hemos convertido estos datos en ficheros RRD.
Para esta tarea podemos ejecutar npcd
que busca en el directorio de spool y ejecuta una acción por cada fichero que haya encontrado.
Después de que NPCD se ejecuta crea una lista de ficheros encontrados en perfdata_spool_dir
y lanza nuevos hilos de ejecución por cada fichero, ejecutando el comando perfdata_file_run_cmd
con el argumento opcional perfdata_file_run_cmd_arg
.
Ya que los ficheros de perfdata que están en el directorio de spool están en el mismo formato que para el modo masivo, NPCD ejecutará process_perfdata.pl
en Modo Masivo.
Ventajas:
Desventajas:
Nagios
(service_perfdata_file_processing_interval
)
Para controlar NPCD, tiene un fichero de configuración propio del que se suministra un ejemplo, npcd.cfg-sample
.
Renómbrelo a npcd.cfg
para arrancar NPCD de esta forma:
/usr/local/pnp4nagios/bin/npcd -f /usr/local/pnp4nagios/etc/npcd.cfg
o
/usr/local/pnp4nagios/bin/npcd -d -f /usr/local/pnp4nagios/etc/npcd.cfg
para ejecutarlo como demonio (background).
Truco: Si no renombra el fichero de configuración, éste puede ser sobreescrito por futuras actualizaciones de PNP.
Estas son las directivas de configuración esenciales para NPCD:
# Privilege Options user = nagios group = nagios # Logging Options log_type = syslog log_file = /usr/local/pnp4nagios/var/npcd.log max_logfile_size = 10485760 log_level=0 # Processing Options perfdata_spool_dir = /usr/local/pnp4nagios/var/spool/ perfdata_file_run_cmd = /usr/local/pnp4nagios/libexec/process_perfdata.pl perfdata_file_run_cmd_args = -b # Thread Options npcd_max_threads=5 # greedy options use_load_threshold = 0 load_threshold = 10.0 # Process Options pid_file=/var/run/npcd.pid
log_type = file
this will be the logfile used<perfdata_file_run_cmd> <perfdata_file_run_cmd_args> <filename_from_perfdata_spool_dir>
use_load_threshold
se establece a 1 este límite de carga no será excedido