Table of Contents
Frontal web de Nagios
PNP debería ser fácilmente accesible. Nagios permite que se llamen a URLs externas mediante las configuraciones de extended info. Se describen a continuación tanto para la versión 2.x como para la 3.x debido a los cambios entre las dos ramas de nagios.
Nagios 2.x
Con Nagios 2.x la integración de URLs externas en el interfaz web se realiza mediante los Extended Info Objects para servicios. Para PNP usaremos la directiva action_url para invocar al frontal web de PNP con las opciones apropiadas.
define serviceextinfo { host_name localhost service_description load action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ }
Debe especificar una Extended Info Definition adicional para cada servicio.
Nagios 3.x
Desde nagios 3.0 la directiva action_url se ha cambiado a equipo o definición de servicio. De esta forma se simplifica la definición de URLs al interfaz de PNP. Las definiciones serviceextinfo y hostextinfo son obsoletas ahora.
Primero definimos dos plantillas de nagios. Si ha usado lasguías de instalación rápida de Nagios puede añadir estas líneas a templates.cfg:
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 }
Estas dos plantillas pueden ser incluídas via “use srv-pnp” o “use host-pnp” para servicios y equipos respectivamente. Si ha seguido las guías rápidas de instalación, ahora puede por ejemplo editar el fichero localhost.cfg y añadir la plantilla para la definición de equipo o servicio de la forma siguiente:
define host{ use linux-server,host-pnp ; Nombre de la plantilla de equipo a usar ; Esta definición de equipo heredará todas las variables ; definidas en (o heredadas por) la definición ; de plantilla. host_name localhost alias localhost address 127.0.0.1 }
define service{ use local-service,srv-pnp ; Nombre de la plantilla de servicio a usar host_name localhost service_description PING check_command check_ping!100.0,20%!500.0,60% }
Los enlaces a las URLs correctas se crean automáticamente.
Popups
Se puede integrar PNP en Nagios de una forma en la que se pueden visualizar los gráficos sin tener que hacer click en ningún icono. Esto puede hacerse usando CGI Includes que permiten incluir código JavaScript en la vista de detalle del estado ( status.cgi ).
Prerrequisitos:
- PNP instalado y funcionando
- el file status-header.ssi presente el directorio contrib/ssi/ del paquete PNP debe ser copiado a /usr/local/nagios/share/ssi/.
Atención: Este fichero NO debe ser ejecutable. Si lo fuera ser trataría como un CGI lo que resultaría en un error.
*Nota para los admins de Apache*: Apache ssi y Nagios ssi sólo tienen un nombre similar. - La(s) definición(es) del servicio apropiado tiene que ser modificada. Tenga en cuenta que hasta la versión 2.x de Nagios debe modificar la definición de serviceextinfo (la cual es obsoleta a partir de Nagios 3).
Definición:
define host { name host-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_ register 0 } define service { name srv-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$ register 0 }
Después de reiniciar Nagios (después de modificar las definiciones) el resultado será similar a este: