Checkmk
to checkmk.com

1. Monitorización de la utilización individual de la CPU en todos los núcleos

Checkmk configura automáticamente un servicio, tanto en Linux como en Windows, que monitoriza el uso medio de la CPU en el transcurso del último minuto. Por un lado, esto tiene sentido, pero por otro no reconoce algunos errores, por ejemplo, que un único proceso se desboque y utilice continuamente una CPU al 100 %. En un sistema con 16 CPUs, sin embargo, una CPU sólo contribuye en un 6,25 % al rendimiento general, por lo que incluso en el caso extremo descrito, se registra una utilización total de sólo el 6,25 %, lo que no activa una notificación.

Por esta razón, Checkmk ofrece la opción (para Linux y para Windows) de monitorizar individualmente todas las CPU disponibles y determinar si alguno de sus núcleos está constantemente ocupado durante un periodo de tiempo más largo. Configurar este check ha resultado ser una buena idea.

Para configurar este check para tus servidores Windows, necesitas para el servicio CPU utilization el conjunto de reglas CPU utilization for simple devices, que puedes encontrar en Service monitoring rules. Este conjunto de reglas es responsable de la monitorización de todas las CPU, pero también tiene esta opción: Levels over an extended time period on a single core CPU utilization.

Crea una regla nueva y activa en ella sólo esta opción:

Dialog for defining the monitoring of CPU utilization of individual cores for Windows servers.

Define la condición para que sólo se aplique a los servidores Windows, por ejemplo utilizando una carpeta o tag del host adecuados. Esta regla no afectará a otras reglas del mismo conjunto de reglas si establecen otras opciones, como los umbrales para la utilización total de la CPU.

Para los servidores Linux, esto es responsabilidad del conjunto de reglas CPU utilization on Linux/UNIX, en el que puedes establecer la misma opción.

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.

2. Monitorización de los servicios de Windows

Por defecto, Checkmk no monitoriza ningún servicio de tus servidores Windows. ¿Por qué no? Sencillamente porque Checkmk no sabe qué servicios son importantes para ti.

Si no quieres tomarte la molestia de determinar manualmente para cada servidor qué servicios son importantes, también puedes configurar un check que simplemente compruebe si todos los servicios con el tipo de inicio "automático" se están ejecutando. Además, se te puede informar de si se están ejecutando servicios que se iniciaron manualmente -desordenados, por así decirlo-. Éstos dejarán de ejecutarse tras un reinicio, lo que podría ser un problema.

Para ponerlo en práctica, primero necesitas el conjunto de reglas Windows Services, que puedes encontrar en Service monitoring rules, utilizando la función de búsqueda Setup > General > Rule search, por ejemplo. La opción crucial de la nueva regla es Services states. Actívala y añade tres nuevos elementos para los estados de los servicios:

Dialog for defining the Windows server services to be monitored depending on their status.

Esto te permite implementar la siguiente monitorización:

  • Un servicio con el tipo de inicio auto, y que está en ejecución, se considera OK.

  • Un servicio con el tipo de inicio auto que no se está ejecutando se considera CRIT.

  • Un servicio con el tipo de inicio demand, y que está en ejecución, se considera WARN.

Sin embargo, esta regla sólo se aplica a los servicios que se están monitorizando realmente. Por tanto, necesitamos un segundo paso y una segunda regla, esta vez del conjunto de reglas Windows service discovery, con la que defines qué servicios de Windows debe monitorizar Checkmk como servicios.

Cuando crees esta regla, puedes introducir primero la expresión regular .* en la opción Services (Regular Expressions), que se aplicará a todos los servicios.

Después de guardar la regla, pasa a la configuración de servicios de un host adecuado, donde encontrarás un gran número de servicios nuevos, uno por cada servicio de Windows.

Para limitar el número de servicios monitorizados a los que te interesen, vuelve a la regla y afina los términos de búsqueda según sea necesario, distinguiendo entre mayúsculas y minúsculas. He aquí un ejemplo de selección personalizada de servicios:

Dialog for defining the names of the Windows services to be monitored.

Si previamente has incluido servicios que no coinciden con las nuevas expresiones de búsqueda ahora en la monitorización, aparecerán como desaparecidos en la configuración de servicios. Con el botón Rescan puedes limpiar el aire y hacer que se vuelva a crear toda la lista de servicios.

3. Monitorización de las conexiones a internet

El acceso de tu organización a internet es, sin duda, muy importante para todos. La monitorización de la conexión a "internet" es un poco difícil de implementar, ya que implica a miles de millones de ordenadores que podrían (con suerte) ser accesibles... o no. No obstante, puedes establecer un sistema de monitorización eficaz, basado en el siguiente plan de construcción:

  1. Selecciona varios ordenadores en internet que normalmente deberían ser accesibles mediante un comando ping y anota sus direcciones IP.

  2. Crea un nuevo host en Checkmk, por ejemplo con el nombre internet y configúralo como sigue: En IPv4 address introduce una de las direcciones IP anotadas. En Additional IPv4 addresses introduce las direcciones IP restantes. En Monitoring agents, habilita Checkmk agent / API integrations y selecciona No API integrations, no Checkmk agent allí. Guarda el host sin descubrimiento de servicios.

  3. Crea una nueva regla a partir del conjunto de reglas Check hosts with PING (ICMP Echo Request) que sólo se aplique al nuevo host internet (por ejemplo, a través de la condición Explicit hosts, o de un tag del host coincidente). Configura la regla como sigue: Habilita Service Description e introduce Internet connection. Habilita Alternate address to ping y selecciona Ping all IPv4 addresses allí. Habilita Number of positive responses required for OK state e introduce 1.

  4. Crea otra regla que también sólo se aplique al host internet, esta vez a partir del conjunto de reglas Host Check Command. Allí, selecciona como Host Check Command la opción Use the status of the service…​ e introduce Internet connection como nombre -el mismo nombre que elegiste como nombre del servicio en el paso anterior.

Si ahora activas los cambios, obtendrás el nuevo host internet con el servicio único Internet connection en la monitorización.

Si al menos uno de los destinos ping es alcanzable, el host tendrá el estado UP y el servicio tendrá el estado OK. Al mismo tiempo, el servicio te proporciona datos de rendimiento para el tiempo medio de ida y vuelta de los paquetes(promedio de ida y vuelta) y la pérdida de paquetes para cada una de las direcciones IP especificadas. Esto te dará una indicación de la calidad de tu conexión a lo largo del tiempo:

List entry of a service for monitoring the internet connection to several IP addresses.
Tip

El cuarto y último paso del procedimiento anterior es necesario para que el host no entre en estado DOWN si la primera dirección IP no es alcanzable a través de ping. En su lugar, el host adquirirá el estado de su único servicio.
Como un servicio básicamente no notifica cuando su host está DOWN, es importante que controles las notificaciones a través del host, y no a través del servicio. Además, en este caso concreto, debes utilizar un método de notificación que no requiera conexión a internet.

4. Monitorización de servicios HTTP/HTTPS

Supongamos que quieres comprobar la accesibilidad de un sitio web o servicio web. El agente Checkmk no ofrece una solución en este caso, ya que no muestra esta información y, además, puede que ni siquiera tengas la posibilidad de instalar un agente en el servidor.

La solución es el llamado check activo, que no se realiza mediante un agente, sino contactando directamente con un protocolo de red en el host de destino, en este caso HTTP(S).

El procedimiento es el siguiente

  1. Crea un nuevo host para el servidor web, por ejemplo para checkmk.com. En Monitoring agents, activa la opción Checkmk agent / API integrations y selecciona No API integrations, no Checkmk agent. Guarda el host sin descubrimiento de servicios.

  2. Crea una nueva regla a partir del conjunto de reglas Check HTTP web service, que sólo se aplique al nuevo host (por ejemplo, mediante la condición Explicit hosts).

  3. En la caja Value encontrarás numerosas opciones para realizar el check. El principio es el siguiente: define un nuevo endpoint para cada URL a comprobar. Se crea un servicio para cada endpoint. A continuación, define el nombre del servicio (por ejemplo, Basic webserver health) y, si es necesario, un prefijo (HTTP o HTTPS) para el endpoint.

  4. También puedes hacer ajustes adicionales en la caja Value que hay debajo de los endpoints. Por ejemplo, puedes utilizar Response time para establecer el servicio en WARN o CRIT si el tiempo de respuesta es demasiado lento y utilizar Certificate validity para comprobar el periodo de validez del certificado. Con Search for strings puedes comprobar si un determinado texto aparece en la respuesta, es decir, en la página entregada. Esto te permite comprobar una parte relevante del contenido para que un simple mensaje de error del servidor no se interprete como una respuesta positiva.

    Puedes definir estos ajustes de forma idéntica para todos los endpoints o individualmente para cada endpoint.

    Tip

    Puedes encontrar información muy útil sobre todas las opciones disponibles en la ayuda en línea.

  5. Guarda la regla y activa los cambios.

Ahora tendrás un nuevo host con los servicios que hayas especificado que check el acceso a través de HTTP(S):

List entry of the services for monitoring the HTTP/HTTPS services on a host.
Tip

Por supuesto, también puedes realizar este check en un host que ya esté siendo monitorizado con Checkmk a través de un agente. En este caso, no es necesario crear el host y sólo tendrás que crear la regla para el host.

5. Personalizar "mágicamente" los umbrales del sistema de archivos

Encontrar buenos umbrales para la monitorización de sistemas de archivos puede ser tedioso. Al fin y al cabo, un umbral del 90 % es demasiado bajo para un disco duro muy grande y quizá ya sea demasiado marginal para uno pequeño. Ya hemos presentado la posibilidad de establecer umbrales en función del tamaño de un sistema de archivos en el capítulo sobre el ajuste preciso de la monitorización, y hemos insinuado entonces que Checkmk ofrece otra opción aún más inteligente: el factor mágico.

El factor mágico se configura así:

  1. En el conjunto de reglas Filesystems (used space and growth), crea una sola regla.

  2. En esta regla, activa Levels for used/free space y deja los umbrales por defecto en 80 % o 90 % sin modificar.

  3. Además, activa Magic factor (automatic level adaptation for large filesystems) y confirma el valor por defecto de 0,80.

  4. Establece también Reference size for magic factor en 20 GB. Como 20 GB es el valor por defecto, tendrá efecto incluso sin que actives explícitamente la opción.

El resultado tendrá este aspecto:

Dialog for setting the magic factor for file system thresholds.

Si ahora guardas esta regla y activas el cambio, tendrás valores umbrales que varían automáticamente en función del tamaño del sistema de archivos:

  1. Los sistemas de archivos que tengan un tamaño exacto de 20 GB reciben los umbrales 80 % / 90 %.

  2. Los sistemas de archivos de menos de 20 GB tienen umbrales más bajos.

  3. Los sistemas de archivos de más de 20 GB tienen umbrales más altos.

El factor (aquí 0,80) determina cuánto se ajustan los valores. Un factor de 1,0 no cambia nada, y todos los sistemas de archivos obtienen los mismos valores. Los valores por defecto para Checkmk utilizados en este capítulo han demostrado su eficacia en la práctica con muchísimas instalaciones.

Puedes ver exactamente qué umbrales se aplican a cada servicio en su Summary:

List with two file system services and their thresholds.

La siguiente tabla muestra algunos ejemplos del efecto del factor mágico con un valor de referencia de 20 GB / 80 %:

Factor mágico 5 GB 10 GB 20 GB 50 GB 100 GB 300 GB 800 GB

1.0

80 %

80 %

80 %

80 %

80 %

80 %

80 %

0.9

77 %

79 %

80 %

82 %

83 %

85 %

86 %

0.8

74 %

77 %

80 %

83 %

86 %

88 %

90 %

0.7

70 %

75 %

80 %

85 %

88 %

91 %

93 %

0.6

65 %

74 %

80 %

86 %

89 %

93 %

95 %

0.5

60 %

72 %

80 %

87 %

91 %

95 %

97 %

Con este capítulo sobre el factor mágico, concluimos nuestra guía para principiantes. Esperamos que hayas podido establecer una base sólida para tu sistema Checkmk, con o sin magia. Para casi todos los temas que hemos tratado en esta guía para principiantes, encontrarás información más detallada en otros artículos del Manual de usuario.

¡Te deseamos mucho éxito con Checkmk en el futuro!

En esta página