![]() |
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. Conceptos básicos de las notificaciones
La notificación en Checkmk consiste en avisar activamente a los usuarios cuando cambia el estado de un host o de un servicio. Supongamos que, en un momento determinado, en el host mywebsrv17
el servicio HTTP foo.bar
pasa de OK a CRIT. Checkmk lo detecta y, por defecto, envía un correo electrónico con los datos más importantes sobre este evento a todos los contactos de este servicio. Más tarde, el estado vuelve a cambiar, de CRIT a OK, y los contactos reciben otro correo electrónico, esta vez informando de este evento, que se denomina recuperación.
Pero ésta es sólo la forma más sencilla de notificar. Hay numerosas formas de perfeccionarla:
Puedes notificar por SMS, buscapersonas, Slack y otros servicios de internet.
Puedes ajustar las notificaciones a periodos de tiempo concretos, por ejemplo, para tener en cuenta las listas de turnos de guardia.
Puedes definir escaladas si el contacto responsable no actúa con suficiente rapidez.
Los usuarios pueden "suscribirse" o "darse de baja" de las notificaciones de forma independiente, si quieres permitirlo.
En general, puedes definir mediante reglas a quién se debe notificar qué y cuándo.
Sin embargo, antes de empezar a trabajar con notificaciones, debes tener en cuenta lo siguiente:
La notificación es una función opcional. Algunos usuarios prescinden de las notificaciones porque tienen un centro de control que está atendido las 24 horas del día y que sólo funciona con la interfaz de estado.
Al principio, activa las notificaciones sólo para ti y hazte responsable de todo. Observa durante al menos unos días cómo aumenta el número de notificaciones.
No actives las notificaciones para otros usuarios hasta que hayas reducido al mínimo las falsas alarmas(falsos positivos). Hemos descrito cómo hacerlo en el capítulo sobre el ajuste preciso de la monitorización.
2. Preparar las notificaciones por correo electrónico
El método más sencillo y, con diferencia, el más habitual es enviar una notificación por correo electrónico. En un correo electrónico hay espacio suficiente para incluir también los gráficos de las métricas.
Antes de que puedas notificar por correo electrónico, tu servidor Checkmk debe estar configurado para enviar correos electrónicos. Para todas las distribuciones de Linux compatibles, esto se reduce a lo siguiente:
Instalar un servicio de servidor SMTP. Esto suele hacerse automáticamente durante la instalación de la distribución.
Especifica un smarthost. Normalmente te lo pedirán al instalar el servidor SMTP. El smarthost es un servidor de correo de tu empresa que se encarga del envío de correos electrónicos para Checkmk. Las empresas muy pequeñas no suelen tener smarthost propio. En este caso, utilizas el servidor SMTP suministrado por tu proveedor de correo electrónico.
Si el envío de correo se ha configurado correctamente, deberías poder enviar un correo electrónico desde la línea de comandos, por ejemplo mediante este comando:
OMD[mysite]:~$ echo "test-content" | mail -s test-subject bill.martin@example.com
El correo electrónico debería entregarse sin demora. Si esto no funciona, encontrarás pistas sobre el origen del problema en el archivo de registro del servidor SMTP en el directorio /var/log/
. Puedes encontrar más detalles sobre la configuración del envío de correo en Linux en el artículo sobre notificaciones.
3. Activar las notificaciones por correo electrónico
Una vez que el envío por correo electrónico funciona básicamente, activar la notificación es muy sencillo. Para que un usuario pueda recibir notificaciones por correo electrónico, deben cumplirse las dos condiciones siguientes:
Se ha asignado una dirección de correo electrónico al usuario.
El usuario es responsable de host o servicios, mediante la asignación de grupos de contacto.
La dirección de correo electrónico y los grupos de contacto se asignan a través de las propiedades del usuario, como mostramos anteriormente en el capítulo sobre administración de usuarios, por ejemplo, añadiendo tu dirección de correo electrónico a la cuenta de usuario cmkadmin
y al grupo de contacto Everything.
4. Probar las notificaciones
Sería un poco engorroso esperar a tener un problema real o incluso provocar uno para probar las notificaciones. Esto es más fácil con Test notifications, una herramienta con la que puedes simular una notificación para un host o servicio y hacer que la notificación se envíe inmediatamente.
Puedes acceder a la prueba de notificaciones a través de Setup > Events > Notifications y del botón Test notifications:

Sólo tienes que seleccionar un host y, a continuación, cualquier cambio de estado como evento. Activando el checkbox Send out notification, especificas que la notificación no sólo se simule, sino que también se envíe realmente.
Haz clic en Test notifications. El diálogo Test notifications se oculta y se muestran los resultados. El más importante es el resumen Analysis results de la parte superior:

Al menos una regla de notificación debe tener efecto y dar lugar a una notificación. La notificación también debe haberse enviado, como indica el mensaje Notifications have been sent
.
En Resulting notifications puedes ver a quién y a través de qué canal se envió la notificación:

En el artículo sobre notificaciones encontrarás una descripción detallada de las opciones y los resultados de la prueba de notificación.
Si no has recibido una notificación en la monitorización real, es decir, fuera de la simulación, esto no significa necesariamente un error. Hay situaciones en las que las notificaciones de Checkmk se suprimen deliberadamente, por ejemplo
cuando la notificación ha sido desactivada Master control snap-in;
cuando un host o servicio está en un tiempo de mantenimiento programado;
cuando un host está DOWN y, por tanto, no se activan notificaciones de sus servicios;
si el estado ha cambiado con demasiada frecuencia recientemente y, por tanto, el servicio se ha marcado como inestable .
5. Ajuste preciso de las notificaciones
Puedes adaptar las notificaciones de Checkmk a tus necesidades, o a las de tu organización, de diversas formas mediante reglas complejas. Puedes conocer todos los detalles al respecto en el artículo sobre notificaciones.
6. Solución de problemas
El módulo de notificación de Checkmk es muy complejo, porque cubre muchos requisitos muy diferentes que han demostrado su importancia a lo largo de muchos años de experiencia práctica. Por eso, la pregunta "¿Por qué no ha notificado Checkmk aquí?" se planteará más a menudo de lo que cabría esperar, sobre todo al principio. Por eso, aquí tienes algunos consejos para solucionar problemas.
Si un servicio concreto no ha activado una notificación, el primer paso sería comprobar el historial de notificaciones de ese servicio. Para ello, abre la página de detalles de ese servicio haciendo clic en la monitorización del servicio. Selecciona Service > Service notifications en el menú. Allí encontrarás todos los eventos de notificación de ese servicio ordenados cronológicamente del más reciente al más antiguo.
Aquí tienes un ejemplo de un servicio para el que se intentó la notificación, pero cuyo envío de correos electrónicos falló porque no se ha instalado ningún servidor SMTP.

Puedes encontrar aún más información en el archivo ~/var/log/notifiy.log
. Puedes verlo como usuario del site, con el comando less
, por ejemplo:
OMD[mysite]:~$ less var/log/notify.log
Si aún no estás familiarizado con less
- con la combinación de teclas Shift+G
puedes saltar al final de un archivo (lo que es útil para archivos de registro), y salir de less
con la tecla Q
.
Con el comando tail -f
, también puedes observar el contenido del archivo "en directo" mientras se está ejecutando, lo que resulta útil si sólo te interesan los mensajes nuevos, es decir, los que sólo aparecen después de introducir tail
.
Aquí tienes un extracto del notify.log
de una notificación activada correctamente:
2024-04-15 16:21:47,912 [20] [cmk.base.notify] Analysing notification (localhost) context with 14 variables
2024-04-15 16:21:47,912 [20] [cmk.base.notify] Global rule 'Notify all contacts of a host/service via HTML email'...
2024-04-15 16:21:47,913 [20] [cmk.base.notify] -> matches!
2024-04-15 16:21:47,913 [20] [cmk.base.notify] - adding notification of martin via mail
2024-04-15 16:21:47,913 [20] [cmk.base.notify] Executing 1 notifications:
2024-04-15 16:21:47,913 [20] [cmk.base.notify] * notifying martin via mail, parameters: graphs_per_notification, notifications_with_graphs, bulk: no
2024-04-15 16:21:47,913 [20] [cmk.utils.notify] sending command LOG;HOST NOTIFICATION: martin;localhost;DOWN;mail;
2024-04-15 16:21:47,913 [20] [cmk.base.notify] executing /omd/sites/mysite/share/check_mk/notifications/mail
2024-04-15 16:21:48,458 [20] [cmk.base.notify] Output: Spooled mail to local mail transmission agent
2024-04-15 16:21:48,501 [20] [cmk.utils.notify] sending command LOG;HOST NOTIFICATION RESULT: martin;localhost;OK;mail;Spooled mail to local mail transmission agent;Spooled mail to local mail transmission agent
Al configurar las notificaciones, has completado los toques finales: ¡tu sistema Checkmk está listo para ser utilizado! Esto no significa, por supuesto, que se hayan explorado por completo todas las capacidades de Checkmk.