Sunteți pe pagina 1din 4

NagVis PORTADA

Joerg Humpe, Fotolis

Visualizacin de redes Nagios con NagVis

VISTA
PERSONALIZADA
Si necesitamos una posicin dominante desde la que advertir posibles
problemas, quiz NagVis, una sencilla herramienta para visualizar el
estado de nuestras redes, sea lo que estamos buscando.
POR JAMES MOHR

agios es una popular herramienta de monitorizacin de


cdigo abierto que nos asiste
en la organizacin del estado de las
mquinas y servicios de una red. Si
todos los servicios van bien, probablemente baste con la vista que nos muestra la herramienta. Pero cuando se
trata de redes de gran tamao, o
cuando la red es proclive a sufrir problemas ocasionales, puede que sea
preferible disponer de una representa-

cin grfica de la situacin. La renderizacin grfica de una red supone un


mtodo rpido de diagnstico para los
problemas que se pudieran estar produciendo. Adems, un director suele
preferir unas vistosas imgenes y la
conveniencia de un resumen visual.
NagVis [1] es un til add-on de
Nagios que permite visualizar los sistemas de una red. La idea es que el
administrador se cree sus propias imgenes de fondo (denominadas mapas)

WWW.LINUX- MAGAZINE.ES

y luego integre en dichas imgenes


unos iconos representativos de las
mquinas y servicios de la red. Cada
icono muestra el estado actual de la
mquina o servicio que representa.
Este diseo simple pero flexible permite la explotacin de NagVis de muy
diversos modos. Por ejemplo, se puede
crear un mapa geogrfico de una habitacin y colocar en l las ubicaciones
fsicas de los servidores que sta contiene. Un mapa podra servir tambin a
modo de vista esquemtica de un servidor nico con iconos para representar cada uno de los servicios que ste
ofrece.
NagVis soporta incluso sub-mapas,
permitiendo de este modo la representacin flexible de grandes redes. Por
ejemplo, un mapa puede representar

Nmero 52

33

PORTADA NagVis

un edificio, y los sub-mapas en l pueden representar los habitculos de


dentro de ese edificio.

Mapas
Un mapa de NagVis se elabora a partir
de una imagen de fondo y una serie de
smbolos representando mquinas y
servicios. Adems de las ventajas
obvias derivadas de poder ver un
mapa representativo de la geografa de
la red, otro modo posible de implementar los mapas de NagVis es creando un diagrama de la estructura
lgica. Por ejemplo, se podran dividir
los sistemas en grupos en base a su
funcionalidad: primario, middleware,
bases de datos
Cada servicio o mquina de Nagios
viene representado por un icono, y el
icono cambia su apariencia en funcin
de su estado. Si un servicio se encuentra en estado crtico, el aviso advirtiendo del problema es inmediato, simplemente a travs de un cambio en el
icono.

NagVis por Dentro


NagVis es una aplicacin en PHP/
AJAX construida sobre Nagios. Adems del propio Nagios, tenemos que
asegurarnos de tener instalados en el
sistema NDO (Nagios Data Out) y
NDOutils (NagVis obtiene toda la
informacin sobre estados de la base
de datos NDO). Para la elaboracin de
este artculo se ha usado la versin
3.0.6 de Nagios, as como NDOutils
1.4b7. Adems, se da por hecho que ya
se encuentra en ejecucin Nagios 3.x
con NDO y que se tiene cierta soltura
con Nagios y NDO.
NagVis es una aplicacin web, por lo
que son tambin necesarios un servidor web y PHP 4.2 o superior, as como
una serie de paquetes que se pueden
consultar en el cuadro titulado Paquetes Necesarios para NagVis. Ntese
que NagVis no tiene por qu ejecutarse
en la misma mquina que Nagios. Es

posible, por ejemplo, ejecutar una instancia de NagVis en un servidor


externo y Nagios en uno interno. En
cierta ocasin, proporcionamos a unos
clientes acceso a Nagvis sin permitirles
el acceso a la instancia latente de
Nagios.
NagVis se suele distribuir en forma
de archivo comprimido con gzip, disponible desde SourceForge a travs del
sitio de NagVis [1]. El archivo se descomprime en un directorio cuyo nombre depende del nmero de versin
(por ejemplo, nagvis-1.3.2), que debemos mover al directorio compartido de
Nagios y renombrar a nagvis. Por
ejemplo del modo siguiente:
mv ./nagvis-1.3.2 U
/usr/local/nagios/share/nagvis

Si se cre un alias a este directorio al


instalar Nagios, no es necesario volver
a crear un alias para NagVis. Todo lo
que necesitamos hacer es definir los
permisos, igual que para el archivo
INSTALL incluido.
El directorio etc, que podemos
encontrar bajo el directorio principal
de NagVis, contiene un archivo de
configuracin de ejemplo. El mtodo
ms sencillo pasa por copiar este
archivo de muestra a nagvis.ini.php y
hacer luego los cambios necesarios.
Este archivo est hecho como los
archivos .ini tpicos de Windows. Los
bloques de configuracin se definen
entre corchetes y cada entrada tiene el
formato parmetro=valor. Por ejemplo, el bloque global predeterminado
presenta el siguiente aspecto:
01 [global]
02 ; seleccin de idioma
(english,german,french,...)
03 language=spanish
04 ; dateformat para las marcas
de mostradas en nagvis
(consultar la documentacin s
05 de PHP)

Slo Mapas
NagVis hace uso del archivo de configuracin de Nagios, /usr/local/nagios/etc/

htpasswd.users, por lo que se aplican las mismas reglas de acceso. De todas formas, es
posible especificar archivos diferentes para conjuntos de usuarios diferentes (por ejemplo, ../share/nagvis/etc/.htaccess). De este modo, es posible proporcionar acceso a
usuarios especficos a determinados mapas de NagVis, sin tener que dejarles acceder
directamente a Nagios.

34

Nmero 52

WWW.LINUX- MAGAZINE.ES

06
07
08
09

;dateformat=Y-m-d H:i:s
;mostrar cabecera o no (0/1)
;displayheader=1
;tiempo de refresco de
las pginas
10 ;refreshtime=60

A travs del archivo de configuracin,


podemos ver que la mayora de los
parmetros estn comentados por
defecto. NagVis es autoexplicativo,
adems de que disponemos de valores
predeterminados para los distintos
parmetros.
Los parmetros de la base de datos
de Nagios se definen en el bloque
correspondiente al backend. Un backend de NagVis es simplemente una
fuente de datos. El tipo de backend
predeterminado, ndomy, significa que
NagVis obtiene los datos a travs de
una base de datos NDO MySQL.
Actualmente es la nica opcin soportada. Hemos de asegurarnos de cambiar los parmetros dbuser (usuario) y
dbpass (contrasea) para que reflejen
los parmetros apropiados. Aunque
podemos usar el mismo usuario que
Nagios, no hay problema en crear un
usuario especfico para NagVis mientras pueda leer la base de datos.
De forma predeterminada, slo disponemos de un backend, definido
como [backend_ndomy_1]; pero se
pueden definir ms. Por tanto, es factible mostrar informacin desde mltiples instancias de Nagios ubicadas en
diferentes mquinas. Todo lo que hay
que hacer es especificar los parmetros
necesarios en la definicin del backend. Ntese que es necesario incluir
backend_ en la definicin para que
NagVis la pueda reconocer.
Si NagVis no funcionase en un primer momento y la pantalla de mensajes de error no fuese de utilidad, siempre podemos mirar en /var/log/messages. Este archivo suele proporcionar
informacin adicional sobre el motivo
real causante del problema. Uno de los
problemas ms comunes se da en el
acceso a la base de datos, cuyo mensaje de error tiene la forma de Could
not open data sink!

Configurando NagVis
Una vez instalado Nagios, se puede
apreciar que hay varios servicios configurados de forma predeterminada para

NagVis PORTADA

blemente conservemos los mapas


durante
algn
tiempo, no es mala
idea hacerlos ms
agradables estticamente. Cuando tengamos la imagen,
la copiamos a ../
nagvis/nagvis/images/maps (el hecho
de que nagvis aparezca dos veces no
es un fallo).
Comenzamos la
configuracin dirigiendo el navegador hacia http://
NOMBREDELAMFigura 1: La pgina de inicio de Nagios proporciona una vista inicial QUINA/nagios/nagde nuestros sistemas.
vis. Esta direccin
nos lleva a la
localhost (la mquina en que se est
pgina de inicio de NagVis (Figura 1).
ejecutando Nagios). Estos servicios
Al pulsar sobre una de las miniaturas,
son comnmente conocidos, por lo
accedemos al correspondiente mapa en
que cuando ejecutamos NagVis, ste
escala completa (Figura 2). En cuallos reconoce y muestra automticaquier momento, podemos pulsar sobre
mente.
Edit current map para entrar en modo
Llegados a este punto, podra el lecedicin. Luego, pulsamos con el botn
tor sentirse tentado a ponerse a confiderecho sobre el mapa para hacer apagurar su mapa inmediatamente, pero le
recer el men contextual. La primera
pasara desapercibido un punto clave:
opcin, Open Map, abre el mapa selecla imagen de fondo.
cionado en el editor de NagVis. Con
Dicha imagen no tiene por qu ser
Open in NagVis se abre en modo de
complicada o extravagante. Un simple
slo lectura. En Options podemos condiagrama de lneas puede valer y
figurar el mapa actual.
cualquier herramienta grfica capaz
La opcin Configuration de Nagvis
de guardar en formato PNG puede
sirve para configurar el propio NagVis.
servir igualmente. An as, a menudo
A menos que se
el propsito de los mapas como ste
hayan hecho cames servir de gancho para los directobios
directamente
res, por lo que quiz s que convenga
sobre el archivo de
elaborar el mapa de forma algo ms
configuracin,
se
detallada. Adems, dado que probapuede ver que todos
los campos aparecen
en blanco con la
Paquetes Necesarios para
configuracin predeNagVis
terminada.
mysql-devel
php5
php5-common
php-gd
php-mysql
php5-mbstring
php5-session
php5-xml
graphviz (para automap)

existente. En la parte superior del formulario (Figura 3), introducimos el


nombre del mapa. Luego, introducimos los nombres de los usuarios que
tienen
acceso
de
lectura
(allowed_user) y los de los que tienen
permiso para cambiar la configuracin
del mapa (allowed_for_config). Estos
usuarios son los mismos que reconoce
el servidor web, pero NagVis no realiza ninguna comprobacin en este
punto. Por tanto, hay que estar seguros
de que los usuarios se definen correctamente.
Ntese que, en caso de dejar en
blanco alguno de los campos relativos
a los usuarios, aparece un aviso. Por
defecto, debemos incluir al menos
nagiosadmin o el nombre que corresponda al administrador principal de
Nagios. Si la seguridad es un punto
importante, se puede usar un usuario
diferente. Adems, podemos definir
este parmetro como EVERYONE, sin
listar los usuarios explcitamente, de
forma que cualquier usuario autenticado podra ver el mapa.
Luego, seleccionamos la imagen de
fondo desde el men desplegable
map_image. En este caso, el mapa creado debe encontrarse en el sistema.
NagVis no ampla ni reduce las imgenes, por lo que cabe la posibilidad de
que la imagen resulte demasiado
grande o demasiado pequea para un
monitor en particular. Si fuese necesario, se tendra que escalar con la ayuda
de una herramienta grfica externa.

Configuracin
de los Mapas
Seleccionando
Manage
|
Maps
desde el men podemos crear un mapa o
realizar
funciones
administrativas,
como renombrar o
eliminar un mapa

Figura 2: Incluso un mapa simple de NagVis puede resultar muy


til.

WWW.LINUX- MAGAZINE.ES

Nmero 52

35

PORTADA NagVis

Luego, sobre Icon para elegir Host, Service, Hostgroup, Servicegroup y Map.
Uno de los aspectos tiles de Nagvis es
Las primeras cuatro opciones no neceque slo reacciona ante estados persissitan explicacin (Mquina, Servitentes. Es decir, si un servicio presenta
cio, Grupo de Mquinas y Grupo
de Servicios, respectivamente). El
una dificultad breve y deja de estar
icono Map nos permite crear un enlace
disponible por un perodo de tiempo
a otro mapa.
breve, normalmente no se observarn
Enlazar diferentes mapas sirve para
cambios en el mapa. Si se prefiere ver
crear una jerarqua de mapas de edifitodos los cambios de estado, se debe
cios, servidores o gabinetes de servicambiar el parmetro only_hard_states
dores. Adems, podemos definir icoa no al configurar la mquina.
nos para mquinas o servicios que
enlacen con una URL completamente
Si se dispone de varios mapas con
ajena a Nagvis o Nagios. Por ejemplo,
una jerarqua profunda, se puede usar
si se est monitorizando la disponibiel parmetro show_in_lists para orgalidad de un sitio web, es posible enlanizarlos. Un valor de 0 evita que Nagzar al sitio mismo para verificar su
Vis muestre el mapa en el men desestado.
plegable o la pgina de inicio.
Al seleccionar la opcin de aadir un
El campo Map Iconset define el juego
objeto, el cursor adopta la forma de
de iconos que se usarn al mostrar los
una cruz. Moviendo y pulsando el
estados. De forma predeterminada,
ratn se pueden ubicar los iconos. Al
NagVis usa tres juegos de iconos
hacerlo, aparece una ventana que per(grandes, medianos y pequeos), que
mite introducir informacin de
residen en ../nagvis/nagvis/images. Si
configuracin para la mquina o servise quiere, es posible editar la imagen
cio que se aadir.
existente para ajustarla a las necesidaDel mismo modo que Nagios, Nagdes propias, o crear un juego de iconos
Vis emplea el campo use para definir
propio. El juego se configura para el
plantillas de configuracin que son
mapa completo, pero tambin es posiaccesibles para todos los servicios y
ble definir un icono para un servicio o
mquinas del mapa. Luego slo queda
una mquina en concreto. Para obteconfigurar las opciones especficas de
ner ms detalles acerca de cmo crear
cada plantilla.
un juego propio, consultar la docuAl editar un icono, no hay que pulmentacin en el sitio web de NagVis
sar sobre l necesariamente para reali[1].
zar los cambios. Al posicionarnos
Al pulsar sobre Save volvemos a la
sobre uno, pasados un par de segunventana del mapa.
dos se abre una ventana con la
configuracin del icono y un enlace
Aadiendo Objetos al Mapa
que
permite
editar
dicha
Llegados a este punto, el mapa slo
configuracin. Si se prefiere un
existe en forma de imagen de fondo.
mtodo no interactivo, se pueden conPor tanto, es necesario aadir los icofigurar los iconos para mostrar texto
nos que representarn las distintas
en vez de esperar a un evento del
mquinas y servicios. En primer lugar,
ratn.
pulsamos con el botn derecho sobre
Cuando
configuramos
una
el mapa y seleccionamos Add Object.
mquina, NagVis slo muestra de
forma predeterminada el
estado de la propia
mquina. El parmetro
recognize_services indica
a NagVis que debe
incluir los servicios en
la mquina indicada.
Normalmente no es
necesario incluir los
iconos de servicio ni los
Figura 3: El formulario de creacin de mapas de NagVis.
de mquina en un

Estados Persistentes

36

Nmero 52

WWW.LINUX- MAGAZINE.ES

Figura 4: Creacin de un servicio en el formulario de configuracin de servicios de


Nagios..

mismo mapa pero, an as, con


mapas de ms alto nivel, puede
resultarnos til combinar esta informacin.
Cabe destacar que no se est limitado tan slo a servicios y mquinas
individuales. NagVis soporta tanto
grupos de servicios como grupos de
mquinas, los cuales aparecen en el
men de configuracin junto con las
mquinas y servicios. Debido a que
las mquinas y servicios pertenecientes a grupos determinados tienen
diferentes prioridades, Nagvis muestra el estado con mayor prioridad.

Eso No Es Todo
NagVis nos permite visualizar nuestro
entorno Nagios en mapas personalizados. Una vez instalados los mapas con
la configuracin bsica, ya podemos
probar con opciones ms avanzadas
para ver cmo encajan en nuestro

entorno.

RECURSOS
[1] NagVis: http://www.nagvis.org

S-ar putea să vă placă și