PNP4Nagios es un addon para
nagios con el que conseguimos tener gráficos de los datos de
monitorización que va recolectando Nagios. A continuación se puede ver
una muestra de cómo aparecen los gráficos.

Toda la información referente al addon pnp4nagios se puede encontrar aquí:
http://docs.pnp4nagios.org/es/pnp-0.6/start
Se puede descargar el programa aquí:
http://sourceforge.net/projects/pnp4nagios/
perl5, rrdtool, php5, php5-gd, librrds-perl
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
En el modo masivo, Nagios escribe los datos a un fichero temporal en un formato predefinido. Este fichero se procesa mediante
Se debe habilitar el procesado de datos de rendimiento en
Las directivas y su significado:
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
Antes de iniciar NPCD debe comprobar las rutas al directorio de spool y a
“ ”
para solucionar esto, lo que hay que hacer es modificar el fichero php.ini, que se encuentra en /etc/php5/apache2/php.ini de manera que la variable magic_quotes_gpc = Off
Reiniciamos apache y desaparece el mensaje.
Renombramos el fichero /usr/local/pnp4nagios/share/install.php de la siguiente manera:
sudo mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php.old
IMPORTANTE
También hay que cambiar en el archivo process_perfdata.cfg para ver correctamente los gráficos (XML) el modo de codificación:
Hay que cambiar XML_ENC = UTF-8 por XML_ENC = ISO-8859-1
Puesto que con los caracteres en castellano UTF-8 no funciona correctamente
sudo cp /usr/local/pnp4nagios/etc/npcd.cfg-sample /usr/local/pnp4nagios/etc/npcd.cfg
# Language definitions to use.
# valid options are en_US, de_DE, es_ES
#
$conf['lang'] = "es_ES";
Con esto conseguimos que el idioma en la aplicación sea español.

Toda la información referente al addon pnp4nagios se puede encontrar aquí:
http://docs.pnp4nagios.org/es/pnp-0.6/start
Se puede descargar el programa aquí:
http://sourceforge.net/projects/pnp4nagios/
Software previo
Los paquetes que hay que instalar en ubuntu son:perl5, rrdtool, php5, php5-gd, librrds-perl
Instalación
Primero descomprimimos el fichero descargadotar -xvzf pnp4nagios-HEAD.tar.gz cd pnp4nagiosDentro del directorio descomprimido, ejecutamos:
sudo ./configureTendremos que ver si hay algún error, sino continuamos con los make, que instala el programa
make all
make install
make fullinstall
Configuración
pnp4nagios puede funcionar en tres modos:- Sincrono: Cada vez que se hace un chequeo, se ejecutan los comandos para guardar la información para pnp. Es el modo más simple de configurar pero el que más carga el servidor de nagios
- Masivo: Se va recolectando la información en un fichero y de vez en cuando nagios ejecuta un comando para volcar la información. Al usar un fichero temporal reduce la carga del servidor de nagios pero es mas complicado de configurar.
- Masivo con NPCD: Igual que en el caso anterior, se va recolectando en un fichero la información, pero en vez de ser nagios el que ejecuta el comando, el demonio NPCD es el encargado de volcar la información a pnp4nagios. No carga nada el servidor de nagios, puesto que es un proceso distinto el que procesa el archivo temporal de datos.
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.cfgprocess_performance_data=1Ademá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-fileAtenció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_fileruta al fichero temporal que debería alojar los datos de rendimiento. -
service_perfdata_file_templateformato del fichero temporal. Los datos se definen usando macros de Nagios. -
service_perfdata_file_modeopción “a” especifica los datos que se van a añadir al fichero. -
service_perfdata_file_processing_intervalel intervalo es 15 segundos -
service_perfdata_file_processing_commandel comando que se invocará en el intervalo.
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.cfgLa opción
-d inicia NPCD como un demonio en segundo plano.Empezar a utilizar pnp4nagios
Una vez hechos los pasos anteriores, hay que reiniciar tanto nagios como apache, entonces entrando en un navegador con http://nombredelservidor/pnp4nagios aparecerá la pantalla de comprobación de la instalación de pnp4nagios, y puede que nos de algún mensaje de error, concretamente a mi me salión el siguente mensaje de error:“ ”
para solucionar esto, lo que hay que hacer es modificar el fichero php.ini, que se encuentra en /etc/php5/apache2/php.ini de manera que la variable magic_quotes_gpc = Off
Reiniciamos apache y desaparece el mensaje.
Renombramos el fichero /usr/local/pnp4nagios/share/install.php de la siguiente manera:
sudo mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php.old
IMPORTANTE
También hay que cambiar en el archivo process_perfdata.cfg para ver correctamente los gráficos (XML) el modo de codificación:
Hay que cambiar XML_ENC = UTF-8 por XML_ENC = ISO-8859-1
Puesto que con los caracteres en castellano UTF-8 no funciona correctamente
Autoarranque del demonio NPCD
Si dejamos todo como hasta ahora, el demonio NPCD se ejecutaría, pero cuando se reiniciase la máquina, no se reiniciaría el demonio NPCD, para que esto ocurra deberemos dar los siguientes pasos:- Dentro del directorio que descomprimimos pnp4nagios dentro de la carpeta script, hay un script que se llama rc.npcd, copiamos este script con el siguiente comando:
- sudo cp rc.npcd /etc/init.d/npcd
- Habrá que cambiar los permisos del script de manera que sea ejecutable, esto es con el comando:
- sudo chmod 755 npcd
- Una vez copiado el script (ya lo podremos ejecutar), ya podemos iniciar, parar, reiniciar, etc el demonio ejecuntando /etc/init.d/npcd y con el modificador que queramos.
- Para que se ejecute automaticamente cuando arrancamos la máquina hay que ejecutar el siguiente comando
- sudo ln -s /etc/init.d/npcd /etc/rcS.d/S99npcd
sudo cp /usr/local/pnp4nagios/etc/npcd.cfg-sample /usr/local/pnp4nagios/etc/npcd.cfg
Cambio de idioma
Para cambiar el idioma del front-end a español, habrá que cambiar a es_ES la siguiente variable en el archivo /usr/local/pnp4nagios/etc/config.php# Language definitions to use.
# valid options are en_US, de_DE, es_ES
#
$conf['lang'] = "es_ES";
Con esto conseguimos que el idioma en la aplicación sea español.
No hay comentarios:
Publicar un comentario