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 hosts: entre ellas están la agrupación por carpetas, tags del host, etiquetas, padres y grupos del host. A veces, sin embargo, no es tan fácil decidir qué herramienta es la más adecuada para una tarea concreta, y preguntas aparentemente sencillas resultan ser más complicadas de lo esperado. ¿Por qué hay tanto tags del host como rótulos? ¿Qué propiedades se pueden asignar a las carpetas y que luego se hereden en la estructura de carpetas? ¿Dónde encuentro la condición para los grupos del host en una regla? (Alerta de spoiler: no existe tal cosa).
Este artículo ofrece una vista 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, por el momento, aún faltan aspectos importantes para este tema. Por eso, trabajamos continuamente para ir llenando poco a poco esos vacíos de información.
Son especialmente interesantes los elementos de estructuración del entorno de configuración, que se pueden seleccionar como condiciones en las reglas, es decir, carpetas, tags del host y etiquetas. Esto te permite acceder a tu estructura basándote en reglas y, por ejemplo, clasificar automáticamente los (nuevos) hosts 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
Cualquiera que trabaje con ordenadores está familiarizado con los archivos y las carpetas. En Checkmk se ha adoptado este principio tan conocido para estructurar los hosts, que se almacenan en carpetas. Solo la carpeta «Main» —la raíz del árbol de carpetas— viene predefinida. Debajo (dentro) de esta Carpeta principal, puedes crear tu propia estructura de carpetas con tantas subcarpetas como desees, visualizada como lo que se conoce como árbol de hosts. Los criterios más comunes para construir el árbol de hosts 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 heredarse por las subcarpetas y los hosts que contienen. Consulta el artículo «Administración de hosts» para obtener detalles sobre cómo funciona la herencia. Se heredan los atributos de la carpeta, es decir, las propiedades de la carpeta que se muestran en el «Setup» de la página «Folder properties», como los agentes de monitorización y los permisos, pero también otros elementos de estructuración como las etiquetas del host, las etiquetas o los padres. Muchas de las propiedades de la carpeta también se pueden encontrar en las propiedades del host en la página «Properties of host». La herencia es especialmente útil para atributos 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. Solo tienes que soltar el nuevo host en la carpeta adecuada y todos los atributos predefinidos se aplicarán automáticamente al nuevo host.
Para aprovechar al máximo la herencia, ha resultado útil pensar primero en un sistema de organización y luego rellenar este sistema con contenido. Así, primero creas la estructura de las carpetas y su jerarquía, y luego clasificas tus hosts en las carpetas adecuadas.
Esto es aún más importante cuanto más grande es el entorno y más numerosos son los hosts. Una vez configurada la estructura de carpetas, se puede modificar más adelante y renombrar las carpetas sin ningún problema. 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 diferentes a los de la carpeta de origen.
Sin embargo, solo en casos excepcionales la estructura de carpetas por sí sola puede representar la complejidad de los sistemas reales. Si quieres (o necesitas) organizar tus hosts según muchos criterios diferentes, los tags del host descritos en el siguiente capítulo pueden resultarte muy útiles.
2.2. La estructura de carpetas en la monitorización
La estructura de árbol generada por las carpetas también es visible en el entorno de monitorización, pero solo si una carpeta contiene al menos un host.
La barra de filtros
En primer lugar, en la barra de filtros de la vista de tabla se encuentra el filtro «Folder», que te permite restringir la vista actual a los hosts que se encuentran debajo de una carpeta específica.
Como muestra la siguiente imagen, también hay otros filtros disponibles para otros elementos de estructuración, como tags del host, labels y grupos del host.

Á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ú «Monitor», pero además puede limitar la visualización a una sola carpeta:

3. Tags del host
Los tags del host se describen en detalle en el Manual de usuario, en la Guía para principiantes y en su propio artículo. Por eso, en este artículo solo 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 de host. Al crear un grupo de tags de 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, esta es la primera etiqueta del grupo, que entonces sirve como valor por defecto.
Las variantes de este concepto general son las checkbox tags y las etiquetas auxiliares.
Una checkbox tag es un grupo especial de tags de host con un solo elemento y se utiliza para tomar una decisión de sí/no del tipo: «Este host ejecuta Oracle».
Con las etiquetas auxiliares son posibles combinaciones de diferentes tags de un grupo, por ejemplo, la etiqueta «Windows Server 2012 R2» y la etiqueta «Windows Server 2016» con la etiqueta auxiliar «Windows».
3.1. Estructuración mediante tags del host
Los tags del host tienen propiedades similares a las de las etiquetas y las carpetas.
Asignar una etiqueta o una etiqueta a un host tiene un resultado muy similar. En ambos casos, puedes usar el indicador de asignación en la configuración para establecer condiciones en las reglas. Sin embargo, antes de poder asignar una etiqueta del host, debes definir el grupo de tags de host asociado, es decir, pensar en todos los valores posibles que podría tener dicha etiqueta.
La exhaustividad de un grupo de tags de host recuerda, por tanto, a la configuración de la estructura de carpetas. Al igual que un host solo puede colocarse en una carpeta, tampoco puede llevar más de una etiqueta de un grupo de tags de host. En otras palabras, un host siempre está asignado a una carpeta y siempre tiene una etiqueta de un grupo de tags de host (si dejamos de lado por un momento las checkbox tags). Por lo tanto, los tags del host son adecuados para propiedades que siempre están ahí (o al menos deberían estarlo) y que normalmente especifica el administrador de Checkmk para todo el sistema que se va a realizar la monitorización y para todos los usuarios de Checkmk.
En cuanto a la estructura de carpetas: Para la configuración de entornos grandes, desde el principio resulta 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» (Configuración de host) —al crear o durante la edición de un host—.
Encontrarás muchos atributos tanto en las propiedades de un host como en las propiedades de las carpetas, y lo mismo se aplica a los tags del host.
Esto significa que las etiquetas del host son válidas no solo para los hosts, sino también para las carpetas.
Y, por lo tanto, las etiquetas del host también se heredan a través de la estructura de carpetas en Checkmk.
Para evitar sorpresas indeseadas durante la herencia, debes prestar atención al valor por defecto al definir un grupo de tags de host.
Por regla general, tiene sentido establecer aquí un valor neutro como valor por defecto, como None o not applicable.
Es posible realizar cambios posteriores en los tags del host una vez configurados, pero conviene evitarlos cuando impliquen cambiar el nombre del ID de un tag, ya que esto requiere un trabajo manual adicional en la mayoría de los casos. Por otro lado, los cambios que solo afectan a la visualización o que solo añaden nuevas opciones no suponen ningún problema y no afectan a los hosts y reglas existentes.
3.2. Tags del host en la monitorización
Los tags del host no solo son útiles en las configuraciones, sino también en la monitorización. Por ejemplo, en la barra de filtros de las vistas de tabla también hay filtros para tags 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 realizar un mapeo de una jerarquía «virtual» de tags del host. El artículo sobre tags del host 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 las etiquetas comparándolas y contrastándolas con los tags del host. En este punto, nos limitaremos a describir brevemente los conceptos básicos sobre las etiquetas:
Las etiquetas son simples pares clave-valor, como os:linux, os:windows o foo:bar, que aún no se han predefinido en ningún otro sitio.
No hay (casi) ninguna restricción a la hora de definir etiquetas, salvo las siguientes excepciones:
La clave y su valor deben estar separados por dos puntos.
Un host puede tener cualquier número de etiquetas, pero solo 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 solo los hosts, sino también los servicios pueden tener etiquetas. Sin embargo, hay algunas peculiaridades que debes 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, dispones de la misma funcionalidad con ellas que con las carpetas y los tags del host. Durante la configuración, puedes definir las condiciones para que las reglas dependan de las etiquetas.
Mientras que con los tags de host todos los hosts ya cuentan con un tag del host por la definición del grupo de tags de host, la asignación en el caso de los tags funciona de manera diferente. Los tags se pueden definir de forma explícita, mediante reglas y automáticamente. Las diversas formas en que los hosts pueden recibir sus tags es algo que debes tener en cuenta a la hora de decidir cómo utilizar los tags 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 «Enter»: ¡Listo! Las etiquetas también se pueden definir en las propiedades de las carpetas, que luego se heredan a través de la estructura de carpetas en Checkmk.
Si realmente no necesitas un valor para una etiqueta, sino que solo 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 inconvenientes, ya que el riesgo de inconsistencias debido a errores ortográficos es alto.
Dado que las etiquetas se pueden asignar libremente, Checkmk tampoco puede comprobar si foo:bar, Foo:bar o Fu:baa es la etiqueta «correcta».
Por lo tanto, también debes tener en cuenta cómo mantener la distinción entre mayúsculas y minúsculas, ya que si más adelante defines condiciones mediante etiquetas, la ortografía correcta debe mantenerse estrictamente, tanto para la clave como para el valor.
Por eso, es sensato prescindir de la asignación explícita para la estructuración de hosts y utilizar la creación de etiquetas basada en reglas o automática.
Si los tags del host son adecuados para propiedades globales que siempre están presentes y que, por lo general, especifica el administrador de Checkmk para todo el sistema de monitorización y para todos los usuarios de Checkmk, entonces los usuarios individuales de Checkmk pueden usar etiquetas para implementar los requisitos específicos de su área de responsabilidad. Para lograr una estructura local manejable, las etiquetas pueden llenar los huecos que deja la administración global, aprovechando las ventajas que ofrecen: Son rápidas y fáciles de crear —y también de eliminar.
4.2. Etiquetas en la monitorización
Puedes obtener una vista general 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 del 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. Estructuración mediante elementos 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. Creación manual de padres
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á una caja de entrada adicional para un padre más:

Importante: Especifica solo hosts padres directos.
De manera similar, también se pueden especificar padres en las propiedades de las carpetas y, por lo 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
Al configurar un nuevo sistema de monitorización y crear desde el principio una estructura bien organizada con carpetas y padres, probablemente te bastará con la herencia de padres a través de las carpetas. Sin embargo, también puedes configurar los padres automáticamente mediante el escáner de red (Parent scan).
Utilizando el protocolo IP en la capa de red del modelo OSI (capa 3), mediante traceroute, el escaneo busca la puerta de enlace final situada antes de un host.
Si se encuentra dicha puerta de enlace y su dirección IP pertenece a uno de tus hosts supervisados, se establece como padre.
Si traceroute no obtiene ninguna información de los saltos que preceden al host de destino, se utiliza el último salto correcto.
Sin embargo, si no se encuentra ninguna puerta de enlace entre los hosts supervisados, Checkmk crea por defecto un «host solo para ping» artificial en la carpeta Parents, que se crea al mismo tiempo.
Sin embargo, esta configuración predeterminada también puede producir resultados indeseables. Como ejemplo, tomemos una red pequeña típica 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 diferente —al que no se puede hacer ping—, el escaneo intentará la ruta a través del router y solo encontrará allí el nodo del proveedor de red. Así, por ejemplo, un servidor de telecomunicaciones del área WAN podría configurarse como padre de 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 completa, también puedes escanear solo un subconjunto de hosts seleccionándolos previamente en la primera columna de la lista.

Para volver a escanear completamente todos los hosts de todas las subcarpetas, independientemente de los padres configurados manualmente, selecciona las opciones «Include all subfolders» y «Scan all hosts». En la sección «Performance», puedes ajustar la duración del escaneo, que puede llevar bastante tiempo si tienes muchos hosts.
En «Creation of gateway hosts» (Configuración de padres de hosts) puedes determinar si se crean padres de hosts nuevos, cómo y bajo qué alias. Desactiva esta función si quieres limitar los padres de hosts a los hosts sujetos a monitorización.
Ahora haz clic en «Start». Puedes ver el resultado del escaneo en tiempo real mientras se está realizando.
A continuación, verás los hosts principales configurados y, si procede, una nueva carpeta «Parents» en «Main» (si lo especificaste antes del escaneo).

Con esto se completa el escaneo.
5.4. Elementos principales en la 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:

Si los resultados del escaneo no parecen plausibles en algunos puntos, a veces puede ser útil acceder manualmente a |
6. Grupos del host
Los grupos del host te permiten agrupar varios hosts para mostrarlos en una vista de monitorización. Por ejemplo, puedes mostrar todos los servidores Linux, los servidores Windows y determinados servidores de aplicaciones juntos configurando un grupo del host para cada uno de estos tipos de servidores.
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 de costumbre. Los grupos del host no aparecen por defecto como criterios de selección en las reglas, ya que no se utilizan para la configuración, sino para las vistas de tabla.
6.1. Creación de grupos del host
Puedes encontrar los grupos del host en «Setup > Hosts > Host groups».
Se crea un nuevo grupo del host mediante el botón «Add group». La creación es un proceso sencillo y se limita a la asignación de un nombre único —que no se puede cambiar posteriormente— y un alias:

6.2. Añadir hosts a grupos del host
Para añadir hosts a grupos del host, usa el conjunto de reglas «Assignment of hosts to host groups», que se encuentra 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 se deben asignar los hosts, como el grupo «My Linux servers» del ejemplo:

A continuación, en la caja «Conditions», configura el filtro o los filtros para delimitar el grupo —ya que, por supuesto, los filtros se pueden combinar—. Puedes filtrar los hosts por carpetas, tags del host, host labels o especificar hosts concretos. Si, en el grupo del host, quieres incluir hosts con dos tags del mismo grupo de tags de host, debes crear dos reglas separadas. En general, las asignaciones a grupos son acumulativas. Los hosts pueden estar en varios grupos y los grupos pueden estar formados por varias reglas.
En el siguiente ejemplo, usamos la host label «cmk/os_family:linux», asignada automáticamente por Checkmk, para añadir los servidores Linux al grupo del host:

Después, tendrás que activar los cambios como de costumbre.
6.3. Grupos del host en la monitorización
Vista general de los grupos del host
En la monitorización, puedes check cómodamente el resultado de tus asignaciones en Setup. Los grupos del host existentes aparecerán en la lista en «Monitor > Overview > Host groups»:

Al hacer clic en el nombre de un grupo del host, accederás a una vista de tabla completa de los hosts de ese grupo.
Además de esta vista general, puedes utilizar los grupos del host en diversos lugares, como para crear vistas de tabla y mapas de NagVis, y como filtros en las reglas de notificaciones y alert handlers.
Vistas
Lo único importante al crear vistas de tabla (a través de Customize > Visualization > Views) es seleccionar una vista de tabla que utilice grupos del host, por ejemplo, Host groups.
En el menú Monitor puedes encontrar vistas ya preparadas, por ejemplo Host groups, que ya hemos mostrado en la sección anterior.
Mapas de NagVis de mapeo
Puedes acceder a los mapas de NagVis con el snap-in «NagVis maps» de la barra lateral. En un mapa de NagVis obtienes, por ejemplo, el resumen de un grupo del host al pasar el cursor por encima de un icono:

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

7. Resumen
Para que te quede más claro, en la siguiente tabla te muestro las propiedades importantes de los elementos estructurantes que se presentan en este artículo.
| Elemento estructurante | Creación | Añadir hosts | Condición en las reglas | Herencia a través de carpetas | Visibilidad en la monitorización |
|---|---|---|---|---|---|
Carpeta |
Manualmente en la configuración (Setup > Hosts > Hosts) |
Manualmente en la configuración (Setup > Hosts > Hosts) |
Sí |
— |
Snap-in Tree of folders, filtros en vistas de tabla |
Tags del host |
Manualmente en la configuración (Setup > Hosts > Tags) especificando el grupo de tags de host |
Automáticamente especificando el grupo de tags de host |
Sí |
Sí |
Snap-in Virtual host tree, filtros en vistas de tabla |
Etiquetas |
Manualmente/explícitamente en la configuración (Properties of host), por regla (Host labels) o automáticamente |
— (Siempre se crea una etiqueta para un host.) |
Sí |
Sí |
Vista de estado de un host (Status of Host), filtro en las vistas de tabla |
Padres |
Manualmente en Configuración (Properties of host) o automáticamente mediante un escaneo en una carpeta o para hosts seleccionados (Hosts > Detect network parent hosts) |
— (Siempre se crea un padre para un host). |
No |
Sí |
Mapa de topología (Monitor > Overview > Parent / Child topology) |
Grupos del host |
Manualmente en la configuración (Setup > Hosts > Host groups) |
Por regla (Assignment of hosts to host groups) |
No |
No |
Como vista de tabla (Monitor > Overview > Host groups), filtro en vistas de tabla, etc. |
