![]() |
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. Autoregistro
Los sistemas en la nube como Amazon Web Services (AWS), Microsoft Azure o Google Cloud Platform (GCP) crean y eliminan "objetos" de forma independiente, que corresponden a los hosts en Checkmk. Para que estos objetos en la nube, una vez creados, se incluyan sin demora como hosts en una monitorización de Checkmk, se necesita una solución sin intervención manual.
Checkmk proporciona la respuesta con su función de autoregistro, que permite crear hosts automáticamente. Como la creación automática de hosts es necesaria principalmente para los entornos en la nube mencionados anteriormente, el autoregistro sólo está disponible a partir de Checkmk Cloud, es decir, en Checkmk Cloud y Checkmk MSP.
El autoregistro se consigue mediante la comunicación entre el agente Checkmk y el servidor Checkmk. El Controlador de agentes realiza una solicitud de registro al Receptor de agentes del servidor, transmitiendo los datos necesarios para crear el host. Si el Receptor de agentes acepta la solicitud, se realiza el registro y se establece una conexión cifrada TLS. A continuación, se crea el host, se realiza un descubrimiento de servicios y se activan los cambios, de modo que el host se añadirá al entorno de monitorización: un proceso completamente automático.
Para que esta automatización funcione, es necesaria, por supuesto, una preparación adecuada. Empecemos en el site de Checkmk, con la creación de un usuario que tenga autorización para el autoregistro, una carpeta en la que se crearán los host y una regla que permita al Receptor del agente procesar las solicitudes de registro sin intervención manual. Por cierto, al configurar la carpeta, puedes especificar si los agentes de los host que se creen allí deben trabajar en modo pull o en modo push.
Luego viene el agente Checkmk: Aquí, la información para una solicitud de registro se especifica mediante una regla de agente y luego se empaqueta (se hornea) en un paquete de agente mediante el Agent bakery. Este paquete de agente configurado para el autoregistro se instala entonces en los host que van a poder realizar el autoregistro.
En los capítulos siguientes se explica cómo funciona todo esto.
2. Configuración del autoregistro
2.1. Seleccionar usuario para el autoregistro
Los permisos necesarios para registrar el agente en el servidor Checkmk (para la transferencia de datos encriptada por TLS) y para crear hosts se encuentran en el rol Agent registration user. Los permisos para registrar nuevos hosts sólo están disponibles en este rol a partir de Checkmk Cloud.
Este rol se asigna al usuario de automatización agent_registration
, que se configura en cada site de Checkmk y cuyas propiedades pueden visualizarse a través de Setup > Users > Users:

Tiene sentido utilizar este usuario de automatización para el autoregistro, que no puede hacer otra cosa que registrar host.
2.2. Crear una carpeta para los nuevos hosts
Los hosts creados automáticamente deben crearse en una carpeta nueva. También puedes utilizar una carpeta existente si la configuras como se describe a continuación.
Inicia la creación de una carpeta con Setup > Hosts > Hosts > Add folder.Dale un nombre a la nueva carpeta en la caja Basic settings.
La caja Network address incluye la opción IP address family. Si quieres que los agentes Checkmk del host estén configurados para utilizar el modo pull, puedes dejar el valor por defecto IPv4 only sin cambios. Para el modo push, selecciona el valor No IP. Esto impide que se compruebe la accesibilidad del host a través de Smart Ping.
En la siguiente caja Monitoring agents, especifica dos opciones importantes para el autoregistro. Con Checkmk agent connection mode decides si el agente Checkmk debe trabajar en modo pull o (como en la siguiente imagen) en modo push. Esta opción sólo está disponible a partir de Checkmk Cloud. Por último, en Bake agent packages, activa el checkbox Bake a generic agent package for this folder. Esto te permite utilizar el Agent bakery, para crear una configuración de agente para una carpeta y todos los host que contenga, y cualquier host que pueda añadirse a esta carpeta en el futuro.

Completa la creación de la carpeta con Save.
2.3. Crear una regla para el site Checkmk
La decisión sobre qué host pueden registrarse automáticamente, qué nombres se les asignan y qué más ocurre con ellos tras el registro, se toma en Checkmk -como es lógico- con reglas. Las etiquetas del agente del host que se registrarán desempeñan un papel decisivo en esto. Pero lo primero es lo primero.
El conjunto de reglas Agent registration sólo está disponible a partir de Checkmk Cloud. Puedes encontrarlo en Setup > Agents (si el Modo mostrar más está activo) o buscando en el menú Setup. Inicia con Add rule la creación de una nueva regla y asigna en la primera caja Properties, como es habitual en Checkmk, primero un ID y un título.
En la siguiente caja Matching criteria, especifica qué etiquetas se aceptarán cuando el servidor Checkmk reciba una solicitud de registro de un agente. Estas etiquetas del agente se utilizan exclusivamente para el autoregistro y son diferentes de las etiquetas que se utilizan de otro modo en Checkmk para identificar host y servicios.
El agente Checkmk proporciona dos etiquetas del agente que pueden seleccionarse de la lista:cmk/hostname-simple
contiene el nombre del host sin el componente de dominio (de ahí simple
), que sirve para designar un nombre de host único en Checkmk, y cmk/os-family
contiene el sistema operativo del host, que puede utilizarse, por ejemplo, para almacenar los hosts en carpetas diferentes. También puedes introducir tus propias etiquetas con Custom label.
El par clave-valor separado por dos puntos que compone una label (por ejemplo, cmk/os-family:linux
) se evalúa por separado. De este modo, puedes especificar explícitamente que una clave (por ejemplo, cmk/os-family
) debe existir (Exists), puede no existir (Does not exist) o sólo se acepta con un valor determinado (Equals).
También puedes introducir una expresión regular (Regex) como valor. Si defines varias etiquetas del agente, se vincularán lógicamente con Y. En el siguiente ejemplo, además de la etiqueta predefinida cmk/hostname-simple
, también se comprobará la etiqueta personalizada my_autoregister_label
:

cmk/hostname-simple
y my_autoregister_label
.Nota: Cada host que se ha registrado correctamente recibe automáticamente la etiqueta host cmk/agent_auto_registered:yes
añadida por Checkmk. Sin embargo, no puedes utilizar esta etiqueta aquí, porque no es una etiqueta del agente y sólo se asigna tras el registro.
En la siguiente caja, Action, determinas lo que debe ocurrir cuando la evaluación de las etiquetas surta efecto: Crear el host o no. Si seleccionas Stop and do not create hosts, la evaluación de la regla se habrá completado y las dos cajas siguientes ya no serán relevantes. En nuestro ejemplo, sin embargo, se crearán hosts:

En la caja Hostname computation, especifica ahora el nombre que debe recibir el host. En la caja Hostname template, introduce la plantilla. Aquí puedes utilizar macros para leer los valores reales de las etiquetas del agente que seleccionaste en la caja Matching criteria anterior: con $cmk/hostname-simple$
, por ejemplo, el nombre del host simple suministrado por el agente Checkmk.
A continuación, puedes modificar la plantilla, si lo deseas, mediante la conversión a minúsculas o mayúsculas, y sustituciones con expresiones regulares y con nombres explícitos del host. Por cierto, éstas son las mismas opciones que están disponibles para personalizar los nombres de los host piggyback. También puedes encontrar más información en la ayuda en línea.

push-
Por último, en la caja Host creation, selecciona la carpeta predefinida en la que deben aterrizar los nuevos hosts. Además, puedes especificar los atributos que se deben dar al host. Puedes leer más sobre estos atributos en el artículo sobre administración de hosts.

Autoregistered
Después de guardar la regla, vuelve a la página Agent registration. Aquí encontrarás el Agent labels simulator. Si has definido muchas reglas, el simulador te ayudará a llevar un registro de ellas. Puedes introducir etiquetas del agente y con Try out simular si se aplica una regla y qué regla se aplica cuando se envía una etiqueta del agente. Los resultados te mostrarán los símbolos del semáforo en color, tal y como se describe en el artículo sobre reglas.
2.4. Crear una regla para el Agent bakery
Después de configurar el site de Checkmk en la sección anterior, ahora nos ocupamos del Controlador de agentes Checkmk. Para ello, utilizas el conjunto de reglas Agent controller auto-registration de la Agent bakery, que sólo está disponible a partir de Checkmk Cloud. Puedes encontrar el conjunto de reglas en la Agent bakery en Agent rules o la forma más rápida es buscarlo en el menú Setup. Crea una regla nueva.
En la caja Agent controller auto-registration, proporciona al Controlador de agentes toda la información que necesita para hacer una solicitud de registro al Receptor del agente: el servidor Checkmk (Monitoring server address), si procede, el número de puerto para el Receptor del agente (Agent receiver port), el site Checkmk (Site to register with) y el usuario de automatización para el autoregistro.
También puedes definir aquí tus propias etiquetas en la opción Additional agent labels to send during registration. Para que funcione el autoregistro, estas etiquetas deben coincidir con las que has introducido en Custom label en la regla para el site de Checkmk: en el ejemplo, la etiqueta personalizada creada anteriormente con la clave my_autoregister_label
.
Con la opción final Keep existing connections determinas si el Controlador de agentes debe eliminar (no) o mantener (yes) las conexiones ya existentes. Si has configurado conexiones manuales a otros sites Checkmk además del registro automático de una conexión, y quieres mantenerlas incluso después de un reinicio del Controlador de agentes cmk-agent-ctl
, debes establecer esta opción en yes.

Importante: Para la última caja de esta regla, Conditions, selecciona de nuevo la carpeta predefinida como Folder.
2.5. Preparar un paquete de agente
Ahora continúa en la Agent bakery con Setup > Agents > Windows, Linux, Solaris, AIX. Haz clic en y hornea tú mismo un nuevo agente. Como resultado, además de la configuración del agente Vanilla (factory settings), recibirás una nueva línea para la configuración en la que se ha horneado la regla creada en la sección anterior:

2.6. Descarga e instala el paquete agente
Ahora hay que instalar el paquete de agente en cada host que vaya a iniciar el autoregistro. Descarga el paquete de agente adecuado para el sistema operativo del host e instálalo en él. El procedimiento es el mismo que el habitual en el Agent bakery. Para más información, consulta los artículos sobre los agentes de monitorización, el agente de Linux y el agente de Windows.
2.7. Verificación del proceso
Tras instalar el paquete de agentes, el Controlador de agentes evalúa el archivo /var/lib/cmk-agent/pre_configured_connections.json
y emite el comando de registro de una conexión que contiene. Si el Receptor del agente acepta este comando, se establecerá la conexión y se creará el host en el site de Checkmk.

A continuación, se realiza un descubrimiento de servicios y se activan los cambios, de modo que el host también será visible en la monitorización. Ten en cuenta que, durante la activación automática, también se activará cualquier otro cambio acumulado, también de otros usuarios.
Este proceso puede durar varios minutos (hasta 5) desde la instalación del paquete del agente hasta que el host aparece en la monitorización. Puedes seguir los pasos individuales de este proceso en Setup > General > Audit log tras seleccionar el archivo wato_audit.log
.
En el host puedes utilizar un comando para mostrar el estado de conexión del Controlador de agentes, que tiene el siguiente aspecto tras un registro correcto en modo push:
root@linux# cmk-agent-ctl status
Version: 2.3.0b1
Agent socket: operational
IP allowlist: any
Connection: myserver/mysite
UUID: b11af975-40a8-4574-b6cd-12dc11c6f273
Local:
Connection mode: push-agent
Connecting to receiver port: 8000
Certificate issuer: Site 'mysite' agent signing CA
Certificate validity: Tue, 13 Feb 2024 12:50:35 +0000 - Tue, 13 Feb 2029 12:50:35 +0000
Remote:
Connection mode: push-agent
Registration state: discoverable
Host name: push-myhost
Los hosts creados automáticamente también se pueden eliminar automáticamente. A partir de Checkmk Cloud, Checkmk proporciona así los dos componentes más importantes para la gestión del ciclo de vida de los hosts. Por cierto, la eliminación automática también funciona para los hosts creados manualmente, y en todas las ediciones.
3. Pruebas y diagnóstico de fallos
Puedes seguir los pasos individuales del proceso de creación del host en la monitorización (creación del host en la Configuración, descubrimiento de servicios y activación) en el site de Checkmk en Setup > General > Audit log. Verifica el éxito del registro automático en el host con el comando cmk-agent-ctl status
.
Sin embargo, estas verificaciones mencionadas en la sección anterior sólo mostrarán los resultados deseados si el proceso ha tenido éxito. Si los resultados no son los mostrados anteriormente, puede deberse a que el Controlador de agentes envió una solicitud de registro que no fue aceptada por el Receptor del agente.
Para obtener una vista general de todas las solicitudes de registro que han sido rechazadas por el site Checkmk, consulta la página Agent registration, más arriba, en la que creaste la regla para el site Checkmk. Hay muchas razones posibles para un rechazo. En la siguiente imagen puedes ver dos ejemplos: un error ortográfico (my_autoregister_labell
) en la etiqueta del agente enviada por el agente, y un host que ya existe:

Para cada solicitud rechazada, en la primera columna, Actions, puedes iniciar una simulación, cuyo resultado se muestra en la última columna, Simulation result.
Para un diagnóstico de fallos más amplio, consulta los artículos sobre el agente Linux y el agente Windows-entre otros- sobre los temas de la comunicación entre un agente y un site Checkmk, así como sobre el registro (manual).
4. Ficheros y directorios
4.1. Rutas de archivos en el host Linux monitorizado
Ruta del archivo | Descripción |
---|---|
|
Contiene una lista de conexiones registradas con el Controlador de agentes. |
|
Contiene una conexión preconfigurada integrada en el paquete del agente a través del Agent bakery a un site para el autoregistro a partir de Checkmk Cloud. |
4.2. Rutas de archivos en el host Windows monitorizado
Ruta del archivo | Descripción |
---|---|
|
Contiene una lista de conexiones registradas con el Controlador de agentes. |
|
Contiene una conexión preconfigurada integrada en el paquete del agente a través del Agent bakery a un site para el autoregistro a partir de Checkmk Cloud. |
4.3. Rutas de archivos en un servidor Checkmk
Ruta del archivo | Descripción |
---|---|
|
Contiene para cada conexión su UUID como un soft link que apunta a la carpeta que contiene la salida del agente. |
|
Archivo de registro para el registro del agente. Puedes controlar la verbosidad de los mensajes en 6 niveles mediante Setup > General > Global settings > User interface > Logging > Agent registration. |
|
Contiene los archivos de registro del Receptor del agente. |