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. Introducción

Checkmk ofrece varias formas de organizar los host: Entre ellas se encuentran la agrupación por carpetas, tags del host, etiquetas, padres y grupos de host. Sin embargo, a veces no es tan fácil decidir qué herramienta es la más adecuada para una tarea concreta, y cuestiones aparentemente sencillas resultan ser más complicadas de lo esperado. ¿Por qué existen tags del host y etiquetas? ¿Qué propiedades pueden asignarse a carpetas y luego heredarse en la estructura de carpetas? ¿Dónde encuentro la condición para los grupos de host en una regla? (Alerta de spoiler: no existe tal cosa).

Este artículo ofrece una visión general de los distintos elementos de estructuración de Checkmk y explica sus similitudes y diferencias. Así tendrás toda la información que necesitas para configurar una estructura que se adapte a tu entorno. Somos conscientes de que en este momento aún faltan aspectos importantes para este tema, por lo que estamos trabajando continuamente para llenar estas lagunas de información, poco a poco.

Especialmente interesantes son los elementos de estructuración para el entorno de configuración, que pueden seleccionarse como condiciones en reglas, es decir, carpetas, tags del host y labels. Esto te permite acceder a tu estructura basándote en reglas y, por ejemplo, clasificar automáticamente los host (nuevos) en las carpetas destinadas a ellos. Además, para cada uno de los elementos de estructuración presentados, aprenderás a utilizarlos en el entorno de monitorización.

Por último, al final de este artículo se resumen en una tabla las propiedades importantes de los elementos de estructuración.

2. Carpetas y herencias

2.1. Estructuración con carpetas

Todo el que trabaja con ordenadores está familiarizado con los archivos y carpetas. En Checkmk se ha adoptado este conocido principio para la estructuración de hosts, que se almacenan en carpetas. Sólo la carpeta Main -la raíz del árbol de carpetas- está predefinida. Debajo (dentro) de esta carpeta principal, puedes crear tu propia estructura de carpetas con tantas subcarpetas como desees, visualizadas como el llamado árbol de hosts. Los criterios utilizados habitualmente para construir el árbol host son la ubicación, la tecnología y la estructura organizativa. Puedes acceder a la carpeta Main seleccionando Setup > Hosts > Hosts.

A través de las carpetas, los atributos pueden ser heredados por las subcarpetas y los hosts que contienen. Consulta el artículo Administración de hosts para saber cómo funciona la herencia. Se heredan los atributos de la carpeta, es decir, las propiedades de la carpeta que se muestran en Setup en la página Folder properties, como los agentes de monitorización y los permisos, pero también otros elementos de estructuración, como las tags del host, las etiquetas o los padres. Muchas de las propiedades de la carpeta también pueden encontrarse en las propiedades del host en la página Properties of host. La herencia es especialmente útil para atributos que son comunes a muchos hosts, como si el host debe ser monitorizado por el agente Checkmk o por SNMP. Otra ventaja de heredar atributos de carpeta es que puedes preparar carpetas para albergar cualquier host que se añada en el futuro. Basta con colocar el nuevo host en la carpeta adecuada y todos los atributos predefinidos se corregirán automáticamente para el nuevo host.

Para aprovechar al máximo la herencia, ha resultado útil pensar primero en un sistema organizativo y luego llenar este sistema de contenido. Así, primero creas la estructura de las carpetas y su jerarquía, y luego clasificas tus hosts en las carpetas adecuadas.

Esto es tanto más importante cuanto mayor sea el entorno y mayor el número de hosts. Una vez establecida una estructura de carpetas, puede modificarse posteriormente y las carpetas pueden renombrarse sin problemas. Sin embargo, hay que tener cuidado: mover un host a otra carpeta puede cambiar sus atributos sin que te des cuenta, es decir, la carpeta de destino puede tener atributos distintos de la carpeta de origen.

Si quieres (o necesitas) organizar tus hosts según muchos criterios diferentes, las tags del host que se describen en el capítulo siguiente pueden serte útiles.

2.2. La estructura de carpetas en monitorización

La estructura de árbol generada por las carpetas también es visible en el entorno de monitorización, pero sólo si una carpeta contiene al menos un host.

La barra de filtros

En primer lugar, en la barra de filtros de la vista, está el filtro Folder, que te permite restringir la vista actual a los host situados debajo de una carpeta concreta.

Como muestra la siguiente imagen, también hay disponibles otros filtros para otros elementos de estructuración, como tags del host, labels y grupos del host.

View with filter bar and selected filters for structuring elements.
En la barra de filtros tienes acceso a varios elementos de estructuración

Árbol de carpetas

En segundo lugar, en la barra lateral, el snap-in Tree of folders ofrece las mismas opciones de selección que el menú Monitorización, pero además puede limitar la visualización a una carpeta:

Tree of folders snap-in.
El snap-in Tree of folders muestra la estructura de carpetas en la parte inferior

3. Tags del host

Las etiquetas del host se describen detalladamente en este Manual de usuario en la guía para principiantes y en su propio artículo, por lo que en este artículo sólo se tratan brevemente los puntos más importantes:

Una etiqueta del host es un atributo que se asigna a un host. Las etiquetas del host se organizan en grupos, los llamados grupos de tags del host. Con la creación de un grupo de tags del host, todas las etiquetas de este grupo quedan completamente definidas. Las etiquetas de un grupo son mutuamente excluyentes, es decir, cada host recibe exactamente una etiqueta del grupo. Si no has especificado nada más, ésta es la primera etiqueta del grupo, que entonces sirve como valor por defecto.

Los refinamientos de este concepto general son las tags de checkbox y las tags auxiliares. Una tag de checkbox es un grupo especial de tags de host con un solo elemento y se utiliza para tomar una decisión del tipo: "Este host está ejecutando Oracle". Con las tags auxiliares son posibles combinaciones de diferentes tags de un grupo, por ejemplo la tag Windows Server 2012 R2 y la tag Windows Server 2016 con la tag auxiliar Windows.

3.1. Estructuración mediante tags del host

Los tags del host tienen propiedades similares a las de las etiquetas y carpetas.

Asignar una tag o una label a un host tiene un resultado muy similar. En ambos casos, puedes utilizar la bandera asignada en la configuración para establecer condiciones en las reglas. Sin embargo, antes de asignar una tag del host, debes definir el grupo de tags de hostasociado, es decir, pensar en todos los posibles valores que podría tener dicha tag.

Por tanto, la completitud de un grupo de tags del host recuerda a la configuración de la estructura de carpetas. Del mismo modo que un host sólo puede colocarse en una carpeta, también sólo puede llevar una tag de un grupo de tags del host. En otras palabras, un host siempre está asignado a una carpeta y siempre tiene una tag de un grupo de tags del host (si dejamos de lado por un momento las tags de checkbox). Por tanto, las tags del host son adecuadas para propiedades que siempre están ahí (o al menos deberían estarlo) y normalmente las especifica el administrador de Checkmk para todo el sistema que se va a monitorizar y para todos los usuarios de Checkmk.

En cuanto a la estructura de carpetas: Para la configuración de entornos grandes, desde el principio es muy útil establecer una estructura bien planificada de tags del host.

Las etiquetas se asignan a un host en la página Properties of host, al crear o editar un host. Encontrarás muchos atributos tanto en las propiedades de un host como en las propiedades de la carpeta, y lo mismo ocurre con las etiquetas del host. Esto significa que las etiquetas del host no sólo son válidas para los hosts, sino también para las carpetas. Y, por tanto, las etiquetas del host también se heredan a través de la estructura de carpetas en Checkmk. Para evitar que se produzcan sorpresas no deseadas durante la herencia, debes prestar atención al valor por defecto al definir un grupo de tags del host. Por regla general, tiene sentido establecer aquí un valor neutro por defecto, como None o not applicable.

Los cambios posteriores en las tags del host una vez configuradas son posibles, pero deben evitarse -cuando impliquen renombrar el ID de una tag, ya que esto requiere un retrabajo manual en la mayoría de los casos-. Los cambios que sólo afectan a una visualización o que sólo añaden nuevas opciones, por otro lado, no son problemáticos y no tienen ningún efecto sobre los hosts y reglas existentes.

3.2. Los tags del host en la monitorización

Las etiquetas del host no sólo son útiles en las configuraciones, sino también en la monitorización. Por ejemplo, en la barra de filtros de las vistas también hay filtros para las etiquetas del host, como se muestra en la captura de pantalla del capítulo sobre carpetas.

Además, el snap-in Virtual host tree de la barra lateral ofrece la posibilidad de mapear una jerarquía "virtual" de tags del host. En el artículo sobre tags del host se explica cómo hacerlo.

4. Etiquetas

Las etiquetas son atributos asignados a un host, lo que significa que son -al igual que los tags del host- identificadores de un host. La introducción detallada del artículo sobre etiquetas explica el concepto de etiquetas en comparación y en contraste con los tags del host. En este punto, podemos limitarnos a describir brevemente los aspectos básicos sobre las etiquetas:

Las etiquetas son simples pares clave-valor, como os:linux, os:windows o foo:bar, que no han sido ya predefinidas en ningún otro lugar. No hay (casi) restricciones a la hora de definir etiquetas, salvo las siguientes: una clave y su valor deben ir separados por dos puntos. Un host puede tener cualquier número de etiquetas, pero sólo un valor por clave. Por ejemplo, un host que tenga la etiqueta foo:bar no puede tener al mismo tiempo foo:bar2.

Por cierto, en Checkmk no sólo los host sino también los servicios pueden tener etiquetas. Sin embargo, hay algunas peculiaridades a tener en cuenta con las etiquetas de servicio, que se describen en el artículo sobre etiquetas.

4.1. Estructuración mediante etiquetas

Una vez definidas las etiquetas, con ellas tienes la misma funcionalidad que con las carpetas y los tags del host. Durante una configuración puedes definir las condiciones para que las reglas dependan de las etiquetas.

Mientras que con los tags del host todos los hosts ya disponen de un tag del host mediante la definición del grupo de tags del host, la asignación en el caso de las etiquetas funciona de forma diferente. Las etiquetas pueden definirse explícitamente, mediante reglas y automáticamente. Las distintas formas en que los hosts pueden recibir sus etiquetas es algo que debes tener en cuenta a la hora de utilizar las etiquetas para estructurar tus hosts.

La asignación explícita de etiquetas se realiza en las propiedades de un host, utilizando la caja Custom attributes. Introduce un par clave-valor, pulsa Intro: Las etiquetas también pueden definirse en las propiedades de las carpetas, que luego se heredan a través de la estructura de carpetas de Checkmk.

Si realmente no necesitas un valor para una etiqueta, sino que sólo quieres saber si una determinada etiqueta está asociada al host o no, simplemente asigna yes como valor (vm:yes), por ejemplo. Si sigues este esquema de forma coherente, te resultará más fácil definir condiciones para dichas etiquetas más adelante.

La asignación explícita es muy sencilla, pero tiene sus trampas, porque el riesgo de incoherencias debidas a errores ortográficos es alto. Como las etiquetas se pueden asignar libremente, Checkmk tampoco puede comprobar si foo:bar, Foo:bar o Fu:baa es la etiqueta "correcta". Por tanto, también debes considerar cómo mantener la distinción entre mayúsculas y minúsculas, ya que si más adelante defines condiciones mediante etiquetas, habrá que mantener estrictamente la ortografía correcta, tanto para la clave como para el valor.

Por tanto, es sensato prescindir de la asignación explícita para la estructuración de host y utilizar la creación de etiquetas basada en reglas o automática.

Si las etiquetas del host son adecuadas para las propiedades globales que siempre están presentes, y que normalmente especifica el administrador de Checkmk para todo el sistema que se va a monitorizar y para todos los usuarios de Checkmk, entonces los usuarios individuales de Checkmk pueden utilizar etiquetas para implementar los requisitos específicos de su área de responsabilidad. Para una estructura local manejable, las etiquetas pueden llenar los huecos que deja vacantes la administración global, jugando con las ventajas que ofrecen las etiquetas: son rápidas y fáciles de crear, y también de eliminar.

4.2. Etiquetas en monitorización

Puedes obtener una visión completa de todas las etiquetas de un host en el entorno de monitorización a través de la vista de estado del host. En la barra de filtros de las vistas de tabla tienes acceso a todas las etiquetas de host, e incluso puedes combinarlas con los operadores booleanos Not, And y Or para filtrar. Ambos métodos se describen en el artículo sobre etiquetas.

5. Padres

5.1. Estructurar utilizando padres

Ya has aprendido qué son los padres y cómo funcionan en el artículo Principios básicos de la monitorización.

5.2. Crear padres manualmente

Para definir un padre para un único host, haz lo siguiente: selecciona Setup > Hosts > Hosts y haz clic en el host deseado para mostrar sus propiedades. En la caja Basic settings, introduce el padre por su nombre o dirección IP. En cuanto se haya especificado un padre, aparecerá otro campo de entrada para un padre adicional:

Dialog with the properties of a host for setting the parents.
También se pueden especificar varios padres durante la asignación manual

Importante: Especifica sólo los host padres directos.

De forma similar, los padres también pueden especificarse en las propiedades de las carpetas y, por tanto, ser heredados por los hosts que contienen las carpetas, tal y como se describe en el capítulo anterior sobre Carpetas y herencias.

5.3. Especificar padres mediante un escaneo

Cuando configures un nuevo sistema de monitorización, y desde el principio crees una estructura bien organizada con carpetas y padres, probablemente estarás bien con la herencia de padres a través de carpetas. Sin embargo, también puedes configurar los padres automáticamente a través de Parent scan.

Utilizando el protocolo IP en la capa de red del modelo OSI (capa 3), mediante traceroute, el escáner busca la pasarela final aguas arriba de un host. Si se encuentra dicha pasarela y su dirección IP pertenece a uno de tus hosts monitorizados, se establece como padre. Si traceroute no obtiene ninguna información de los saltos anteriores al host objetivo, se utiliza el último salto que se haya realizado correctamente.

Sin embargo, si no se encuentra ninguna puerta de enlace entre los hosts monitorizados, Checkmk crea por defecto un "host sólo ping" artificial en la carpeta Parents que se crea al mismo tiempo.

Sin embargo, esta configuración por defecto también puede producir resultados no deseados. Como ejemplo, tomemos una red típica y pequeña con el rango de direcciones 192.168.178.0/24.Si ahora se añade a la monitorización un host con una dirección de un rango de direcciones diferente -que no se puede pichear-, el escaneo intentará la ruta a través del router, y sólo encontrará allí el nodo del proveedor de red. Y así, por ejemplo, un servidor de telecomunicaciones de la zona WAN podría entonces establecerse como padre para este host. Para evitarlo, puedes desactivar la opción correspondiente antes del escaneo.

Si quieres escanear una carpeta con nuevos hosts como padres, haz lo siguiente: primero abre la carpeta deseada y selecciona Hosts > Detect network parent hosts en el menú para abrir la configuración del escaneo. Por cierto, en lugar de escanear una carpeta entera, también puedes escanear sólo un subconjunto de hosts seleccionándolos previamente en la primera columna de la lista.

Dialog with scan configuration for the parents.
El escaneo ofrece numerosas opciones de configuración

Para volver a escanear completamente todos los hosts de todas las subcarpetas, independientemente de que haya algún padre configurado manualmente, selecciona las opciones Include all subfolders y Scan all hosts. En la sección Performance, puedes adaptar la duración del escaneo, que puede ser bastante larga si tienes muchos hosts.

En Creation of gateway hosts determinas si se crean hosts padre recién encontrados, cómo y bajo qué alias. Desactiva esta función si quieres limitar los padres a los hosts monitorizados.

Ahora haz clic en Start. Puedes ver el resultado del escaneo en tiempo real mientras se realiza.

Verás los servidores principales configurados y, si procede, una nueva carpeta Parents en Main (si lo especificaste antes del escaneo).

List of hosts with display of the parents.
En Setup los padres se muestran en una columna separada.

Esto completa el escaneo.

5.4. Padres en monitorización

Una vez realizado el escaneo y activados los cambios, las relaciones padre-hijo se visualizan como un mapa de topología, al que puedes acceder a través de Monitor > Overview > Parent / Child topology:

Network topology mapped from parent-child relationships.
Visualización de las relaciones padre-hijo en monitorización

Consejo: Si los resultados del escaneo no parecen plausibles en algunos lugares, a veces puede ser útil una llamada manual a traceroute para rastrear los saltos individuales.

6. Grupos del host

Los grupos del host te permiten reunir una serie de hosts para mostrarlos juntos en una vista de monitorización. Por ejemplo, puedes mostrar juntos todos los servidores Linux, servidores Windows y determinados servidores de aplicaciones configurando un grupo del host para cada uno de estos tipos de servidor.

Un grupo del host se rellena mediante una regla. En las condiciones de esta regla, puedes acceder a carpetas, tags del host y etiquetas, como es habitual. Los grupos del host en sí no aparecen por defecto como criterios de selección en las reglas, porque no se utilizan para la configuración, sino para las vistas.

6.1. Crear grupos del host

Puedes encontrar los grupos del host en Setup > Hosts > Host groups.

Puedes crear un nuevo grupo del host a través del botón Add group. La creación es un proceso sencillo y se limita a la asignación de un nombre único -que no puede cambiarse posteriormente- y un alias:

Dialog with the properties of a host group.
Con un nombre y un alias, el grupo del host ya está configurado.

6.2. Añadir hosts a grupos del host

Para añadir hosts a grupos del host, utiliza el conjunto de reglas Assignment of hosts to host groups, que puedes encontrar en Setup > Hosts > Host monitoring rules. Crea una nueva regla.

Primero, en la caja Assignment of hosts to host groups, selecciona el grupo del host al que deben asignarse los hosts, como el grupo My Linux servers del ejemplo:

Dialog for selecting the host group in a rule.
Los grupos del host ya creados se presentan para su selección.

A continuación, en la caja Conditions, atiende al filtro o filtros para delimitar el grupo -ya que los filtros pueden combinarse, por supuesto-. Puedes filtrar hosts por carpetas, tags del host, etiquetas del host, o especificar hosts concretos. Si, en el grupo del host, quieres incluir hosts con dos tags del mismo grupo de tags del host, debes crear dos reglas distintas. En general, las asignaciones de grupos son acumulativas. Los hosts pueden estar en varios grupos y los grupos pueden estar poblados por varias reglas.

En el siguiente ejemplo, utilizamos la etiqueta host cmk/os_family:linux asignada automáticamente por Checkmk para añadir los servidores Linux al grupo del host:

Dialog for setting the conditions for assignment to the host group.
Se proporcionan carpetas, tags del host y tags del host, entre otros, para especificar la condición

Después tendrás que activar los cambios como de costumbre.

6.3. Grupos del host en monitorización

Vista general de los grupos del host

En la monitorización, puedes comprobar cómodamente el resultado de tus asignaciones en Setup. Los grupos del host existentes se listarán en Monitor > Overview > Host groups:

View of host groups.
Grupos del host en monitorización

Si haces clic en el nombre de un grupo del host, accederás a una vista completa de los host de ese grupo.

Aparte de esta vista general, puedes utilizar los grupos del host en varios lugares, como para crear vistas y mapas de NagVis, y como filtros en reglas para notificaciones y alert handlers.

Vistas

Lo único importante al crear vistas (a través de Customize > Visualization > Views) es seleccionar una Datasource que utilice grupos del host, por ejemplo Host groups.

En el menú Monitor puedes encontrar vistas ya creadas, por ejemplo Host groups, que ya hemos mostrado en la sección anterior.

Mapas NagVis

Puedes acceder a los mapas de NagVis con el snap-in NagVis maps de la barra lateral. En un mapa de NagVis obtienes como resultado, por ejemplo, el resumen de un grupo del host mediante el menú hover sobre un único icono:

Display a host group in a NagVis map.
Ve a los mapas de NagVis mediante el snap-in NagVis maps de la barra lateral

Notificaciones y alert handlers

En los conjuntos de reglas para notificaciones y alert handlers, los grupos del host están disponibles como filtros en Conditions:

Dialog for selecting host groups in a notification rule.
Selección de grupos del host en una regla de notificación

7. Resumen

Para mayor claridad, la siguiente tabla muestra propiedades importantes de los elementos estructurantes presentados en este artículo.

Elemento estructurante Creación Añadir host Condición en reglas Herencia mediante carpetas Visibilidad en la monitorización

Carpeta

Manualmente en Configuración (Setup > Hosts > Hosts)

Manualmente en Configuración (Setup > Hosts > Hosts)

-

Snap-in Tree of folders, filtros en vistas de tabla

Tags del host

Manualmente en Configuración (Setup > Hosts > Tags) especificando el grupo de tags del host

Automáticamente especificando el grupo de tags del host

Snap-in Virtual host tree, filtros en vistas de tabla

Etiquetas

Manualmente/explícitamente en Configuración (Properties of host), por regla (Host labels) o automáticamente

- (Siempre se crea una label para un host).

Vista de estado de un host (Status of Host), filtro en vistas de tabla

Padres

Manualmente en Configuración (Properties of host) o automáticamente por escaneo en una carpeta (Hosts > Detect network parent hosts)

- (Siempre se crea un padre para un host).

No

Mapa de topología (Monitor > Overview > Parent / Child topology)

Grupos del host

Manualmente en Configuración (Setup > Hosts > Host groups)

Por regla (Assignment of hosts to host groups)

No

No

Como vista propia (Monitor > Overview > Host groups), filtro en vistas, en mapas NagVis, etc.

En esta página