![]() |
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 monitorizar tu infraestructura de muchas formas distintas. La monitorización mediante agentes o SNMP son sólo dos de una serie de métodos. Lo que ambos tienen en común es que sólo informan de los estados tal y como los ve el host desde dentro, pero es probable que conozcas algunos servicios que sólo se pueden monitorizar eficazmente desde fuera. Si el servidor web funciona se puede seguir comprobando desde dentro, pero, sin embargo, la accesibilidad y los tiempos de respuesta del usuario real no se pueden determinar de esta forma.
Para estas situaciones, Checkmk ofrece sus comprobaciones activas, que te permiten supervisar los servicios de red directa y cómodamente desde el exterior, y mostrar la información en tu monitorización. Las comprobaciones activas son pequeños programas o scripts que se conectan a un servicio de la red o de internet, y luego proporcionan al usuario los datos de la monitorización. Muchos de los scripts y programas que encontrarás en Checkmk proceden de monitoring-plugins.org. Como Checkmk es compatible en general 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 comprueban la accesibilidad, el tiempo de respuesta o el estado de respuesta de un servicio accesible a través de la red en el host monitorizado. Checkmk ofrece una serie de comprobaciones eficaces para muchas otras tareas de monitorización. Puedes encontrar una visión general en el artículo Desarrollo de extensiones para Checkmk.
Los más importantes de estos programas y scripts están disponibles en Checkmk directamente en la interfaz web. He aquí una pequeña selección:
2. Configuración de los checks activos
2.1. Configurar los checks activos regulares
En Setup puedes -como ya se ha mencionado anteriormente- configurar los controles más importantes y utilizados con más frecuencia 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 estos controles:

La mayoría de las opciones de los conjuntos de reglas se explican por sí mismas, pero si algo no está claro, también puedes consultar la ayuda en línea para obtener explicaciones sobre las numerosas opciones.
2.2. Asignar checks activos a un host
Para algunas reglas, es necesario especificar una dirección IP o un nombre del host en las opciones. En muchos lugares, es posible dejar esta opción en blanco para que se utilice el nombre del host o su IP. De esta forma, puedes utilizar fácilmente una sola regla para proporcionar un check activo a todo un grupo del host. 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í, puedes ahorrarte mucho trabajo de configuración.
Check HTTP web service es un check que se utiliza frecuentemente para monitorizar muchos parámetros de los servidores web, como la validez del certificado, el tiempo de respuesta, el código de respuesta o la búsqueda de cadenas de caracteres en las páginas web entregadas. Puedes encontrar este check en Networking > Check HTTP web service. Supongamos que quieres monitorizar 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 de 200, pero no quieres crear docenas o incluso cientos de reglas para ello:

![]() |
¿Por qué, con Check certificates, hay otro check activo para los certificados? El mencionado check de Check HTTP web service realiza siempre una petición HTTP completa, lo que limita su uso a servidores web. Por otro lado, su ejecución es muy eficiente; puede realizar una serie de checks con una sola petición HTTP. En comparación, Check certificates sólo comprueba la configuración de la conexión TLS y los certificados. Por tanto, esta comprobación también puede aplicarse a otros servicios protegidos con TLS, como IMAP/S. Además, puede examinar los certificados con mucho más detalle, por ejemplo, para nombres del host específicos almacenados mediante la Indicación del nombre del servidor (SNI). |
Para aplicar el check recién configurado a todos los host adecuados con una sola regla, piensa primero en la mejor forma de rellenar el Conditions. En el siguiente ejemplo, utilizamos la función Etiquetas y añadimos la etiqueta webprotocol:https
a todos nuestros servidores web. Con dicha etiqueta, puedes crear una regla y establecer el Conditions a esta etiqueta:

Una vez activada la regla que acabas de crear, busca en el menú Monitorización el nombre del servicio Basic webserver health
que acabas de definir. En el ejemplo siguiente, puedes ver los host a los que se ha aplicado la etiqueta correspondiente.

Importante: Ten en cuenta que para los checks activos, no sólo se evalúa la primera regla a la que se aplican las condiciones, sino también todas las reglas en las que se aplican las condiciones para un host. Ésta es la única forma de crear varios servicios activos en un host.
2.3. Integrar otros Plugin compatibles con Nagios
Por supuesto, en Checkmk no sólo están disponibles 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 la siguiente salida de muestra sólo se muestran las 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
Cada uno de estos check plugins también ofrece 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 Plugin. Las dos opciones más importantes son la especificación de una descripción del servicio y una línea de comando. Esta última puede escribirse como si ya estuvieras en el directorio correcto:

Ten en cuenta que las macros mostradas anteriormente, como $HOSTNAME$
o $HOSTADDRESS$
, también están disponibles aquí. Como siempre, encontrarás 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:

Utilizar tus propios Plugin
En algunos casos, ya habrás escrito tus propios plugins y ahora querrás utilizarlos 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 muy simple muestra el siguiente script que puedes crear, por ejemplo, en el subdirectorio ~/tmp
del directorio del site:
#!/bin/bash
echo "I am a self written check and I feel well."
exit 0
Con una sola acción coloca el Plugin en la ruta local de archivos de tu site y hazlo ejecutable:
OMD[mysite]:~$ install -m755 ~/tmp/myscript.sh ~/local/lib/nagios/plugins/
El resto del procedimiento es idéntico al de otros Plugin que se crean mediante el conjunto de reglas Integrate Nagios plugins, de modo que al final puedes ver el nuevo servicio:

3. Características especiales de los checks activos
Los servicios creados por los checks activos se comportan de forma diferente en algunos aspectos que otros servicios. Así, los servicios de un check activo...
... se siguen comprobando aunque un host esté DOWN.
... se ejecutan independientemente de otros servicios (pasivos). Esto también te permite establecer tu propio intervalo.
... siempre las ejecuta el servidor Checkmk. La excepción son los MRPE, que se ejecutan directamente en un host.
... no se incorporan mediante el descubrimiento de servicios, sino que se generan automáticamente.
4. Ejecutar checks activos en un host (MRPE)
Supón que estás monitorizando un host A (por ejemplo, un servidor web) desde tu sitio Checkmk, que a su vez accede a servicios del host B (por ejemplo, una base de datos). Lo más probable es que la monitorización de los servicios del host B directamente desde el sitio Checkmk se vea corrompida por otros tiempos de ejecución de paquetes, etc., y por tanto no dará ninguna indicación precisa de cómo se comporta la accesibilidad del host A en funcionamiento. En este caso, es conveniente tener un plugin de Nagios ejecutado desde el agente del host monitorizado (aquí A), que compruebe directamente los servicios del host B.
Para ejecutar un plugin de Nagios clásico en un host monitorizado, proporcionamos el Ejecutor Remoto de Plugin 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 del directorio de instalación del agente respectivo. Además, necesitarás un archivo de configuración que determine cómo debe ejecutarse el plugin, y cómo es la línea de comandos específica para la llamada.
5. Archivos y directorios
Ruta del archivo | Descripción |
---|---|
|
Aquí encontrarás todos los Plugin que se suministran con Checkmk. No se hace distinción entre los Plugin escritos por monitoring-plugins.org y los escritos específicamente para Checkmk. |
|
Puedes almacenar aquí tus propios Plugin, que se leerán dinámicamente y sobrevivirán a una actualización del site de Checkmk. |