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

Dado que la definición manual de usuarios solo es escalable hasta cierto nivel, Checkmk ofrece una función para utilizar servicios basados en LDAP para gestionar usuarios, sincronizar automáticamente los usuarios desde los directorios de inicio y, del mismo modo, asignar automáticamente grupos de contacto, roles y otros atributos a estos usuarios en Checkmk. Checkmk no se limita a una única fuente LDAP, y también puede distribuir los usuarios a otros sitios conectados si es necesario.

2. Configuración de una conexión LDAP

2.1. Conexión al servidor

Para crear una conexión con un servidor compatible con LDAP, necesitas un usuario con permiso de lectura para el servidor. Como mínimo, debe tener permiso de lectura para las personas y los grupos que se van a sincronizar. En el siguiente ejemplo, este usuario se llama check_mk.

En Setup > Users > LDAP & Active Directory > Add connection se puede crear una nueva conexión. En el formulario, introduce primero el nombre de usuario (ID) que desees para la conexión en la caja «General Properties». Opcionalmente, puedes introducir un título sencillo y significativo en la caja «Description». Como siempre, el nombre de usuario (ID) debe ser único y no se puede cambiar más adelante. Solo puede estar compuesto por letras, números, guiones y guiones bajos, y debe empezar por una letra o un guión bajo.

ldap new connection general properties

A continuación, en «LDAP Connection» puedes definir el servidor LDAP, así como uno o varios servidores Failover si están disponibles. Después solo tienes que seleccionar el «Directory type» y definir los datos de usuario para el acceso de lectura en «Bind credentials». Ten en cuenta que debes introducir el nombre de usuario con su ruta LDAP completa. No es necesario distinguir entre mayúsculas y minúsculas. La configuración debería quedar más o menos así:

ldap new connection ldap connection

Checkmk es compatible con más sistemas además de Active Directory. Para cambiar el directorio a, por ejemplo, OpenLDAP, selecciónalo en el campo Directory type; los demás cambios de configuración derivados de esta acción se producen solo en unas pocas ubicaciones.

Los servidores de conmutación (Failover Servers) se utilizan cuando no se puede acceder al servidor real o cuando se ha superado un límite de tiempo. Esto tiene sentido si no se utiliza un servidor propio local, pero se desea crear una conexión redundante.

La conexión de Checkmk con el servidor LDAP se mantiene siempre hasta que el servidor LDAP deja de estar accesible debido a un timeout agotado u otros problemas. Solo entonces se realiza el cambio al servidor Failover. Lo mismo se aplica tras el cambio: La conexión solo volverá al servidor realmente configurado si el servidor Failover deja de estar disponible.

2.2. Definición de usuarios

A continuación, se definirán las rutas a los usuarios y grupos, y se configurarán los filtros. En «User base DN», introduce primero la ruta a través de la cual se deben encontrar los usuarios. Asegúrate aquí de que la Unidad Operativa (OU) esté configurada de manera que se incluyan todos los usuarios deseados y el menor número posible de otros. Cuantos más usuarios se consulten, más lento será el proceso de sincronización.

A continuación, configura la opción «Search scope». Aquí puedes filtrar de forma recursiva a todos los usuarios ubicados en la OU y en las unidades subordinadas, o restringir la búsqueda a los que se encuentran directamente en esta OU. Si has introducido un usuario directamente en la ruta, debes seleccionar «Search only the entry at the base DN» (solo este usuario); así solo se incluirá este usuario.

Con la ayuda de la opción «Search filter» puedes reducir aún más la selección de usuarios que se van a importar. Si, por ejemplo, quieres sincronizar solo los usuarios que pertenecen a un grupo específico, configura una consulta LDAP como se muestra en la siguiente captura de pantalla. El requisito previo para esto es que los usuarios tengan el atributo «memberof». A continuación puedes aprender a filtrar por pertenencia a un grupo, sin este atributo.

ldap new connection users

El filtro estándar también se puede combinar con el memberof o con otros filtros:

(&(objectclass=user)(objectcategory=person)(memberof=cn=cmk-admins,ou=groups,dc=mycompany,dc=org))

Como se puede ver en la caja «Users», hay más opciones para la búsqueda de usuarios. Con la opción «User-ID attribute» es posible especificar qué atributo debe utilizar el usuario como ID de inicio de sesión en Checkmk. El usuario utilizará posteriormente este nombre de usuario al iniciar sesión. Por regla general, en Active Directory será el atributo «sAMAccountName», que se utiliza de forma predeterminada en Checkmk. En OpenLDAP suele ser el atributo «uid».

Con las opciones Lower case User-IDs puedes convertir los ID sincronizados a minúsculas. Esto puede ser útil, ya que, como ya se ha mencionado, Active Directory/LDAP no distingue entre mayúsculas y minúsculas, pero Checkmk sí. Esto puede generar confusión, algo que esta opción puede resolver.

La opción Umlauts in User-IDs (deprecated) solo se proporcionó por motivos de compatibilidad y ya no debería utilizarse ni modificarse.

Por último, pero no menos importante, la opción «Create users only on login» te permite crear nuevos usuarios solo una vez que realizan el inicio de sesión en Checkmk, en lugar de durante la sincronización con LDAP.

ldap new connection users search filter 2

La opción «Filter group» solo debe utilizarse si el servidor LDAP no es un Active Directory y el atributo dinámico «memberof» no está disponible en los datos de usuario. En tales casos, el filtrado de usuarios se lleva a cabo en el propio Checkmk. En el proceso, es posible que se consulten muchos usuarios que posteriormente serán descartados. El módulo LDAP de Checkmk puede evitar en gran medida este tipo de situaciones.

Sin embargo, si dependes de esta opción, debes introducir aquí la ruta completa del grupo que se va a filtrar:

ldap new connection users filter group

2.3. Definición de grupos

Si deseas filtrar a los usuarios por grupo, define la ruta al grupo para que se pueda realizar una coincidencia. Esto se puede hacer de la misma manera que con los usuarios: cuando se especifica un grupo directamente, en «Search scope» se puede usar la opción «Search only the entry at the base DN»; de lo contrario, la búsqueda se realizará directamente en la OU o se incluirán también sus unidades subsidiarias.

Aquí también, con la ayuda de la opción «Search filter», es posible especificar cómo se definirá el nombre del grupo en Checkmk. Además, puedes especificar el nombre del atributo (Member attribute) en el que se encuentran los miembros del grupo. Checkmk utiliza «member» de forma predeterminada. En OpenLDAP, también puede ser «uniqueMember». Modifica la opción según corresponda.

ldap new connection groups

2.4. Probar la configuración

La configuración inicial ya está completa y, para comprobarla, puedes guardar la configuración y probarla con el botón «Save & test».

ldap new connection diagnostics

No es necesario especificar grupos para obtener una configuración que funcione. Sin embargo, si en la unidad organizativa (OU) solo hay usuarios de Checkmk, tiene sentido restringir la selección mediante uno o varios grupos.

2.5. El intervalo de sincronización

Por último, también puedes definir la frecuencia con la que se sincronizarán automáticamente los usuarios. En un entorno en el que rara vez se producen cambios, el intervalo predeterminado puede resultar demasiado corto. Sin embargo, el intervalo no debe ser demasiado largo, para que cualquier cambio se refleje rápidamente en Checkmk.

ldap new connection other

Se puede iniciar una sincronización manualmente en cualquier momento en Setup > Users > Users > Synchronize users. Además, un usuario se sincronizará si es necesario cuando intente iniciar sesión y aún no se haya sincronizado.

3. Asignación automática de atributos

3.1. Grupos de contacto

No sirve de mucho poder crear a todos los usuarios automáticamente si luego hay que asignarlos a grupos de contacto a mano. Checkmk te permite usar los grupos del servidor LDAP para facilitar la asignación a grupos de contacto. Para ello, activa la opción «Attribute sync plugins > Contactgroup Membership»:

ldap new connection contactgroup membership

Para que la asignación se realice correctamente, el nombre del grupo (cn) en el servidor LDAP debe ser idéntico al de Checkmk; es decir, el grupo oracle_admins solo se asignará a un usuario si también está en el grupo oracle_admins en LDAP. Si, en cambio, está en los grupos oracle-admins o ORACLE_admins, la asignación no funcionará. Por lo tanto, ten cuidado de usar la sintaxis correcta y de respetar las mayúsculas y minúsculas si surgen problemas en esta situación.

Grupos anidados

Checkmk también ofrece —actualmente solo para Active Directory— la posibilidad de utilizar grupos heredados. Activa esta opción si, por ejemplo, tu usuario está en el grupo oracle_admins y este grupo, a su vez, es miembro de cmk-user.

Grupos de otras conexiones

Si se han creado varias conexiones LDAP en Checkmk, también se pueden utilizar grupos de otras fuentes para habilitar una asignación. Esto puede tener sentido si se ha configurado una conexión general y las demás se filtran solo para grupos concretos.

3.2. Roles

Los roles también se pueden asignar automáticamente de forma similar y aquí se utiliza igualmente la función de grupos anidados. Se pueden definir uno o más grupos para cada rol. Selecciona el rol para el que se va a crear una conexión e introduce la ruta completa al grupo. Por defecto, se realizará una búsqueda en los grupos encontrados en el filtro de grupos. Sin embargo, se pueden buscar otras conexiones para utilizar los grupos que se encuentren allí. Selecciona las conexiones que se van a buscar de la lista.

ldap new connection roles

Con la configuración de la imagen anterior, todos los usuarios del grupo seleccionado serán asignados al rol «Administrator», siempre y cuando también estén sincronizados por el filtro de usuarios. Como se puede ver en la captura de pantalla, también puedes seleccionar tus propios roles configurados y establecer conexiones con grupos LDAP.

3.3. Otros atributos

Para la sincronización de otra información de usuario, por regla general solo es necesario activar el Plugin correspondiente en Attribute Sync Plugins, y posiblemente también introducir el atributo que proporciona la información. A continuación se muestra una tabla con los Plugins y el atributo utilizado (si no se ha configurado manualmente), junto con una breve descripción. Algunos de los atributos también se encuentran en el menú Usuario de un usuario.

Plugin Atributo Sintaxis Valores posibles Descripción

Alias

cn

Cadena

Normalmente, el nombre y los apellidos del usuario.

Authentication Expiration

pwdlastset

Intervalo

Cuándo se cerrará la sesión del usuario o se bloqueará su acceso.

Disable notifications

disable_notifications

Booleano

True, False

True desactiva todas las notificaciones al usuario.

Email address

mail

Cadena

La dirección de correo electrónico del usuario.

Mega menu icons

icons_per_item

Cadena

None, entry

Muestra iconos verdes por tema (None) o iconos de colores por cada elemento de menú (entry) en los mega menús.

Navigation bar icons

nav_hide_icons_title

Cadena

None, hide

Mostrar solo iconos (hide) o iconos con título (None) en la barra de navegación.

Pager

mobile

Cadena

Un número de contacto de teléfono o buscapersonas designado.

Show more / Show less

show_mode

Cadena

default_show_less, default_show_more, enforce_show_more

Mostrar menos (default_show_less), más (default_show_more) o siempre todo (enforce_show_more) en la interfaz de usuario. Para más información sobre los modos «Mostrar menos» y «Modo mostrar más», consulta la Guía para principiantes.

Sidebar position

ui_sidebar_position

Cadena

None, left

Mostrar la barra lateral a la derecha (None) o a la izquierda (left).

Start URL to display in main frame

start_url

Cadena

Ejemplos: view.py?view_name=allhosts o dashboard.py

URL de la página de inicio.

Temperature unit

temperature_unit

Cadena

celsius, fahrenheit

Unidad de temperatura en grados Celsius o Fahrenheit para mostrar en gráficos y Perf-O-Meters.

User interface theme

ui_theme

Cadena

facelift, modern-dark

El tema de la interfaz de usuario: Oscuro (modern-dark) o Claro (facelift).

Visibility of hosts/services

force_authuser

Booleano

True, False

Mostrar todos los hosts y servicios (False) o solo aquellos para los que el usuario está asignado como contacto (True).

4. LDAP en entornos distribuidos

Al configurar una monitorización distribuida con configuración centralizada, puedes especificar si se deben sincronizar las conexiones LDAP desde el site remoto y cuáles. Si no se especifica lo contrario, el propio site remoto sincronizará todos los usuarios de la conexión configurada. De esta forma, los cambios se reflejarán automáticamente en todos los sitios dentro del plazo definido y no es necesario copiarlos primero desde el site central a los sitios remotos. La sincronización también se puede restringir a conexiones específicas o desactivarse por completo. En el segundo caso, los usuarios del site central se recuperan de las conexiones LDAP y se copian a los sitios remotos al activar cambios.

Puedes configurar los ajustes en Setup > General > Distributed monitoring en la pestaña «Properties» de la conexión. Aquí tienes un ejemplo en el que se selecciona la conexión configurada anteriormente:

ldap distributed monitoring sync ldap

5. Proteger LDAP con SSL

Para proteger la conexión LDAP con SSL, solo tienes que marcar la checkbox «Use SSL» en los datos de conexión e introducir la dirección TCP port (normalmente 636 para SSL en LDAP).

ldap new connection ldap connection ssl

Si el servidor o servidores LDAP utilizan un certificado firmado por una autoridad de certificación de confianza, ya está todo listo para establecer una conexión cifrada.

Si se va a utilizar un certificado autofirmado, la conexión solo se podrá establecer después de que el certificado se haya importado al almacén de certificados. Solo entonces se clasificará como fiable y se establecerá la conexión.

Para ello, simplemente ve a Setup > General > Global settings > Site management > Trusted certificate authorities for SSL. Haz clic en «Add new CA certificate or chain» y pega el contenido de tu archivo CRT o PEM, o selecciona «Upload CRT/PEM File» y haz lo mismo.

ldap add new ca certificate

6. Diagnóstico de errores

El diagnóstico de errores se lleva a cabo directamente en los ajustes de configuración. Incluso después de la configuración, puedes check aquí cuál podría ser el origen de un error. Además, los mensajes de error se registrarán en el archivo «web.log». Estos mensajes también pueden indicar el origen de un error:

~/var/log/web.log
2020-09-19 16:03:17,155 [40] [cmk.web 31797] /ldaptest/check_mk/wato.py Internal error: Traceback (most recent call last):
  File "/omd/sites/ldaptest/share/check_mk/web/htdocs/wato.py", line 6563, in mode_edit_ldap_connection
    state, msg = test_func(connection, address)
  File "/omd/sites/ldaptest/share/check_mk/web/htdocs/wato.py", line 6506, in test_group_count
    connection.connect(enforce_new = True, enforce_server = address)
  File "/omd/sites/ldaptest/share/check_mk/web/plugins/userdb/ldap.py", line 274, in connect
    ('\n'.join(errors)))
MKLDAPException: LDAP connection failed:
ldap://myldap.mycompany.org: Can't contact LDAP server

7. Archivos y directorios

Ruta del archivo Función

~/etc/check_mk/multisite.d/wato/user_connections.mk

Todas las conexiones LDAP configuradas en la configuración se guardarán en este archivo.

~/etc/check_mk/multisite.d/wato/users.mk

Aquí se definirán todos los usuarios.

~/var/log/web.log

El archivo de registro en el que se registran los errores de conexión; por lo tanto, es una de las primeras fuentes de información cuando surgen problemas.


Last modified: Tue, 20 Jan 2026 14:55:16 GMT via commit e0de082a1
En esta página