Envío de alertas de monitorización por SMS con Nagios

SMS masivo desde 2002

Nagios es un sistema de monitorización de equipos y servicios de redes capaz de vigilar el comportamiento de hardware y software. Al ser un proyecto de código abierto está muy extendido.

Pero, ¿qué es un sistema de monitorización si no es capaz de avisar al administrador de sistemas de los problemas que pueda encontrar?

Envío de alertas de monitorización por SMS con Nagios

El aviso por correo electrónico es una posibilidad, pero ¿están los administradores de sistemas continuamente revisando el correo electrónico? ¿estás seguro que si ocurre un problema que requiere atención urgente se va a solucionar rápidamente y de manera satisfactoria si sólo se avisa por correo electrónico?

En este momento es cuando el envío de las alertas de monitorización por SMS resultan más necesarias que nunca. Los SMS son más rápidos y seguros a la hora de recibir estas notificaciones. Todo el mundo lleva su teléfono siempre a mano y un administrador de sistemas aún con más razón.

Por este motivo vamos a sugerir dos maneras de integrar el envío de alertas de monitorización con Nagios.

Convierte los correos electrónicos de monitorización en SMS

Nagios ofrece gran parte de sus funcionalidades a través de plugins de terceros. Seguro que ya tienes configurado un plugin para el envío de correos electrónicos.

Altiria ofrece el servicio mail2sms que convierte los correos electrónicos en SMS. De esta manera sólo es necesario configurar una dirección de correo más en la configuración de Nagios y Altiria se encarga de transformar el cuerpo del correo electrónico en un SMS.

La ventaja de esta solución es que no hay que realizar ninguna instalación adicional, sólo crear tu cuenta de envío de SMS con Altiria, probar el servicio y comenzar a recibir las alertas.

Crea un plugin de envío de notificaciones SMS con Nagios

Si no quieres utilizar la conversión de correos electrónicos a SMS, ya sea porque no tienes ningún plugin o bien porque quieres tener un sistema redundante y no confiar todo al funcionamiento del sistema de correo, es necesario crear un plugin Nagios.

En primer lugar es necesario preparar un script que realiza el envío de SMS. El script estará en un archivo de nombre alerta-sms-altiria.sh que hay que copiar en el directorio de plugins de Nagios para que esté disponible para su ejecución.

#!/bin/sh
telefono="$1"
textosms="$2"

#Credenciales de la cuenta de envío de SMS con Altiria
login=
password=

COMANDO="cmd=sendsms&login=$login&passwd=$password&dest=$telefono &msg=$textosms&concat=true"

#Se hace la petición
/usr/bin/curl -d "${COMANDO}" http://www.altiria.net/api/http -post

Expliquemos qué contiene el script:

  • Hay que rellenar los datos de login y password de la cuenta recibidos de Altiria.
  • El script acepta dos parámetros, el teléfono y el texto del mensaje.
  • El teléfono tiene que incluir el prefijo del formato internacional.
  • El mensaje se configura para usar sms concatenados. Se gastan más créditos, pero es importante no recibir una alerta incompleta

Definimos dos comandos para enviar las alertas. Estos comandos los tenemos que copiar en la configuración de Nagios

 define command{
   command_name    alerta-host-sms
   command_line    /path/to/alerta-sms-altiria.sh "$CONTACTPAGER$" "Alerta Nagios\nTipo: $NOTIFICATIONTYPE$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nEstado: $SERVICESTATE$\nFecha: $LONGDATETIME$"
 }
 define command{
   command_name    alerta-service-sms
   command_line    path/to/alerta-sms-altiria.sh "$CONTACTPAGER$" "Alerta Nagios\nTipo: $NOTIFICATIONTYPE$\nServicio: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nEstado: $SERVICESTATE$\nFecha: $LONGDATETIME$"
 }

Por último añadimos el teléfono que quieres que reciba las alertas por sms al resto de datos que ya tienes definidos para el contacto

define contact {
   …resto de datos de contacto que ya tienes
   service_notification_commands   alerta-service-sms
   host_notification_commands      alerta-host-sms
   pager 34xxxxxxxx
}

Antes de probar el envío de SMS en Nagios, conviene que pruebes el envío de SMS una vez configurados los datos de la cuenta. Lo puedes hacer directamente ejecutando el script pasando como parámetros el número de teléfono y el mensaje:

alerta-sms-altiria.sh 34xxxxxx “Mensaje de prueba de alertas desde Nagios”