Nagmap es un es una adaptación en PHP de googlemaps para Nagios. En resumen se trata de una pagina que presenta un mapa de Googlemaps en el cual se pueden colocar los servicios y hosts que se quieran por medio de un marker, cambiando el mismo de color de acuerdo al estado del servicio o host:
Consideraciones Iniciales
En esta guía se supone instalado Nagios. No se explicaran configuraciones de servicios o hosts ni respecto a plugins. Nagmap requiere de un web server como Apache para funcionar y también de tener paquetes de php instalados, dado a que esto también es necesario para Nagios no se explicara como instalarlos.
La guía esta realizada pensando en Debian/Ubuntu con capacidad de hacer comando como super usuario con sudo. Esta probada en Ubuntu 14.04 LTS.
Instalación
A continuación se describen los pasos para la instalación de Nagmap, al final se darán guías útiles respecto a la modificación del mapa o la instalación de varios mapas distintos.
Código Fuente
Para descargar codigo fuente puede ingresarse a la pagina de Nagmap en Nagios Exchange:
http://exchange.nagios.org/directory/Addons/Maps-and-Diagrams/nagmap/details
El código fuente de Nagmap se mantiene en Github en la siguiente pagina:
https://github.com/hecko/nagmap/
Y la descarga directa de la rama principal de código es la siguiente:
https://github.com/hecko/nagmap/archive/master.zip
De forma que para descargar el código en un servidor se puede hacer:
cd /tmp/
wget https://github.com/hecko/nagmap/archive/master.zip
Como el código viene comprimido con ZIP se puede descomprimir con el comando UNZIP, hay que instalarlo en caso de que no este ya instalado en el sistema.
sudo apt-get install unzip
unzip master.zip
creating: nagmap-master/
extracting: nagmap-master/.gitignore
inflating: nagmap-master/CHANGELOG
inflating: nagmap-master/INSTALL
inflating: nagmap-master/README
inflating: nagmap-master/config.php.example
inflating: nagmap-master/favicon.ico
inflating: nagmap-master/functions.php
inflating: nagmap-master/index.php
inflating: nagmap-master/marker.php
inflating: nagmap-master/style.css
De esa forma se crea el directorio nagmap-master/ dentro del cual se encuentra el código de nagmap.
Instalación
Para la instalación de Nagmap solo es necesario mover el directorio a la raiz para la cual el Servidor Web esta configurado. En el caso de Apache esto puede verse así:
cat /etc/apache2/sites-available/000-default.conf | grep DocumentRoot
DocumentRoot /var/www/html
En este caso la raíz para el web server es /var/www/html/ entonces podemos copiar aquí los archivos de nagmap.
sudo mv nagmap-master/ /var/www/html/
Configuración Nagmap
Luego de esto es necesario configurar a Nagmap para indicarle de donde obtener el estado de los servicios y hosts. Esto es hace en el archivo de configuración de Nagmap. Nagmap ya trae un archivo de configuración de ejemplo, vamos a conservarlo como respaldo y trabajar en uno nuevo. Copiamos config.php.example al mismo directorio pero con el nombre config.php.
sudo cp /var/www/html/nagmap-master/config.php.example /var/www/html/nagmap-master/config.php
Config.php se ve algo así:
// set these two lines – they are very important
// in linux run `updatedb` and `locate nagios.cfg` and `locate status.dat` to find these files
// they are usually placed in /usr/local/nagios/etc/nagios.cfg and /usr/local/nagios/var/status.dat
$nagios_cfg_file = “/usr/local/nagios/etc/nagios.cfg”;
$nagios_status_dat_file = “/usr/local/nagios/var/status.dat”;
// hostgroup filter – only show hosts from this hotgroup
// leave empty for not filtering
$nagmap_filter_hostgroup = ”;
// set to the centre of your map
$nagmap_map_centre = ’66.17,-15.21′;
// default zoom level of the map
$nagmap_map_zoom = 14;
// show sidebar with hosts and their statuses? 1=yes, 0=no
$nagmap_sidebar = 1;
// which google maps type to use?
$nagmap_map_type = ‘SATELLITE’; //you can use any of these: ROADMAP or SATELLITE or HYBRID or TERRAIN
// use this only to generate extra information for support – this will add a lot of information into the rendered index file
$nagmap_debug = 0;
$nagmap_bubble_extra = ‘https://github.com/hecko/nagmap”>NagMap on GitHub
’;
$nagmap_sidebar_top_extra = ‘
’;
?>
A continuación se explicará cada variable de config.php y como obtenerlas, :
$nagios_cfg_file
Se trata de la configuración de Nagios: nagios.cfg. Esta se encuentra dentro del directorio de Nagios. La ubicación de este archivo cambia dependiendo de la distribución de Linux y del método de instalación. Ubicaciones comunes de este archivo son:
/etc/nagios3/nagios.cfg (Instalación en Ubuntu por repositorios).
/usr/local/nagios/etc/nagios.cfg (Instalación por código fuente).
$nagios_status_dat_file
Este es el archivo que utiliza Nagios para guardar estado de los servicios, downtime y comentarios. Este archivo es procesado por Nagmap para conocer el estado y colocar los servicios en el mapa. Igual que nagios.cfg depende de la instalación, lugares comunes son:
/var/cache/nagios3/status.dat (Instalación en Ubuntu por repositorios).
/usr/local/nagios/var/status.dat (Instalación por código fuente)
$nagmap_filter_hostgroup
Se trata de un filtro del hostgroup de Nagios. Si se quieren mostrar solo equipos de cierto hostgroup en el mapa entonces se puede insertar aquí dicho hostgroup.
$nagmap_map_centre
Esta variable define en donde se va a centrar el mapa por defecto. En la configuración viene un ejemplo de la sintaxis esperada. La misma es de forma ‘latitud, longitud’. La posición latitud/longitud se puede encontrar en Google Earth o puede tomarse facilmente de googlemaps en páginas como:
http://universimmedia.pagesperso-orange.fr/geo/loc.htm
$nagmap_map_zoom
Luego de centrar el mapa se puede especificar el nivel de zoom sobre el mapa por defecto. La configuración viene con un valor de 14, para llegar a un nivel deseado es mejor probar con diferentes niveles de zoom hasta conseguir el que se ajuste mejor a nuestras necesidades.
$nagmap_sidebar
Nagmap tiene una barra a la derecha donde se presentan todos los hosts y sus estados. Esta barra se puede desactivar con esta variable colocando un ’0′ o actival colocando un ’1′.
$nagmap_map_type
Esta variable indica el tipo de vista de googlemaps, puede ser por satelite colocando ‘SATELLITE’ o de calles con ‘ROADMAP’.
$nagmap_debug
Si esta modificando algo en el código de nagmap podría querer ver información de errores y alertas en PHP, para eso puede activar el debug colocando un ’1′ en esta variable. De otra forma dejelo desactivado con un ’0′ aquí.
$nagmap_bubble_extra
En esta variable se puede ingresar información extra en la burbuja que se abre al dar click en un marcador del mapa. La información se ingresa en html y entre comillas simples. De ejemplo se tiene:
$nagmap_bubble_extra = ‘https://github.com/hecko/nagmap”>NagMap on GitHub
’;
Esto da la oportunidad de ingresar imagenes estaticas, notas al pie de la burbuja, entre otros.
$nagmap_sidebar_top_extra
Esta variable también contiene código en HTML pero este código se colocaría adentro de la barra del lado. En el ejemplo se coloca una imagen que esta dentro del mismo servidor.
$nagmap_sidebar_top_extra = ‘
’;
Una vez realizado esto podemos entrar a nuestro server y ver el mapa de nagmap en la dirección: http://IPDELSERVER/nagmap-master. Para este momento ya se vería el mapa pero aún no se ve ningún marcador. Para esto es necesario configurar los equipos de Nagios que se desean en el mapa.
Configuración Nagios
Para configurar Nagios y usarlo con Nagmap es muy sencillo. La configuración se realiza en la definición de cualquier Host. Hay dos variables que se utilizan.
notes: En notes se coloca la ubicación geográfica de un nodo escribiendola de la siguiente forma: notes latlng: 9.71, -82.83.
parents: Al colocar un equipo como parent de otro se creará una línea entre ambos que cambiara de color de acuerdo a el estado de los hosts.
Un ejemplo sería:
define host{
use linux-server
host_name Server-02
alias Servidor de Base de Datos
address 10.0.0.2
notes latlng: 9.91, -83.66
parents Switch-01
}
En el ejemplo se observa la variable notes incluyendo la ubicación.
Múltiples Mapas
Hasta ahora si entramos a la siguiente página vemos nuestro mapa:
http://IPDELSERVER/nagmap-master
Sin embargo podríamos crear varios mapas o cambiar la dirección de este. Para eso basta con copias la carpeta entera a un nuevo directorio.
sudo cp -r /var/www/html/nagmap-master/ /var/www/html/servidores
Entrando ahora podemos ver el mapa también en:
http://IPDELSERVER/servidores
Podríamos crear otro mapa solamente de enrutadores
sudo cp -r /var/www/html/nagmap-master/ /var/www/html/enrutadores
Y para definir que se trata solo de enrutadores se puede crear un hostgroup de enrutadores en nagios y luego filtrarlo en config.php del nuevo mapa que creamos.
Integración con Nagios
Nuestros mapas ahora funcionan en nuestro servidor. Para poder integrarlos en nagios podemos editar el archivo html que define la barra de la izquierda en Nagios. Los lugares donde comúnmente esta este archivo son:
/usr/local/nagios/share/side.php
/usr/share/nagios3/htdocs/side.php
Tomado de: http://www.nagios-do.org/?p=609
No hay comentarios:
Publicar un comentario