Darle color a Nagios: PNP4Nagios
Seguramente Nagios es un optimo programa para el monitoreo de servidores, switch y dispositivos en general. Pero le hace falta algo que la mayoría de los programas de monitoreo tienen: los gráficos. Pasa suplir esta falta afortunadamente existe el programa PNP4Nagios. En este articulo veremos como instalarlo y complementarlo con Nagios.
Requisitos previos:
- Perl >= 5.x sin módulos adicionales
- RRDtool >= 1.x, mejor 1.2 pero no obligatorio
- PHP >= 5.1.6 para el frontal web basado en Kohana
- Nagios >= 2.x o Icinga
- Kohana necesita que el módulo de Apache “mod_rewrite” esté habilitado.
En el caso de CentOS 6.3, RRDtool se instalará desde las fuentes:
cd /usr/src
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz
tar -xf rrdtool-1.4.7.tar.gz
cd rrdtool-1.4.7
./configure --prefix=/usr
make
make install
Terminada la instalación de RRDTool ya podemos instalar PNP4Nagios:
cd /usr/src
wget http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.19.tar.gz
tar -xf pnp4nagios-0.6.19.tar.gz
cd pnp4nagios-0.6.19
./configure
Aparecerá:
PNP4Nagios detectará de forma automática RRDTool y estará listo para la instalación. Se continua con:
make all
make fullinstall
Terminada la instalación los pasos a seguir son:
- Modificar el templates.cfg de Nagios
- Modificar el commands.cfg de Nagios
- Modificar la configuración general de Nagios
- Modificar la configuración de los servidores, servicios monitoreados
- Reiniciar Nagios
- Reiniciar el Servidor Web
Empezamos con el templates.cfg. Al final del archivo se añaden los siguientes bloques:
define host {
name host-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
register 0
}
define service {
name srv-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
Se guardan los cambios y se continua con el archivo commands.cfg. Al final del archivo se añaden las siguientes líneas:
define command {
command_name process-service-perfdata
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_name process-host-perfdata
command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
}
Estos dos comandos son los que se encargan de recolectar los datos para luego crear los gráficos. Ya se puede pasar al archivo nagios.cfg
Se modifican estás líneas para que queden:
process_performance_data=1
enable_environment_macros=1
enable_environment_macros=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata
Se guardan los cambios. Para Activar PNP4Nagios tomando como ejemplo el archivo localhost.cfg se modifica cada servicio/host monitoreado de la siguiente manera:
define host{
use linux-server,host-pnp
use linux-server,host-pnp
host_name MiServidor
alias MiServidor
address 127.0.0.1
}
En la línea use se añade host-pnp (como se ha configurado en el archivo templates.cfg) ya que se trata de un “define host”. Para cada servicio:
define service{
use local-service,srv-pnp
use local-service,srv-pnp
host_name MiServidor
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
Se añade srv-pnp en la línea use. Cuando se haya terminado con todas las modificaciones se reinicia nagios:
service nagios restart
y el servidor web
service httpd restart
Se entra a la pagina Web de Nagios y se notará el cambio:
Por cada servidor monitoreado aparecerá un nuevo icono para acceder a los gráficos.
Si, por ejemplo, escogemos el grafico de los canales SIP de un servidor:
Veremos todos los canales SIP Activos en el servidor seleccionado. Si queremos modificar la configuración predefinida de PNP4Nagios, hay que abrir el siguiente archivo:
nano /usr/local/pnp4nagios/etc/config_local.php
La ultima versión de PNP4Nagios tiene también un versión Mobile a la que podemos acceder desde el navegador web de nuestro celular. La dirección es:
http://www.midominio.org/pnp4nagios/mobile
Comentarios