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 se corresponden con 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 que no requiera intervención manual.
Checkmk ofrece la respuesta con su función de autoregistro, que permite crear hosts de forma automática.
Dado que la creación automática de hosts es necesaria principalmente para los entornos de cloud mencionados anteriormente, el autoregistro solo está disponible en Checkmk Ultimate
.
El autoregistro se lleva a cabo mediante la comunicación entre el agente Checkmk y el servidor Checkmk. El Controlador de agentes (Agent Controller) del agente envía una solicitud de registro al Receptor del agente (Agent Receiver) del servidor Checkmk, transmitiendo los datos necesarios para crear el host. Si el Receptor del agente acepta la solicitud, se realiza el registro y se establece una conexión cifrada con 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ñade al entorno de monitorización: un proceso totalmente automático.
Para que esta automatización funcione, por supuesto, es necesaria una preparación adecuada. Empecemos en el sitio de Checkmk, con la creación de un usuario que tenga autorización para el autoregistro, una carpeta en la que se vayan a crear los hosts, 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 hosts que se vayan a crear allí deben funcionar 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 Agent bakery. Esto incluye seleccionar el site de Checkmk que realizará la monitorización del host, que en una monitorización distribuida suele ser un site remoto. Este paquete de agente configurado para el autoregistro se instala luego en los hosts que deben poder realizar el autoregistro.
En los siguientes capítulos se explica cómo funciona todo esto en la práctica.
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 cifrada con TLS) y para crear hosts se encuentran en el rol Agent registration user. Los permisos para registrar nuevos hosts solo están disponibles en este rol en Checkmk Ultimate.
Este rol se asigna al usuario de automatización «agent_registration», que está configurado en todos los sites de Checkmk y cuyas propiedades se pueden ver en Setup > Users > Users:

Tiene sentido utilizar este usuario de automatización para el autoregistro, al que no se le permite hacer nada más que registrar hosts.
2.2. Crear una carpeta para los nuevos hosts
Los hosts creados automáticamente deben crearse en una nueva carpeta. Como alternativa, puedes usar 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». Asigna un nombre a la nueva carpeta en la caja «Basic settings».
El cuadro «Network address» incluye la opción «IP address family». Si quieres que los agentes Checkmk del host se configuren para usar el modo pull, puedes dejar sin cambiar el valor por defecto «IPv4 only». Para el modo push, selecciona el valor «No IP». Esto evita que se compruebe la accesibilidad del host mediante 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 funcionar en modo pull o (como en la siguiente imagen) en modo push. Esta opción solo está disponible en Checkmk Ultimate. Por último, en «Bake agent packages», activa la checkbox «Bake a generic agent package for this folder». Esto te permite usar Agent bakery, para crear una configuración de agente para una carpeta y todos los hosts que contiene, así como cualquier host que se pueda añadir a esta carpeta en el futuro.

Finaliza la creación de la carpeta con «Save».
2.3. Creación de una regla para el site de Checkmk
La decisión sobre qué hosts 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— mediante reglas. Las etiquetas con las que se registrará el agente del host desempeñan un papel decisivo en esto. Pero vayamos por partes.
El conjunto de reglas de Agent registration solo está disponible en Checkmk Ultimate. Puedes encontrar Agent registration en Setup > Agents (si el modo «Modo mostrar más» está activo) o buscando en el menú Setup. Empieza 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 el siguiente cuadro «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 habitualmente en Checkmk para identificar hosts y servicios.
El agente Checkmk proporciona dos etiquetas del agente que se pueden seleccionar de la lista:
cmk/os-family contiene el sistema operativo del host, que se puede utilizar, por ejemplo, para almacenar los hosts en diferentes carpetas.
cmk/hostname-simple contiene el nombre del host sin el componente de dominio (por lo tanto, simple), destinado a designar un nombre de host único en Checkmk.
No hay ninguna etiqueta del agente con un nombre de dominio completo (FQDN), ya que el FQDN no es una propiedad del host, sino de la red.
También puedes introducir tus propias etiquetas con Custom label.
El par clave-valor separado por dos puntos que forma una label (p. ej., cmk/os-family:linux) se evalúa por separado.
De esta forma puedes especificar explícitamente que una clave (p. ej., cmk/os-family) debe existir (Exists), no puede existir (Does not exist) o solo se acepta con un valor determinado (Equals).
También puedes introducir una expresión regular (Regex) como valor.
Si define varias etiquetas del agente, se enlazarán lógicamente con AND.
En el siguiente ejemplo, además de la etiqueta predefinida cmk/hostname-simple, también se checkea la etiqueta personalizada my_autoregister_label:

cmk/hostname-simple y my_autoregister_label
Cada host que se haya registrado correctamente recibe automáticamente la host label |
En la siguiente caja, «Action», decides qué debe suceder cuando se aplique la evaluación de las etiquetas: crear el host o no. Si seleccionas «Stop and do not create hosts», la evaluación de la regla habrá finalizado y las dos cajas siguientes ya no serán relevantes. En nuestro ejemplo, sin embargo, se deben crear los hosts:

En la caja «Host name computation», ahora especificas qué nombre debe recibir el host.
En la caja «Host name template», introduce la plantilla.
Aquí puedes usar macros para leer los valores reales de las etiquetas del agente que seleccionaste en la caja «Matching criteria» de arriba —con «$cmk/hostname-simple$», por ejemplo, el nombre del host simple proporcionado por el agente Checkmk.
A continuación, puedes modificar la plantilla, si lo deseas, convirtiendo a minúsculas o mayúsculas, y realizando sustituciones con expresiones regulares y con nombres del host explícitos.
Por cierto, estas son las mismas opciones que están disponibles al personalizar los nombres de los hosts 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 se colocarán los nuevos hosts. Además, puedes especificar los atributos que se le asignarán 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 control de ellas. Puedes introducir etiquetas del agente y, con «Try out», simular si se aplica alguna regla y cuál cuando se envía una etiqueta del agente. Los resultados te mostrarán los símbolos de semáforo de colores tal y como se describe en el artículo sobre reglas.
2.4. Creación de una regla para Agent bakery
Tras configurar el site de Checkmk en la sección anterior, ahora nos ocupamos del Controlador de agentes de Checkmk. Para ello, utiliza el conjunto de reglas «Agent controller auto-registration» en Agent bakery, que solo está disponible en Checkmk Ultimate. Puedes encontrar el conjunto de reglas en Agent bakery en Agent rules o, la forma más rápida, es buscarlo en el menú «Setup». Crea una nueva regla.
En el cuadro «Agent controller auto-registration», proporciona al Controlador de agentes toda la información que necesita para enviar una solicitud de registro al Receptor del agente: el servidor Checkmk (Monitoring server address), si procede, el número de puerto del Receptor del agente (Agent receiver port), el usuario de automatización para el autoregistro (Authorization) y el sitio Checkmk (Site to register with) que va a supervisar el host. En una monitorización distribuida, esto suele ser un site remoto.
También puedes definir aquí tus propias etiquetas en la opción Additional agent labels to send during registration.
Para que el autoregistro funcione, estas etiquetas deben tener una coincidencia con las
que has introducido en Custom label en la regla del site de Checkmk:
en el ejemplo, la etiqueta personalizada creada anteriormente con la clave my_autoregister_label.
Con la última opción «Keep existing connections» (Conservar o eliminar), decides
si el Controlador de agentes debe eliminar (no) o conservar (yes) las conexiones ya existentes.
Si has configurado conexiones manuales a otros sitios de Checkmk además del registro automático de una conexión,
y quieres conservarlas incluso después de reiniciar el Controlador de agentes cmk-agent-ctl, debes establecer esta opción en «yes».

Importante: Para la última caja de esta regla, Conditions, vuelve a seleccionar la carpeta predefinida como Folder.
2.5. Crear un paquete de agente
Ahora continúa en Agent bakery con Setup > Agents > Windows, Linux, Solaris, AIX.
Haz clic en
y crea 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 incorporado la regla creada en la sección anterior:

2.6. Descarga e instala el paquete del agente
Ahora hay que instalar el paquete del agente en cada host que vaya a iniciar el autoregistro. Descarga el paquete del agente adecuado para el sistema operativo del host e instálalo en el host. El procedimiento es el mismo que el habitual en Agent bakery. Para más información al respecto, consulta los artículos sobre los agentes de monitorización, el agente para Linux y el agente para Windows.
2.7. Verificación del proceso
Tras instalar el paquete del agente, el Controlador de agentes evalúa el archivo pre_configured_connections.json en el host
y envía el comando de registro para 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 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, cualquier otro cambio acumulado —también de otros usuarios— se activará igualmente.
Este proceso puede tardar varios minutos (hasta 5) desde la instalación del paquete del agente hasta que el host aparezca en la monitorización.
Puedes seguir los pasos individuales de este proceso en Setup > General > Audit log después de seleccionar el archivo «wato_audit.log».
En el host puedes usar un comando para mostrar el estado de conexión del Controlador de agentes, que se ve así tras un registro correcto en modo push:
Los hosts creados automáticamente también se pueden eliminar automáticamente. Checkmk Ultimate 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.
Comprueba que el registro automático en el host se ha realizado correctamente con el comando cmk-agent-ctl status.
Sin embargo, estas verificaciones mencionadas en la sección anterior solo mostrarán los resultados deseados si el proceso se ha completado con éxito. Si los resultados no son los que se muestran arriba, puede deberse a que el Controlador de agentes envió una solicitud de registro, pero el Receptor del agente no la aceptó.
Para obtener una vista general de todas las solicitudes de registro que han sido rechazadas por el site de Checkmk, consulta la página Agent registration, arriba,
en la que creaste la regla para el site de 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 detallado, consulta los artículos sobre el agente de Linux y el agente de Windows —entre otros— sobre temas como la comunicación entre un agente y un site de Checkmk, así como sobre el registro (manual).
4. Archivos y directorios
4.1. Rutas de los archivos en el host Linux de monitorización
| Ruta de archivo | Descripción |
|---|---|
|
Contiene una lista de conexiones registradas en el Controlador de agentes. |
|
Contiene una conexión preconfigurada integrada en el paquete del agente a través de Agent bakery a un site para el autoregistro en Checkmk Ultimate. |
4.2. Rutas de archivo en el host Windows de monitorización
| Ruta del archivo | Descripción |
|---|---|
|
Contiene una lista de conexiones registradas en el Controlador de agentes. |
|
Contiene una conexión preconfigurada integrada en el paquete del agente a través de Agent bakery a un site para el autoregistro en Checkmk Ultimate. |
4.3. Rutas de archivo 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 el nivel de detalle de los mensajes en 6 niveles a través de Setup > General > Global settings > User interface > Logging > Agent registration. |
|
Contiene los archivos de registro del Receptor del agente. |
