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

En Checkmk puedes supervisar tu infraestructura de muchas formas diferentes. La monitorización mediante agentes o SNMP son solo dos de los muchos métodos disponibles. La monitorización mediante agentes es solo uno de los muchos métodos disponibles. Lo que todos los métodos basados en agentes tienen en común es que solo informan de los estados tal y como los ve el host desde dentro, pero probablemente conozcas algunos servicios que solo se pueden supervisar de forma eficaz desde fuera. Aún así, se puede verificar desde dentro si el servidor web está funcionando, pero, sin embargo, la accesibilidad y los tiempos de respuesta para el usuario real no se pueden determinar de esta manera.

Checkmk ofrece sus comprobaciones activas para este tipo de situaciones. Estas comprobaciones te permiten supervisar los servicios de red de forma directa y cómoda desde el exterior, y mostrar la información en tu sistema de monitorización. Las comprobaciones activas son pequeños programas o scripts que se conectan a un servicio de la red o de internet y, a continuación, proporcionan al usuario los datos de monitorización. Muchos de los scripts y programas que encontrarás en Checkmk proceden originalmente de monitoring-plugins.org. Dado que Checkmk es generalmente compatible con Nagios, también puedes utilizar todos los Plugins que funcionan con Nagios.

Cuando integres estos Plugins, ten en cuenta el objetivo principal de las comprobaciones activas: en términos de monitorización de extremo a extremo, se supone que deben comprobar la accesibilidad, el tiempo de respuesta o el estado de respuesta de un servicio accesible desde la red en el host monitorizado. Checkmk ofrece una gama de comprobaciones eficientes para muchas otras tareas de monitorización. Puedes encontrar una vista general en el artículo «Desarrollo de extensiones para Checkmk».

Los programas y scripts más importantes están disponibles en Checkmk directamente en la interfaz web. Aquí tienes una pequeña selección:

2. Configuración de checks activos

2.1. Configuración de checks activos periódicos

En Setup puedes —como ya se ha mencionado anteriormente— configurar las comprobaciones más importantes y utilizadas directamente en la interfaz web. Para ello, abre Setup > Services > HTTP, TCP, Email. Aquí encontrarás los conjuntos de reglas con los que puedes configurar estas comprobaciones:

List of rulesets for active checks.

La mayoría de las opciones del conjunto de reglas se explican por sí mismas. Sin embargo, si algo no te queda claro, también puedes consultar la ayuda en línea para obtener explicaciones sobre las numerosas opciones.

2.2. Asignar comprobaciones activas a un host

Para algunas reglas, es necesario especificar una dirección IP o un nombre del host en las opciones. En muchos casos es posible dejar esta opción en blanco para que se utilice el nombre del host o su IP. De esta manera, puedes usar fácilmente una sola regla para proporcionar una comprobación activa a todo un grupo de hosts. Por lo tanto, asegúrate siempre —también con la ayuda en línea ya mencionada— de si esta opción está disponible en el conjunto de reglas específico. Así te ahorrarás mucho trabajo de configuración.

Check HTTP web service es una comprobación que se utiliza con frecuencia para la monitorización de muchos parámetros de los servidores web, como la validez de los certificados, el tiempo de respuesta, el código de respuesta o la búsqueda de cadenas de caracteres en las páginas web servidas. Puedes encontrar esta comprobación en Networking > Check HTTP web service. Supongamos que quieres realizar la monitorización de la validez de los certificados de todos los servidores web de tu infraestructura, garantizar tiempos de respuesta inferiores a un segundo y un código de estado 200, pero no quieres crear docenas o incluso cientos de reglas para ello:

Example of a configuration of the 'Check HTTP web service' rule.
Tip

¿Por qué, con Check certificates, hay otra check activa para los certificados?

La comprobación de Check HTTP web service mencionada anteriormente siempre realiza una solicitud HTTP completa, lo que limita su uso a los servidores web. Por otro lado, su ejecución es muy eficiente; puede realizar una serie de comprobaciones con una sola solicitud HTTP.

En comparación, Check certificates solo comprueba la configuración de la conexión TLS y los certificados. Por lo tanto, esta comprobación también se puede aplicar a otros servicios protegidos con TLS, como IMAP/S. También puede examinar los certificados con mucho más detalle, por ejemplo, para nombres del host específicos almacenados a través de Server Name Indication (SNI).

Para aplicar la comprobación que acabas de configurar a todos los hosts adecuados con una sola regla, piensa primero en la mejor manera de rellenar el campo «Conditions». En el siguiente ejemplo, usamos la función «Labels» y añadimos la etiqueta «webprotocol:https» a todos nuestros servidores web. Con esa etiqueta, puedes crear una regla y establecer el campo «Conditions» en esta etiqueta:

Restriction of the rule via a host label on the web server.

Una vez que hayas activado la regla que acabas de crear, busca en el menú Monitor el nombre del servicio Basic webserver health que acabas de definir. En el siguiente ejemplo, puedes ver los hosts a los que se les ha aplicado la etiqueta correctamente.

The services generated by the rule in the monitoring.

Importante: Ten en cuenta que, para los checks activos, no solo se evalúa la primera regla a la que se aplican las condiciones, sino también todas las reglas en las que se cumplen las condiciones para un host. Esta es la única forma de crear varios servicios activos en un host.

2.3. Integración de otros Plugins compatibles con Nagios

Por supuesto, en Checkmk no solo tienes a tu disposición las comprobaciones activas que puedes encontrar como conjuntos de reglas en la interfaz web. Además de estos check plugins, encontrarás muchos más en tu site. Para simplificar el ejemplo de vista general que se muestra aquí, en el siguiente ejemplo de salida solo se muestran algunas líneas seleccionadas:

OMD[mysite]:~$ ll ~/lib/nagios/plugins/
total 2466
-rwxr-xr-x 1 root root   56856 Feb  3 00:45 check_dig
-rwxr-xr-x 1 root root    6396 Feb  3 00:45 check_flexlm
-rwxr-xr-x 1 root root    6922 Feb  3 00:45 check_ircd
-rwxr-xr-x 1 root root   60984 Feb  3 00:45 check_ntp_peer
-rwxr-xr-x 1 root root   78136 Feb  3 00:45 check_snmp
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Cada uno de estos check plugins ofrece también una opción de ayuda (-h), que te permite obtener más información sobre cómo utilizar el plugin correspondiente sin tener que visitar el sitio web monitoring-plugins.org.

En Setup > Services > Other services, Checkmk ofrece el conjunto de reglas especial Integrate Nagios plugins para facilitar el uso de estos Plugins. Las dos opciones más importantes aquí son la especificación de una descripción del servicio y un comando. Este comando se puede escribir como si ya estuvieras en el directorio correcto:

Rule for the integration of Nagios plug-ins.

Ten en cuenta que las macros mostradas arriba, como $HOSTNAME$ o $HOSTADDRESS$, también están disponibles aquí. Como siempre, puedes encontrar una lista de todas las macros disponibles en la ayuda en línea. Tras activar los cambios, podrás ver el nuevo servicio en el host asignado:

The service generated by the rule in the monitoring.

Usar tus propios Plugins

En algunos casos, ya habrás escrito tus propios Plugins y ahora querrás usarlos en Checkmk. En este caso, el procedimiento es prácticamente idéntico. El único requisito es que el Plugin sea compatible con Nagios. Esto incluye una salida de una sola línea con los detalles del estado y un código de salida que describa el estado. Debe ser 0 para OK, 1 para WARN, 2 para CRIT o 3 para UNKNOWN.

Un breve ejemplo para ilustrar la sintaxis, que es muy sencilla, muestra el siguiente script que puedes crear, por ejemplo, en el subdirectorio ~/tmp del directorio del site:

~/tmp/myscript.sh
#!/bin/bash
echo "I am a self written check and I feel well."
exit 0
Copiar el contenido del archivo al portapapeles
¡Contenido del archivo copiado correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

Con una sola acción, coloca el Plugin en la ruta de archivos local de tu site y hazlo ejecutable:

OMD[mysite]:~$ install -m755 ~/tmp/myscript.sh ~/local/lib/nagios/plugins/
Copiar comando(s) al portapapeles
¡Comandos copiados correctamente al portapapeles!
¡Se ha denegado el acceso de escritura al portapapeles!

El resto del procedimiento es idéntico al de otros Plugins creados mediante el conjunto de reglas «Integrate Nagios plugins», de modo que al final podrás ver el nuevo servicio:

The service generated by the custom plug-in in monitoring.

3. Características especiales de los cheques activos

Los servicios creados mediante checks activos se comportan de forma diferente en algunos aspectos respecto a otros servicios. Así que los servicios de un check activo…​

  • …​ siguen checándose incluso si un host está inDOWNe.

  • …​ se ejecutan independientemente de otros servicios (pasivos). Esto también te permite establecer tu propio intervalo.

  • …​ siempre son ejecutados por el servidor Checkmk. Las excepciones son los MRPE, que se ejecutan directamente en un host.

  • … no se incorporan a través del descubrimiento de servicios, sino que se generan automáticamente.

4. Ejecutar checks activos en un host (MRPE)

Imagina que estás realizando la monitorización de un host A (por ejemplo, un servidor web) desde tu sitio de Checkmk, que a su vez accede a servicios del host B (por ejemplo, una base de datos). La monitorización de los servicios del host B directamente desde el site de Checkmk probablemente se verá afectado por otros tiempos de ejecución de paquetes, etc., y por lo tanto no dará una indicación precisa de cómo se comporta la accesibilidad desde el host A en funcionamiento. En este caso, resulta conveniente tener un complemento de Nagios que se ejecute desde el agente del host supervisado (en este caso, A), y que compruebe directamente los servicios del host B.

Para ejecutar un Plugin clásico de Nagios en un host sujeto a monitorización, ofrecemos el Remote Plugin Executor de MK (abreviado: MRPE). Dependiendo de si quieres ejecutar dicho Plugin en un sistema tipo Unix o en un sistema Windows, colócalo en la ubicación adecuada dentro del directorio de instalación del agente correspondiente. Además, necesitarás un archivo de configuración que determine cómo se ejecutará el Plugin y cuál es la línea de comandos específica para la llamada.

Encontrarás instrucciones detalladas en los artículos correspondientes sobre Linux y Windows.

5. Archivos y directorios

Ruta del archivo Descripción

~/lib/nagios/plugins/

Aquí encontrarás todos los Plugins que vienen con Checkmk. No se hace distinción entre los Plugins escritos por monitoring-plugins.org y los que están escritos específicamente para Checkmk.

~/local/lib/nagios/plugins/

Puedes guardar tus propios Plugins aquí. Se cargarán dinámicamente y se mantendrán incluso tras una actualización del site de Checkmk.


Last modified: Mon, 15 Dec 2025 20:45:15 GMT via commit 0f6809b27
En esta página