Checkmk
to checkmk.com
Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. ¿Qué es NagVis?

En el artículo sobre los fundamentos de la monitorización viste el mapeo de la topología de una red basado en relaciones padre-hijo. NagVis es el responsable de dichos mapeos. La extensión permite visualizar, por ejemplo, infraestructuras, servidores, puertos o procesos.

El modo de funcionamiento de NagVis es básicamente muy sencillo: Checkmk, o para ser más precisos Livestatus, proporciona datos de backend como host, servicios, grupos del host y grupos de servicio. Estos elementos de su monitorización pueden colocarse como iconos en diversos mapas. Estos iconos dinámicos pueden mostrar el estado actual de cada uno de los host y servicios. Se puede proporcionar información adicional más detallada mediante tooltips. Y por último, los iconos y otros elementos son también enlaces a los objetos Checkmk que representan. Otros elementos disponibles son líneas, visualizadores de rendimiento (gadgets) y contenedores para contenidos externos.

Para hacerte una mejor idea de lo que se puede conseguir con NagVis en Checkmk, aquí tienes tres ejemplos:

  • Mapas geográficos basados en OpenStreetMap para gestionar ubicaciones.

  • Mapas topológicos automáticos a partir de Relaciones padre-hijo.

  • Mapas de conmutadores individuales o salas de servidores para permitir una visión general de los puertos y el hardware.

Siempre que se hayan definido las relaciones padre-hijo, sin más acciones puedes llamar a un mapa en Checkmk utilizando Monitor > Overview > Parent / Child topology. Aquí no son necesarios pasos adicionales.

monitoring parents

2. Configuración de NagVis

NagVis está totalmente integrado en Checkmk y configurado para que puedas empezar inmediatamente a añadir elementos de tu monitorización a los mapas.

Para iniciar NagVis, abre primero la sección con los snap-in disponibles para la barra lateral a través de la parte inferior de la barra lateral. Selecciona aquí el snap-in NagVis maps y, por último, inicia NagVis con el botón .

nagvis snapin nagvis

Antes de crear tu primer mapa, deberías echar un vistazo a la configuración principal en Options > General Configuration. Aquí puedes encontrar más de 100 opciones para lo básico, como formatos de datos y configuración de idioma, desde la visualización de objetos en los mapas, hasta la ponderación de los estados de host y servicio disponibles.

nagvis2 general configuration

En este punto nos gustaría prescindir de una descripción exhaustiva para el uso de NagVis, y especialmente de sus opciones de configuración. El propio NagVis tiene una documentación muy buena y detallada, en la que también se explican todas las opciones de la configuración principal. A continuación nos limitaremos a los aspectos básicos más esenciales para generar mapas sencillos y útiles utilizando NagVis en Checkmk.

3. Creación de mapas

3.1. Los distintos tipos de mapas

NagVis proporciona un total de cinco tipos de mapas diferentes: mapas geográficos regulares, dinámicos, automáticos e interactivos/no interactivos.

  • El maparegular es el tipo de mapa estándar. El mapa puede visualizar cualquier escenario que se desee: desde puertos del switch, pasando por salas de servidores, hasta infraestructuras completas. Los elementos (iconos, líneas, etc.) se añaden individualmente a los mapas a partir de los inventarios de los host y servicios Checkmk.

  • El mapa dinámico se parece en gran medida al mapa regular, pero con una diferencia significativa: los hosts, servicios, grupos del host y grupos de servicio no se especifican explícitamente, sino utilizando filtros en forma de expresiones regulares; para decirlo con más precisión, en forma de filtros de Livestatus válidos. De este modo, los nuevos hosts y servicios, y también cualquier alteración, aterrizan automáticamente en el mapa sin que sea necesaria ninguna acción manual adicional.

  • Este es el mapa topológico de la red mencionado al principio de este artículo, que se genera de forma totalmente automática a partir de las Relaciones padre-hijo definidas en Checkmk.

  • Elmapa geográfico es un mapa renderizado con material cartográfico del proyecto OpenStreetMap (OSM) para sus fondos.

3.2. Crear un automapa

La herramienta más rápida para crear un mapa representativo es el automapa. Crea un nuevo mapa del tipo Automap based on parent/child relations a través de Options > Manage Maps > Create Map. En ID introduce el nombre interno myautomap, y en Alias tu nombre My Automap para la visualización.

nagvis2 automap create

El propio mapa aparecerá inmediatamente en el área de contenido, y su enlace correspondiente aparecerá en el snap-in NagVis maps. Los ajustes específicos del automapa pueden personalizarse a continuación en Edit Map > Map Options > Automap. La entrada render_mode es especialmente interesante, ya que proporciona la disposición fundamental de los nodos en el mapa.

nagvis2 automap options

Además, aquí se puede especificar la raíz del mapa, aunque es más sencillo hacerlo haciendo clic con el botón derecho en un icono del mapa y seleccionando la entrada del menú contextual Make root.

nagvis2 automap contextmenu

3.3. Crear un mapa regular

Los mapas regulares son los más comunes en NagVis. Para que puedas conocer los procedimientos de NagVis y sus elementos más importantes, te mostraremos cómo crear un pequeño mapa de un bastidor de servidores. Esto visualizará un host sobre un fondo individual, y proporcionará avisos ópticos y acústicos cuando el host monitorizado no esté OK.

Para crear el mapa abre las opciones a través de Options > Manage Maps. Aquí en Create Map dale al mapa el nombre mymap y el alias My Map. En Map Type selecciona Regular map y confirma con el botón Create.

nagvis2 regularmap create

A continuación, importa una imagen del rack que se está monitorizando como fondo. Esto se consigue mediante Options > Manage Backgrounds. Selecciona el archivo local y confirma con el botón Upload.

nagvis2 regularmap upload background

Ahora la imagen importada debe definirse como fondo para el mapa actual. Abre las opciones del mapa con Edit Map > Map Options y ve a la pestaña Appearance. Aquí activa la opción map_image y selecciona la imagen deseada en el menú. No la guardes ahora, aún es necesaria una configuración desde las opciones del mapa.

nagvis2 regularmap background

Ve a la pestaña Obj. Defaults. Aquí puedes activar la opción label_show. Esta opción permite que los iconos de host y servicio del mapa se etiqueten con sus nombres apropiados de host/servicio; de lo contrario, los iconos sólo se identificarán a través de sus tooltip. Por último, guarda estos ajustes.

nagvis2 regularmap show label

Ahora es el momento de añadir el host. Haz clic en Edit Map > Add Icon > host y luego con el cursor (que ahora aparece como una cruz) en la posición del mapa donde se va a colocar el icono - en este punto se abrirá el diálogo Create Object. En la pestaña General simplemente selecciona el host deseado del menú desplegable en host_name y guarda. Si operas varios sites de Checkmk, se puede utilizar una fuente de datos alternativa a través de backend_id.

nagvis2 regularmap host create

Ahora el icono está situado en el mapa y proporciona información detallada mediante un tooltip. Si haces clic en el icono, accederás directamente al host en Checkmk: todos los objetos situados en NagVis son enlaces a tus objetos Checkmk.

nagvis2 regularmap host hover

Es necesario activar el modo de edición para poder mover o editar un icono. Haz clic con el botón derecho en el icono para abrir su menú contextual y selecciona Unlock.

nagvis2 regularmap icon menu locked

Ahora puedes mover el icono, o abrir de nuevo el menú contextual. Aquí aparecerán una serie de nuevas opciones que permitirán clonar, borrar o editar el objeto, o reconocer un problema directamente desde aquí eligiendo la opción Acknowledge.

nagvis2 regularmap icon menu unlocked

Una vez finalizada la edición de un host/icono, abre de nuevo su menú contextual y selecciona Lock. Por cierto, con Edit Map > Lock/Unlock all también se puede activar y desactivar el modo de edición para el mapa completo.

Ahora puedes añadir más hosts al mapa. Añadir servicios, grupos del host y grupos de servicio funciona de forma similar.

Para terminar, el mapa puede configurarse de modo que, al cargarse, los problemas se señalicen mediante un sonido de advertencia y el parpadeo de los iconos de host. Para ello, abre Edit Map > Map Options y pasa a la pestaña Events. Aquí, en la parte superior de la pantalla, activa event_on_load, y en la parte inferior marca la caja event_sound para recibir avisos sonoros.

nagvis2 regularmap events

3.4. Crear un mapa geográfico

Los mapas geográficos están disponibles en dos formas diferentes: la variante interactiva se puede desplazar y ampliar de la forma que conocemos de Google Maps y compañía, y se establece automáticamente como fondo. Los objetos que se hayan colocado en este tipo de mapas aparecerán en todos los mapas posteriores del mismo tipo. NagVis asume que un objeto siempre se encontrará en una ubicación concreta, independientemente de la escala del mapa. Así, por ejemplo, un host situado en Hamburgo aparecerá tanto en un mapa del mundo como en un mapa de Alemania y, por supuesto, en un mapa de Hamburgo.

En última instancia, NagVis sólo visualiza las distintas secciones del mapa y niveles de zoom como viewports. En cualquier momento, los viewports se pueden guardar como un mapa nuevo independiente. Como los viewports/mapas también se pueden mostrar como iconos en los mapas, hasta cierto punto los mapas se pueden anidar. Así, por ejemplo, se puede acceder a un mapa de Alemania con sus dependencias, y luego, con un clic, a una vista más detallada de un estado, y después, según sea necesario, a mapas de una filial concreta, sala de servidores, y de ahí incluso a un mapa de un conmutador individual.

A diferencia de la navegación manual, el uso de un mapa interactivo es más rápido y cómodo, y además los mapas individuales están activos, de modo que, por ejemplo, pueden mostrarse en paralelo en monitores distintos, o configurarse para que giren automáticamente en un único monitor (más sobre esto más adelante). También es importante: de este modo, un resumen de los mapas relacionados está disponible como tooltip. Esto también hace que su uso sea más intuitivo para terceros, ya que no tienen que hacer clic a través de jerarquías, ni necesitan saber dónde es necesario hacer zoom.

Los mapas geográficos no interactivos deben alimentarse con un archivo CSV que contenga los host y las coordenadas que hay que representar. En este caso no hay elementos generales preexistentes.

En la documentación de Nagvis, los mapas geográficos interactivos se denominan mapas del mundo, y las variantes no interactivas, geomapas. Los mapas del mundo se añadieron por primera vez en la versión 1.9 de NagVis.

Ejemplo: crea un mapa interactivo para toda Alemania, y a éste vincula un nuevo viewport para Renania del Norte-Westfalia (NRW). Crea un mapa geográfico interactivo -un mapa mundial- con Options > Manage Maps > Create Map. Como Map Type, selecciona la opción Geographical Map (interactive) -aquí también se pueden definir el ID (mygeomap) y el Alias (My Geographical Map).

nagvis2 geomap create

Especifica la sección del mapa que desees como vista de conjunto y guarda esta vista con Edit Map > Viewport > Save view.

nagvis2 geomap save view

A continuación, haz zoom en el mapa hasta alcanzar el detalle deseado para Renania del Norte-Westfalia. Esta vez guarda la vista con Map > Viewport > Save as new map como nuevo mapa mygeomap_nrw.

nagvis2 geomap save viewport

El alias del mapa se adoptará del mapa original, de modo que ahora tienes dos mapas con el nombre My Geographical Map en la barra de navegación de la izquierda. Por tanto, define ahora un nuevo alias My Geographical Map NRW con Edit Map > Map Options.

nagvis2 geomap vieport alias

Cambia al mapa de Alemania My Geographical Map y añade el enlace al mapa de Renania del Norte-Westfalia con Edit Map > Add Icon > Map. En el siguiente diálogo Create Object sólo tienes que seleccionar el mapa mygeomap_nrw en el menú map_name.

nagvis2 geomap map icon create

Después, un clic en el nuevo icono del mapa de Alemania te lleva directamente al mapa de Renania del Norte-Westfalia. Del mismo modo, se pueden enlazar mapas adicionales y, por supuesto, también se puede integrar una navegación desde el mapa de Renania del Norte-Westfalia de vuelta al mapa de Alemania.

nagvis2 geomap map link

La carga real de los contenidos del mapa también se corresponde con el procedimiento para los otros tipos de mapa. Pero recuerda: todos los objetos que añadas a uno de los mapas mundi aparecerán también en todos los demás mapas mundi, ya que en realidad sólo son vistas alternativas de la situación geográfica real.

3.5. Crear un mapa dinámico

Los mapas dinámicos difieren de los mapas normales -como ya se ha dicho- en el método para añadir sus elementos. En lugar de añadirlos manualmente, los mapas dinámicos reciben sus elementos -hosts, servicios, grupos del host y grupos de servicio- dinámicamente a través de filtros de Livestatus. Por ejemplo, un mapa debería recibir automáticamente los servicios CPU load de todos los hosts.

Para crear un mapa de este tipo, comienza de nuevo con Options > Manage Maps > Create Map, y asígnale un ID (mydynamicmap) y un alias (My Dynamic Map).

nagvis2 dynmap create

A continuación, abre las opciones del mapa con Edit Map > Map Options y selecciona la pestaña Dynmap. Aquí activa la opción dynmap_object_types y elige los servicios como tipo de objeto.

La parte interesante viene ahora con la segunda opción dynmap_object_filter, con la que se define el filtro para los servicios. Utiliza la consulta simple Livestatus Filter: description ~ CPU load\n. Con ella se buscará la cadena CPU load en la columna description. Esta \n no pertenece al filtro en sí, sino que genera un salto de línea necesario para la consulta Livestatus construida por el filtro.

nagvis2 dynmap options filter

Si ahora guardas, todos los servicios CPU load de tu monitorización aparecerán en el mapa. Además, cualquier nuevo objeto de la monitorización que coincida con el filtro se añadirá automáticamente al mapa.

nagvis2 dynmap auto icons

En la documentación de NagVis también se describe cómo funciona directamente la configuración mediante los archivos de configuración.

Porcierto: dado que los mapas dinámicos también pueden guardarse como mapas estáticos con Actions > Export to static map, este método puede utilizarse como ayuda para principiantes para crear mapas estáticos que contengan muchos elementos.

4. Personalización de mapas

4.1. Líneas

NagVis proporciona varios tipos de líneas: hay líneas puramente decorativas sin más funciones en Edit Map > Add Special > Stateless Line, líneas que visualizan host y servicios con "colores de semáforo" del mismo modo que para los iconos, y las líneas de mapa meteorológico. Estas últimas visualizan los anchos de banda de la red utilizando siete colores distintos. Para crear una línea de mapa meteorológico procede como sigue:

Empieza con Edit Map > Add Line > Service y selecciona un host y una interfaz de red en el diálogo Create Object.

nagvis2 lines create

A continuación, pasa a la pestaña Appearance y establece la entrada view_type en line. Como line_type activa la entrada --%+BW-><-%+BW--. Con esto se generarán líneas para carga y descarga e incluirán etiquetas para el porcentaje (%) y el ancho de banda absoluto (BW).

nagvis2 lines line type

Una vez guardadas, las líneas aparecerán en el mapa. Si haces clic en el icono "candado" del centro, podrás mover tanto los puntos finales como el punto medio de la línea.

nagvis2 lines weatherlines

NagVis también proporciona una leyenda por defecto: utilizando Edit Map > Add Special > Shape inserta una forma llamada - simplemente una imagen en NagVis. En la opción icon elige la imagen demo_traffic_load_legend.png del menú desplegable.

nagvis2 lines weatherlines result

4.2. Gadgets

Los gadgets, al igual que las líneas y los iconos, son ayudas para la visualización en un mapa. Muestran datos de rendimiento en forma de velocímetros, termómetros o similares. En consecuencia, sólo están disponibles para los servicios. Por ejemplo, la carga de una interfaz de red puede crearse al estilo de un velocímetro:

Añade un servicio como icono a tu mapa utilizando Edit Map > Add Icon > Service. En la pestaña General elige un host y una interfaz de red adecuada como servicio.

Cambia a la pestaña Appearance y configura view_type en gadget. Justo debajo, activa gadget_url. Aquí hay una serie de variaciones de visualización que se corresponden con los archivos de ~/share/nagvis/htdocs/userfiles/gadgets/. Selecciona std_speedometer.php para la visualización del velocímetro.

nagvis2 gadget speedometer

4.3. Contenedor/iframe

Una posibilidad interesante para mostrar información externa la proporcionan los contenedores. Aquí puedes simplemente especificar una URL y permitir que el objetivo se muestre en un iframe. Como ejemplo, una vista de grupo del host restringida puramente a la tabla debería servir como vista incrustada.

Añade un contenedor a tu mapa utilizando Edit Map > Add Special > Container. A diferencia de los iconos de host y de servicio, aquí no puedes simplemente hacer clic en el mapa, sino que debes dibujar un marco. Por supuesto, éste puede modificarse posteriormente. Se abrirá de nuevo un diálogo con opciones.

En la pestaña General establece view_type en iframe. El trabajo real está en la opción url: La URL base se puede obtener con en la página de la vista de grupo del host. Después hay que añadir las opciones para la vista de tabla incrustada con la que sólo se muestra realmente la tabla (más un poco de fondo). Así, la URL puede tener un aspecto parecido a éste:

/mysite/check_mk/view.py?view_name=hostgroups&display_options=tbdezocf

El encaje y posicionamiento exacto del contenedor también se hace en la pestaña General introduciendo las coordenadas, así como la altura y la anchura. Si quieres abrir el menú contextual de un contenedor iframe, debes colocar el puntero del ratón directamente sobre el borde para que cambie su forma de escalado.

nagvis modify container

4.4. Hacer que los mapas giren

En la página de vista general de NagVis habrás observado la entrada Rotations en la parte inferior izquierda de la barra de navegación, o respectivamente la lista de mapas en Rotation Pools en el centro. Los mapas pueden configurarse para que giren automáticamente en el intervalo que desees, lo que por ejemplo resulta práctico para la monitorización de información a la vista del público.

Puedes configurar esto en el archivo de configuración de NagVis ~/etc/nagvis/nagvis.ini.php. Abre este archivo y desplázate hasta la línea 448, donde encontrarás el Rotation pool definitions.

Aquí se requieren tres líneas para definir un pool de rotación, los mapas apropiados y el intervalo - en el ejemplo siguiente el pool myrotation con los mapas mymap1, mymap2 y mymap3, y con un intervalo de 30 segundos:

~/etc/nagvis/nagvis.ini.php
[rotation_myrotation]
maps="mymap1,mymap2,mymap3"
interval=30
En esta página