====== Configuración ====== Aquí describimos en más detalle la configuración de los modos mencionados [[modes|modos de procesado de datos de rendimiento]]. ===== Modo Síncrono ===== El modo síncrono es la forma más fácil de integrar en nagios el recolector de datos ''process_perfdata.pl''. Cada evento dispara la ejecución de ''process-service-perfdata''. Inicialmente hemos debido habilitar el procesado de los datos de rendimiento en ''nagios.cfg''. Tenga en cuenta que esta directiva ya estará presente en el fichero de configuración. El valor por defecto es "0". process_performance_data=1 El procesado de los datos debe ser deshabilitado en la definición de cada equipo o servicio para los que los datos de rendimiento NO deban ser procesados. define service { ... process_perf_data 0 ... } Desde la versión Nagios 3.x es posible desactivar la exportación de las variables de entorno (como parte de la optimización del sistema para obtener el máximo rendimiento). Deafortunadamente esta directiva debe estar habilitada para usar el modo síncrono. Por ello debe usar los valores por defecto (export está habilitado) o definir la variable en ''nagios.cfg'' enable_environment_macros=1 Además, el comando para procesar los datos de rendimiento debe especificarse en ''nagios.cfg'' service_perfdata_command=process-service-perfdata A partir de Nagios 3.0 it puede ser útil habilitar el procesado de los datos de rendimiento de los equipos. Debido al cambio de lógica de las comprobaciones de los equipos en Nagios 3, ahora se ejecutan regularmente comprobaciones de equipos programadas. host_perfdata_command=process-host-perfdata Nagios debe ser notificado sobre los comandos referenciados. Si ha usado las [[http://nagios.sourceforge.net/docs/3_0/quickstart.html|guías de instalación rápida]] para Nagios, puede modificar las definiciones en commands.cfg. Se puede observar que la llamada a process_perfdata.pl no requiere de ningún argumento, aparte de especificar la opción -d ( DATATYPE ) si quiere procesar los datos de rendimiento resultantes de las comprobaciones de los equipos. define command { command_name process-service-perfdata command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl } define command { command_name process-host-perfdata command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA } **Nota** ''process_perfdata.pl'' no puede ejecutarse bajo el control de ePN ( embedded Perl Nagios ). El script debe ser explícitamente llamado usando ''/usr/bin/perl'' ( o donde quiera que esté localizado su binario de perl ). Si usa Nagios 3.x o no usa ePN no hay necesidad de especificar ''/usr/bin/perl''. ===== Modo Masivo ===== El modo masivo es algo más complicado que el síncrono, pero reduce significativamente la carga en el servidor de nagios, debido a que el recolector de datos ''process_perfdata.pl'' no es invocada en cada chequeo de servicio/equipo. En el modo masivo, Nagios escribe los datos a un fichero temporal en un formato predefinido. Este fichero se procesa mediante ''process_perfdata.pl'' a intervalos regulares. Nagios controla el arranque y ejecución periódica del recolector de datos. Se debe habilitar el procesado de datos de rendimiento en ''nagios.cfg'' process_performance_data=1 Además, otras directivas son necesarias # # service performance data # service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$ service_perfdata_file_mode=a service_perfdata_file_processing_interval=15 service_perfdata_file_processing_command=process-service-perfdata-file # # host performance data starting with Nagios 3.0 # host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$ host_perfdata_file_mode=a host_perfdata_file_processing_interval=15 host_perfdata_file_processing_command=process-host-perfdata-file **Atención:** ¡Tenga en cuenta que la definición de esta plantilla puede diferir de las suministradas en ''nagios.cfg''! Las directivas y su significado: * ''**service_perfdata_file**'' ruta al fichero temporal que debería alojar los datos de rendimiento. * ''**service_perfdata_file_template**'' [[perfdata_file_template|formato]] del fichero temporal. Los datos se definen usando macros de Nagios. * ''**service_perfdata_file_mode**'' opción "a" especifica los datos que se van a añadir al fichero. * ''**service_perfdata_file_processing_interval**'' el intervalo es 15 segundos * ''**service_perfdata_file_processing_command**'' el comando que se invocará en el intervalo. Los comandos que se utilizan deben ser configurados en Nagios. Si ha usado las [[http://nagios.sourceforge.net/docs/3_0/quickstart.html|guías de instalación rápida]] de Nagios, puede modificar las definiciones en commands.cfg. define command{ command_name process-service-perfdata-file command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/service-perfdata } define command{ command_name process-host-perfdata-file command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/host-perfdata } Debido a que hay más datos a procesar que en el modo síncrono ''process_perfdata.pl'' tardará más en realizar su tarea, por lo que debería comprobar el valor de TIMEOUT en ''etc/process_perfdata.cfg'' y ajustarlo adecuadamente. ===== Modo Masivo con NPCD ===== La configuración es idéntica al modo masivo, excepto por el comanado usado. Se debe habilitar el procesado de datos de rendimiento en ''nagios.cfg'' process_performance_data=1 Además, otras directivas son necesarias # # service performance data # service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$ service_perfdata_file_mode=a service_perfdata_file_processing_interval=15 service_perfdata_file_processing_command=process-service-perfdata-file # # host performance data starting with Nagios 3.0 # host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$ host_perfdata_file_mode=a host_perfdata_file_processing_interval=15 host_perfdata_file_processing_command=process-host-perfdata-file **Atención:** ¡Tenga en cuenta que la definición de esta plantilla puede diferir de las suministradas en ''nagios.cfg''! Las directivas y su significado: * ''**service_perfdata_file**'' ruta al fichero temporal que debería alojar los datos de rendimiento. * ''**service_perfdata_file_template**'' [[perfdata_file_template|formato]] del fichero temporal. Los datos se definen usando macros de Nagios. * ''**service_perfdata_file_mode**'' opción "a" especifica los datos que se van a añadir al fichero. * ''**service_perfdata_file_processing_interval**'' el intervalo es 15 segundos * ''**service_perfdata_file_processing_command**'' el comando que se invocará en el intervalo. Los comandos que se utilizan deben ser configurados en Nagios. Si ha usado las [[http://nagios.sourceforge.net/docs/3_0/quickstart.html|guías de instalación rápida]] de Nagios, puede modificar las definiciones en commands.cfg. define command{ command_name process-service-perfdata-file command_line /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$ } define command{ command_name process-host-perfdata-file command_line /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$ } Al usar estos comandos, el fichero service-perfdata, es movido a var/spool/ depués del intervalo especificado en ''**service_perfdata_file_processing_interval**''. La macro de Nagios $TIMET$ se añade al nombre del fichero para evitar la sobreescritura accidental de ficheros anteriores. La macro $TIMET$ contiene el timestamp actual en formaro time_t (segundos desde la época UNIX). En el directorio /usr/local/pnp4nagios/var/spool/ los ficheros son recuperados y procesados por NPCD. NPCD monitoriza el directorio spool y le pasa los nombres de fichero a ''process_perfdata.pl''. De esta forma el procesado de los datos de rendimiento está totalmente desacoplado de Nagios. Antes de iniciar NPCD debe comprobar las rutas al directorio de spool y a ''process_perfdata.pl'' en el fichero de configuración ''npcd.cfg''. Lo único que queda es iniciar NPCD. /usr/local/pnp4nagios/bin/npcd -d -f /usr/local/pnp4nagios/etc/npcd.cfg La opción ''-d'' inicia NPCD como un demonio en segundo plano. [[start|volver a contenidos]] | [[verify|comprobando la funcionalidad]]