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 conceptos básicos de monitorización viste el mapa de la topología de una red basado en la Relación padre-hijo. NagVis se encarga de crear esos mapas. La extensión permite visualizar, por ejemplo, infraestructuras, servidores, puertos o procesos.
El funcionamiento de NagVis es, básicamente, muy sencillo: Checkmk, o para ser más precisos Livestatus, proporciona datos de backend como hosts, servicios, grupos del host y grupos de servicio. Estos elementos de tu monitorización se pueden colocar como iconos en diversos mapas. Estos iconos dinámicos pueden mostrar entonces el estado actual de cada uno de los hosts y servicios. Se puede proporcionar información adicional más detallada mediante tooltips. Y, por último, los iconos y otros elementos también son enlaces a los objetos de Checkmk que representan. Otros elementos disponibles son líneas, indicadores de rendimiento (gadgets) y contenedores para contenidos externos.
Para que te hagas una idea mejor 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 switches individuales o salas de servidores para ofrecer una vista general de los puertos y el hardware.
Siempre que se hayan definido las relaciones padre-hijo, puedes abrir un mapa en Checkmk sin necesidad de hacer nada más utilizando Monitor > Overview > Parent / Child topology. Aquí no se necesitan pasos adicionales.

2. Configuración de NagVis
NagVis está totalmente integrado en Checkmk y configurado para que puedas empezar a añadir elementos de tu monitorización a los mapas de inmediato.
Para iniciar NagVis, primero abre la sección con los snap-ins disponibles para la barra lateral a través de «
» en la parte inferior de la barra lateral.
Aquí selecciona el snap-in «NagVis maps» y, por último, inicia NagVis con el botón «Edit».

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

En este punto, preferimos prescindir de una descripción exhaustiva del uso de NagVis, y especialmente de sus opciones de configuración. El propio NagVis cuenta con 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 conceptos básicos más esenciales para generar mapas sencillos y útiles utilizando NagVis en Checkmk.
3. Creación de mapas de mapeo
3.1. Los distintos tipos de mapas
NagVis ofrece un total de cinco tipos de mapas diferentes: mapas geográficos normales, dinámicos, automáticos e interactivos/no interactivos.
El mapa normal es el tipo estándar de mapa. El mapa puede visualizar cualquier escenario que desees: desde puertos del switch hasta salas de servidores o infraestructuras completas. Los elementos (iconos, líneas, etc.) se añaden individualmente a los mapas a partir de los inventarios de los hosts y servicios de Checkmk.
El mapa dinámico se parece mucho al mapa normal, pero con una diferencia importante: los hosts, servicios, grupos del host y grupos de servicio no se especifican explícitamente, sino que se utilizan filtros en forma de expresiones regulares; para ser más precisos, en forma de filtros Livestatus válidos. De esta manera, los nuevos hosts y servicios, así como cualquier cambio, aparecen automáticamente en el mapa sin que sea necesaria ninguna acción manual adicional.
Ya conoces el mapa automático. Se trata del mapa de topología de 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.
El mapa geográfico es un mapa renderizado con material cartográfico del proyecto OpenStreetMap (OSM) para sus fondos.
3.2. Crear un automap
La forma más rápida de crear un mapa representativo es el automap.
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.

El mapa aparecerá inmediatamente en el área de contenido, y su enlace correspondiente aparecerá en el snap-in NagVis maps. A continuación, puedes personalizar los ajustes específicos de Automap en Edit Map > Map Options > Automap. La entrada render_mode es especialmente interesante, ya que proporciona la disposición básica de los nodos en el mapa.

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 opción «Make root» del menú de contexto.

3.3. Creación de un mapa normal
Los mapas normales son los más comunes en NagVis. Para que puedas familiarizarte con los procedimientos de NagVis y sus elementos más importantes, te mostraremos cómo crear un pequeño mapa de un rack de servidores. Esto visualizará un host sobre un fondo individual y proporcionará avisos visuales y acústicos cuando el host supervisado no esté «OK».
Para crear el mapa, abre las opciones a través de Options > Manage Maps.
Aquí, en Create Map, asigna al mapa el nombre mymap y el alias My Map.
En Map Type, selecciona Regular map y confirma con el botón Create.

A continuación, importa una imagen del rack en proceso de monitorización como fondo. Esto se hace mediante Options > Manage Backgrounds. Selecciona el archivo local y confirma con el botón Upload.

Ahora hay que definir la imagen importada como fondo del 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 del menú. No guardes todavía; aún hay que configurar algo en las opciones del mapa.

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 correspondientes; de lo contrario, los iconos solo se identificarán a través de sus tooltips. Por último, guarda estos ajustes.

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

El icono ya está situado en el mapa y ofrece información detallada a través de un tooltip. Al hacer clic en el icono, irás directamente al host en Checkmk: todos los objetos situados en NagVis son enlaces a tus objetos de Checkmk.

Es necesario activar el modo de edición para poder mover o editar un icono. Haz clic con el botón derecho del ratón sobre el icono para abrir su menú de contexto y selecciona «Unlock».
Ahora puedes mover el icono o volver a abrir el menú de contexto. Aquí verás varias opciones nuevas que te permitirán clonar, eliminar o realizar la edición del objeto, o bien reconocer un problema directamente desde aquí seleccionando la opción «Acknowledge».
Una vez completada la edición de un host/icono, vuelve a abrir su menú de contexto y selecciona «Lock». Por cierto, con «Edit Map > Lock/Unlock all» también se puede activar y desactivar el modo de edición para todo el mapa.
Ahora puedes añadir más hosts al mapa. La adición de servicios, grupos del host y grupos de servicio funciona de manera similar.
Para rematar, el mapa se puede configurar de manera que, al cargarse, los problemas se señalen con un sonido de advertencia y con iconos de host parpadeantes. Para ello, abre «Edit Map > Map Options» y ve a la pestaña «Events». Aquí, en la parte superior de la pantalla, activa «event_on_load», y en la parte inferior check la caja «event_sound» para recibir avisos sonoros.

3.4. Crear un mapa geográfico
Los mapas geográficos están disponibles en dos formatos diferentes: La variante interactiva se puede desplazar y ampliar tal y como estamos acostumbrados en Google Maps y similares, y se establece automáticamente como fondo. Los objetos que se hayan colocado en dichos mapas aparecerán en todos los mapas posteriores del mismo tipo. NagVis asume que un objeto siempre se encontrará en una ubicación específica, independientemente de la escala del mapa. Así, por ejemplo, un host ubicado en Hamburgo aparecerá en un mapa mundial, así como en un mapa de Alemania y, por supuesto, en un mapa de Hamburgo.
En definitiva, NagVis considera las distintas secciones de mapa y los niveles de zoom únicamente como viewports. En cualquier momento, las viewports se pueden guardar como un mapa nuevo e independiente. Dado que las viewports/mapas también se pueden mostrar como iconos en los mapas, estos se pueden anidar hasta cierto punto. Así, por ejemplo, se puede abrir un mapa de Alemania con sus filiales, y luego, con un clic, una vista más detallada de un estado, y después, según sea necesario, mapas de una filial específica, una sala de servidores y, desde ahí, incluso un mapa de un switch concreto.
A diferencia de la navegación manual, usar 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, se pueden mostrar en paralelo en monitores separados, o configurarse para que roten automáticamente en un solo monitor (más sobre esto más adelante). También es importante: de esta forma, se dispone de un resumen de los mapas relacionados como tooltip. Esto también hace que su uso sea más intuitivo para terceros, ya que no tienen que ir haciendo clic por las 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 hosts y las coordenadas que se van a representar. En este caso no hay elementos generales preexistentes.
En la documentación de NagVis, los mapas geográficos interactivos se denominan «worldmaps», y las variantes no interactivas se denominan «geomaps». Los «worldmaps» se añadieron por primera vez a la versión 1.9 de NagVis.
Ejemplo: crea un mapa interactivo de toda Alemania y vincula a este un nuevo viewport para Renania del Norte-Westfalia (NRW).
Crea un mapa geográfico interactivo —un «worldmap»— con «Options > Manage Maps > Create Map».
En «Map Type», selecciona la opción «Geographical Map (interactive)»; aquí también puedes definir el ID (mygeomap) y el alias (My Geographical Map).

Especifica la sección del mapa que deseas como Vista general y guarda esta vista de tabla con «Edit Map > Viewport > Save view».

A continuación, amplía el mapa hasta alcanzar el nivel de detalle deseado para Renania del Norte-Westfalia.
Esta vez guarda la vista con «Map > Viewport > Save as new map» como el nuevo mapa «mygeomap_nrw».

El alias del mapa se tomará del mapa original, por lo que ahora tendrás dos mapas llamados My Geographical Map en la barra de navegación de la izquierda.
Por lo tanto, define ahora un nuevo alias My Geographical Map NRW con Edit Map > Map Options.

Switch 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 diálogo Create Object que aparece a continuación, solo tienes que seleccionar el mapa mygeomap_nrw en el menú map_name.
Después, al hacer clic en el nuevo icono del mapa de Alemania, irás directamente al mapa de Renania del Norte-Westfalia. De la misma manera se pueden vincular 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.

La carga del contenido del mapa también se realiza siguiendo el mismo procedimiento que con los otros tipos de mapas. Pero recuerda: todos los objetos que añadas a uno de los mapas del mundo también aparecerán en todos los demás mapas del mundo, ya que en realidad solo son vistas alternativas de la situación geográfica real.
3.5. Creación de un mapa dinámico
Los mapas dinámicos se diferencian de los mapas normales —como se ha mencionado anteriormente— en el método de 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— de forma dinámica 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 así, vuelve a empezar con Options > Manage Maps > Create Map y asigna un ID (mydynamicmap) y un alias (My Dynamic Map).

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.
Ahora viene lo interesante con la segunda opción «dynmap_object_filter», con la que se define el filtro para los servicios.
Usa la consulta sencilla de Livestatus «Filter: description ~ CPU load\n».
Con esto, se buscará la cadena «CPU load» en la columna «description».
Este «\n» no forma parte del filtro en sí, sino que genera un salto de línea necesario para la consulta de Livestatus construida por el filtro.

Si ahora guardas, todos los servicios de tu monitorización CPU load aparecerán en el mapa. Además, cualquier objeto nuevo en la monitorización que tenga una coincidencia con el filtro se añadirá automáticamente al mapa.
En la documentación de NagVis también se describe cómo funciona la configuración directamente mediante los archivos de configuración.
Por cierto: dado que los mapas dinámicos también se pueden guardar como mapas estáticos con Actions > Export to static map, este método puede servir de ayuda para principiantes a la hora de crear mapas estáticos que contengan muchísimos elementos.
4. Personalización de mapas
4.1. Líneas
NagVis ofrece 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 hosts y servicios con «colores de semáforo» de la misma forma que los iconos, y las líneas de mapa meteorológico. Estas últimas visualizan los anchos de banda de red usando siete colores distintos. Para crear una línea de mapa meteorológico, haz lo siguiente:
Empieza por Edit Map > Add Line > Service y selecciona un host y una interfaz de red en el diálogo Create Object.

A continuación, switch a la pestaña «Appearance» y configura «view_type» en «line».
En «line_type», activa la entrada «--%+BW-><-%+BW--».
Con esto se generarán líneas para la subida y la descarga, que incluirán etiquetas para el ancho de banda porcentual (%) y absoluto (BW).

Una vez guardadas, las líneas aparecerán en el mapa. Al hacer clic en el icono del «candado» en el centro, podrás mover tanto los extremos como el punto medio de la línea.

NagVis también proporciona una leyenda predeterminada: utilizando Edit Map > Add Special > Shape inserta una «forma» (en NagVis es simplemente una imagen). En la opción «icon», elige la imagen demo_traffic_load_legend.png del menú desplegable.

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. Por lo tanto, solo están disponibles para servicios. Por ejemplo, la carga en una interfaz de red se puede crear con el 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.
Switcha a la pestaña «Appearance» y configura «view_type» en «gadget».
Justo debajo, activa «gadget_url».
Aquí hay varias 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.

4.3. Hacer que los mapas giren
En la página de vista general de NagVis habrás visto la entrada Rotations en la parte inferior izquierda de la barra de navegación, o la lista de mapas en Rotation Pools en el centro. Los mapas se pueden configurar para que roten automáticamente a cualquier intervalo deseado, lo cual resulta práctico, por ejemplo, para monitores de información visibles al 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 Rotation pool definitions.
Aquí se necesitan tres líneas para definir un grupo de rotación, los mapas correspondientes y el intervalo; en el ejemplo siguiente, el grupo myrotation con los mapas mymap1, mymap2 y mymap3, y con un intervalo de 30 segundos:
