In this article we explain the basic terms and concepts in Checkmk, such as host, service, user, contact group, notification, time period, scheduled downtime.
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. |
En este artículo explicamos los términos y conceptos básicos de Checkmk, como host, servicio, usuario, grupo de contacto, notificación, periodo de tiempo y tiempo de mantenimiento programado.
1. Estados y eventos
Es importante entender las diferencias básicas entre estados y eventos, sobre todo por una razón muy práctica. La mayoría de los sistemas clásicos de monitorización de TI se basan en eventos. Un evento es algo que ocurre de forma única en un momento concreto. Un buen ejemplo sería un error al acceder a la unidad X. Las fuentes típicas de eventos son los mensajes de syslog, las Traps SNMP, el Registro de eventos de Windows y las entradas de los archivos de registro. Los eventos son sucesos cuasi espontáneos (autogenerados, asíncronos).
Por el contrario, un estado describe una situación sostenida, p. ej., la unidad X está en línea. Para observar el estado de algo, el sistema de monitorización debe sondearlo regularmente. Como muestra el ejemplo, en la monitorización a menudo es posible elegir entre trabajar con eventos o con estados.
Checkmk admite tanto estados como eventos, pero, cuando se puede elegir, siempre dará prioridad a la monitorización basada en estados. La razón de esto radica en las numerosas ventajas que ofrece este método. Algunas de ellas son:
Un error en la propia monitorización se detecta de inmediato, porque es evidente cuando la consulta de estado deja de funcionar. Por otro lado, la ausencia de un mensaje no garantiza que la monitorización siga funcionando.
Checkmk puede controlar la frecuencia con la que se consultan los estados. No hay riesgo de una avalancha de eventos en situaciones de error generalizadas.
Las comprobaciones periódicas en un intervalo de tiempo fijo permiten capturar métricas para registrar su historial temporal.
Incluso en situaciones caóticas —por ejemplo, un corte de luz en un centro de datos— siempre se dispone de un estado general fiable.
Se puede decir que la monitorización basada en estados de Checkmk es la norma. Para procesar eventos también está la Consola de eventos. Está especializada en la correlación y evaluación de grandes cantidades de eventos y está perfectamente integrada en la plataforma Checkmk.
2. Hosts y servicios
2.1. Hosts
Todo en Checkmk gira en torno a los hosts y los servicios. Un host puede ser muchas cosas, por ejemplo:
Un servidor
Un dispositivo de red (switch, router, equilibrador de carga)
Un dispositivo de medición con conexión IP (termómetro, higrómetro)
Cualquier otra cosa con una dirección IP
Un clúster de varios hosts
Una máquina virtual
Un contenedor Docker
En la monitorización, un host siempre tiene uno de los siguientes estados:
| Estado | Color | Significado |
|---|---|---|
UP |
verde |
Se puede acceder al host a través de la red (esto suele significar que responde a un ping). |
DOWN |
rojo |
El host no responde a las consultas de red, no es accesible. |
UNREACH |
naranja |
La ruta hacia el host está bloqueada actualmente para la monitorización, porque un router o un switch en la ruta ha fallado. |
PEND |
gris |
El host se acaba de incluir en la monitorización, pero nunca antes se le ha consultado. Estrictamente hablando, esto no es realmente un estado. |
Además del estado, un host tiene otros atributos que el usuario puede configurar, por ejemplo:
Un nombre único
Una dirección IP
Opcional: un alias, que no tiene por qué ser único
Opcional: uno o más padres
2.2. Padres
Para que la monitorización pueda determinar el estado de UNREACH, debe saber qué ruta puede utilizar para establecer contacto con cada host individual.
Para ello, se pueden especificar uno o más de los llamados hosts padres para cada host.
Por ejemplo, si un servidor A, tal y como se ve desde el sistema de monitorización, solo es accesible a través de un router B, entonces B es un host padre de A.
En Checkmk solo se configuran los padres directos.
Esto da lugar a una estructura en forma de árbol con el site de Checkmk en el centro (que aquí se muestra como
):

Supongamos que, en el ejemplo de topología de red mostrado arriba, ya no se puede acceder a los hosts myhost y myhost4. El fallo de myhost4 se puede explicar por el hecho de que myhost ha fallado. Por lo tanto, myhost4 se clasifica como «UNREACH» en la monitorización. Simplemente no es posible determinar con claridad por qué Checkmk ya no puede acceder a myhost4, por lo que el estado «DOWN» podría resultar engañoso en algunas circunstancias. En cambio, el «UNREACH» tiene el efecto de suprimir las notificaciones por defecto. Esta es, al fin y al cabo, la tarea más importante del concepto de «parents», es decir, evitar notificaciones masivas en caso de que todo un segmento de red dependiente quede inaccesible para la monitorización debido a una interrupción en un único punto.
La prevención de falsas alarmas también se ve favorecida por una función del Checkmk Micro Core (CMC) que se usa en las ediciones comerciales. Aquí, el cambio de estado de un host que ha fallado se retrasa unos instantes y solo se lleva a cabo cuando se tiene la certeza de que el padre sigue siendo accesible. Si, por el contrario, el padre está definitivamente «DOWN», el host pasará a «UNREACH» sin que se active ninguna notificación.
En algunos casos, un host podría tener varios padres, por ejemplo, cuando un router funciona con alta disponibilidad en un clúster. Basta con que Checkmk pueda determinar de forma única el estado del host cuando uno de estos padres está accesible. Por lo tanto, cuando un host tiene varios padres y al menos uno de ellos está UP, el host se considera accesible en la monitorización. En otras palabras, en tal situación, el host no pasará automáticamente al estado UNREACH.
2.3. Servicios
Un host tiene varios servicios. Un servicio puede ser cualquier cosa; no lo confundas con los servicios de Windows. Un servicio es cualquier parte o aspecto del host que puede estar «OK» o «not OK». Naturalmente, el estado solo se puede determinar si el host está en estado «UP».
Un servicio que se está sometiendo a monitorización puede tener los siguientes estados:
| Estado | Color | Significado |
|---|---|---|
OK |
verde |
El servicio funciona perfectamente. Todos los valores están dentro del rango permitido. |
WARN |
amarillo |
El servicio funciona con normalidad, pero sus parámetros están fuera del rango óptimo. |
CRIT |
rojo |
El servicio ha fallado. |
UNKNOWN |
naranja |
No se puede determinar correctamente el estado del servicio. El agente de monitorización ha enviado datos erróneos o el elemento que se está monitorizando ha desaparecido. |
PEND |
gris |
El servicio se acaba de añadir y aún no ha proporcionado datos de monitorización. |
A la hora de determinar qué condición es «peor», Checkmk utiliza la siguiente secuencia:
OK → WARN → UNKNOWN → CRIT
2.4. Checks
Una comprobación garantiza que se pueda asignar un estado a un host o a un servicio. En la sección anterior se describe cuáles pueden ser estos estados. Los servicios y las comprobaciones están estrechamente relacionados. Por este motivo, estos términos se utilizan a veces indistintamente, quizá incluso en este Manual de usuario, aunque en realidad son cosas diferentes.
En la configuración puedes ver qué check plugin se encarga de cada servicio. Abre las propiedades de un host con «Setup > Hosts» y, a continuación, en el menú «Host > Run service discovery», la lista de servicios de este host. Después, usa «Display > Show plugin names» para mostrar una nueva columna que indicará el check plugin responsable de cada servicio:

Como puedes ver en el ejemplo del check plugin df, un check plugin puede ser responsable de más de un servicio. Por cierto, los nombres de los check plugins que aparecen en la lista también son enlaces que muestran una descripción del check plugin.
La conexión y la dependencia entre servicios y comprobaciones también se pueden ver en la monitorización.
En la lista de servicios de un host en la monitorización, puedes ver que en el menú de acciones de «
», en la entrada «Reschedule», hay una flecha amarilla para algunos servicios (
), pero una flecha gris para la mayoría de los demás (
).
Un servicio con la flecha amarilla se basa en una comprobación activa:

Dicha comprobación activa la ejecuta directamente Checkmk. Los servicios con la flecha gris se basan en comprobaciones pasivas cuyos datos se obtienen de otro servicio, el servicio Check_MK. Esto se hace por motivos de rendimiento y es una característica especial de Checkmk.
3. Grupos del host y de servicio
Para mejorar la vista general, puedes organizar los hosts en grupos del host y los servicios en grupos de servicio.
Un host o servicio también puede pertenecer a más de un grupo.
La creación de estos grupos es opcional y no es necesaria para la configuración.
Sin embargo, si, por ejemplo, has configurado la estructura de carpetas según ubicaciones geográficas, podría ser útil crear un grupo del host Linux servers que agrupe todos los servidores Linux, independientemente de dónde se encuentren.
Puedes obtener más información sobre los grupos del host en el artículo sobre la estructuración de hosts y sobre los grupos de servicio en el artículo sobre servicios.
4. Contactos y grupos de contacto
Los contactos y los grupos de contactos te permiten asignar personas a hosts y servicios. Un contacto se asocia a un nombre de usuario o a una interfaz web. Sin embargo, la asociación con los hosts y los servicios no se hace directamente, sino a través de grupos de contactos.
En primer lugar, se asigna un contacto (por ejemplo, harri) a un grupo de contactos (por ejemplo, linux-admins).
A continuación, se pueden asignar hosts —o, según sea necesario, servicios individuales— al grupo de contactos.
De esta manera, los usuarios, así como los hosts y los servicios, pueden asignarse a varios grupos de contactos.
Estas asignaciones son útiles por varias razones:
¿Quién tiene permiso para ver algo?
¿Quién está autorizado a configurar y controlar qué hosts y servicios?
¿Quién recibe notificaciones y por qué problemas?
Por cierto: el usuario cmkadmin, que se define automáticamente al crear un site, siempre tiene permiso para ver todos los hosts y servicios, incluso cuando este usuario no es un contacto.
Esto viene determinado por su rol de administrador.
5. Usuarios y roles
Mientras que los contactos y los grupos de contacto controlan quién es responsable de un host o servicio concreto, los permisos los controlan los roles. Checkmk incluye varios roles predefinidos a partir de los cuales puedes crear otros roles según necesites. Cada rol define un conjunto de permisos que se pueden personalizar más adelante. El significado de los roles estándar es:
| Nombre del rol | Alias | Descripción |
|---|---|---|
|
Administrador |
Puede ver y hacer todo, tiene todos los permisos. |
|
Usuario de monitorización normal |
Solo puede ver aquello de lo que es contacto. Puede gestionar los hosts en las carpetas que se le hayan asignado. No puede realizar ajustes globales. |
|
Usuario de registro de agentes de agentes |
Solo puede registrar el agente Checkmk de un host en el servidor Checkmk; nada más. |
|
Usuario invitado |
Puede ver todo, pero no puede configurar nada ni intervenir en la monitorización. |
|
Plantilla vacía para roles de privilegios mínimos |
No puede hacer nada. |
6. Problemas, eventos y notificaciones
6.1. Problemas procesados y no tratados
Checkmk identifica como problema a cualquier host que no esté en UP y a cualquier servicio que no esté en OK. Un problema puede tener dos estados: no tratado y procesado. El procedimiento es que un problema nuevo se trata primero como no tratado. En cuanto alguien reconozca el problema, se marcará como procesado y, como es lógico, los problemas no tratados son aquellos a los que aún no se ha prestado atención. Por eso, la Vista general de la barra lateral distingue estos dos tipos de problemas:

Por cierto: los problemas de servicio de hosts que actualmente no están UP no se identifican como problemas.
Puedes encontrar más detalles sobre los reconocimientos en su propio artículo.
6.2. Notificaciones
Cuando cambia el estado de un host (por ejemplo, de «OK» a «CRIT»), Checkmk registra un evento de monitorización. Estos eventos pueden generar o no una notificación. Checkmk está diseñado de tal manera que, cada vez que un host o un servicio tiene un problema, se envía un correo electrónico a los contactos del objeto (ten en cuenta que, por defecto, ningún usuario recién creado es contacto de ningún objeto). Sin embargo, esto se puede personalizar con mucha flexibilidad. Las notificaciones también dependen de varios parámetros. Lo más sencillo es fijarnos en los casos en los que no se envían notificaciones. Las notificaciones se suprimen …
…cuando las notificaciones se han desactivado globalmente en el Control maestro,
…cuando las notificaciones se han desactivado en el host/servicio,
…cuando las notificaciones se han desactivado para un estado concreto del host/servicio (por ejemplo, no hay notificaciones para WARN),
…cuando el problema afecta a un servicio cuyo host es DOWN o UNREACH,
…cuando el problema afecta a un host cuyos padres son todos DOWN o UNREACH,
…cuando para el host/servicio se ha establecido un periodo de notificación que no está activo actualmente,
…cuando el host/servicio está actualmente inestable
,…cuando el host/servicio se encuentra actualmente en un periodo de tiempo de mantenimiento programado
Si no se cumple ninguno de estos requisitos previos para suprimir las notificaciones, el core de monitorización crea una notificación, que en un segundo paso pasa por una secuencia de reglas. En estas reglas puedes definir criterios de exclusión adicionales y decidir a quién se debe notificar y de qué forma (correo electrónico, SMS, etc.)
Todos los detalles relativos a las notificaciones se pueden encontrar en el artículo dedicado a las notificaciones.
6.3. Hosts y servicios inestables
A veces ocurre que un servicio cambia de condición de forma continua y rápida.
Para evitar notificaciones continuas, Checkmk pone ese servicio en condición inestable.
Esto se indica con el icono «
».
Cuando un servicio entra en estado inestable, se genera una notificación que informa al usuario de la situación y silencia las notificaciones posteriores. Tras un tiempo adecuado, si no se producen más cambios rápidos y se hace evidente un estado final (bueno o malo), el estado inestable desaparece y se reanudan las notificaciones normales.
6.4. Tiempo de mantenimiento programado
Si realizas tareas de mantenimiento en un servidor, dispositivo o software, normalmente querrás evitar las notificaciones de problemas durante ese tiempo. Además, probablemente querrás avisar a tus compañeros de que los problemas que aparezcan en la monitorización durante ese tiempo pueden ignorarse temporalmente.
Para ello, puedes introducir una condición de tiempo de mantenimiento programado en un host o servicio. Esto se puede hacer justo antes de comenzar el trabajo o con antelación. El tiempo de mantenimiento programado se indica con los siguientes iconos:
|
El host o el servicio se encuentra en un periodo de tiempo de mantenimiento programado. |
|
Los servicios cuyo host se encuentra en un periodo de tiempo de mantenimiento se marcan con este icono. |
Mientras un host o servicio se encuentra en un periodo de tiempo de mantenimiento programado:
No se enviarán notificaciones.
Los problemas no se mostrarán en el snap-in «Overview».
Además, si más adelante quieres documentar estadísticas sobre la disponibilidad de los hosts y servicios, es buena idea incluir el tiempo de mantenimiento programado. Este se puede tener en cuenta en evaluaciones de disponibilidad posteriores.
6.5. Hosts y servicios obsoletos
Si llevas un tiempo trabajando con Checkmk, es posible que aparezcan telarañas en tus vistas de tablas de hosts y servicios. En el caso de los servicios, por ejemplo, se ve así:

Estas telarañas simbolizan el estado obsoleto. Siempre que haya un host o servicio obsoleto, esto también se mostrará en el snap-in «Overview», que se ampliará con la columna «Stale».
Pero, ¿qué significa exactamente el estado obsoleto? En general, un host o servicio se marca como obsoleto cuando Checkmk deja de recibir información actualizada sobre su estado durante un periodo de tiempo prolongado:
Un servicio se volverá obsoleto: Si un agente o incluso solo un plugin de agente falla —por cualquier motivo— durante un periodo prolongado, el agente ya no proporcionará datos actuales para su evaluación. Los servicios cuyo estado se determina mediante comprobaciones pasivas no se pueden actualizar, ya que dependen de los datos del agente. Los servicios permanecen en su último estado, pero se marcan como obsoletos tras haber transcurrido un tiempo determinado.
Un host se vuelve obsoleto: Si el Host check command, que chequea la conexión del host, no proporciona una respuesta actualizada, el host conserva el último estado determinado, pero luego se marca como obsoleto.
Puedes ajustar el límite de tiempo tras el cual los hosts y los servicios se consideran obsoletos. Para ello, lee la sección sobre intervalos de comprobación.
7. Periodos de tiempo

Los periodos de tiempo semanales recurrentes se utilizan en varios lugares de la configuración.
Un periodo de tiempo típico podría llamarse «working hours» e incluir el horario de 8:00 a 17:00 todos los días, excepto los sábados y domingos.
El periodo «24X7» está predefinido e incluye simplemente todos los días.
Los periodos de tiempo también pueden incluir excepciones para determinados días del calendario, por ejemplo, para los días festivos de Baviera.
Algunos puntos importantes en los que se utilizan los periodos de tiempo son:
Limitar los horarios en los que se realizan las notificaciones (periodo de notificación).
Limitar los horarios en los que se ejecutan las comprobaciones (periodo de check).
Horarios de servicio para calcular la disponibilidad (periodo de servicio).
Los intervalos de tiempo en los que surtirán efecto ciertas reglas de la Consola de eventos.
Puedes leer cómo configurar los periodos de tiempo en el artículo «Periodos de tiempo».
8. Periodos de check, intervalos de check e intentos de check
8.1. Especificar los periodos de check
Puedes restringir los periodos de tiempo en los que se ejecutan las comprobaciones. Los conjuntos de reglas Check period for hosts, Check period for active services y Check period for passive Checkmk services sirven para esto. Usa estas reglas para seleccionar uno de los periodos de tiempo disponibles como periodo de check.
8.2. Configuración de los intervalos de check
Las comprobaciones se ejecutan a intervalos fijos dentro de la monitorización basada en el estado. Checkmk utiliza un valor predeterminado de un minuto para las comprobaciones de servicio y de 6 segundos para las comprobaciones de host con Smart Ping.
Estos valores predeterminados se pueden anular utilizando los conjuntos de reglas «Normal check interval for service checks» y «Normal check interval for host checks»:
Aumenta el intervalo para ahorrar recursos de CPU en el servidor Checkmk y en el sistema de destino.
Reduce el intervalo para recibir notificaciones más rápido y realizar la colección de datos de medición con mayor resolución.
Si ahora combinas un periodo de check con un intervalo de check, puedes asegurarte de que una comprobación activa se ejecute exactamente una vez al día a una hora muy concreta. Por ejemplo, si configuras el intervalo de check en 24 horas y el periodo de check de 2:00 a 2:01 todos los días (es decir, solo un minuto al día), Checkmk se asegurará de que la comprobación se traslade efectivamente a esta breve ventana de tiempo.
El estado de los servicios ya no se actualizará fuera de este periodo de check definido y los servicios se marcarán como obsoletos con el icono «
».
Con la configuración global «Staleness value to mark hosts / services stale» puedes definir cuánto tiempo debe pasar antes de que un host/servicio se considere obsoleto.
Esta configuración se encuentra en «Setup > General > Global settings > User interface:»

Este factor representa n veces el intervalo de check. Así que si tu intervalo de check está fijado en un minuto (60 segundos), un servicio para el que no haya nuevos resultados de check pasará a estar obsoleto tras 1,5 veces ese tiempo, es decir, tras 90 segundos.
8.3. Modificar los intentos de check
Con la ayuda de la opción de intentos de comprobación, puedes evitar notificaciones en caso de errores esporádicos. Esto hace que una comprobación sea menos sensible, por así decirlo. Puedes utilizar los conjuntos de reglas Maximum number of check attempts for host y Maximum number of check attempts for service para este fin.
Si los intentos de comprobación se establecen en 3, por ejemplo, y el servicio correspondiente pasa a estar «CRIT», inicialmente no se activará ninguna notificación. Solo si las dos comprobaciones siguientes también dan un resultado que no sea «OK», el recuento de intentos actuales aumentará a 3 y se enviará la notificación.
Un servicio que se encuentre en este estado intermedio —es decir, que no sea «OK» pero que aún no haya alcanzado el número máximo de intentos de check— tendrá un soft state. Solo un hard state activará realmente una notificación.
9. Vista general de los iconos más importantes de hosts y servicios
La siguiente tabla ofrece una vista general de los iconos más importantes que aparecen junto a los hosts y los servicios:
|
El host o el servicio se encuentra en un periodo de tiempo de mantenimiento programado. |
|
Los servicios cuyo host se encuentra en un periodo de tiempo de mantenimiento se marcan con este icono. |
|
Este host/servicio se encuentra actualmente fuera de su periodo de notificación. |
|
Las notificaciones para este host/servicio están desactivadas actualmente. |
|
Las comprobaciones de este servicio están desactivadas actualmente. |
|
Este estado del host/servicio es obsoleto. |
|
El estado de este host/servicio es inestable. |
|
Este host/servicio tiene un problema reconocido. |
|
Hay un comentario sobre este host/servicio. |
|
Este host/servicio forma parte de una Agregación BI. |
|
Aquí puedes acceder directamente a la configuración de los parámetros de check. |
|
Solo para servicios de logwatch: aquí puedes acceder a los archivos de registro almacenados. |
|
Aquí puedes acceder a un gráfico de la serie temporal de los valores medidos. |
|
Este host/servicio tiene datos de inventario. Al hacer clic en él, se muestra la vista de tabla relacionada. |
|
Esta comprobación se ha bloqueado. Haz clic en ella para ver y enviar un informe de fallos. |
