Envío de SMS mediante Nagios

13 10 2008

Envio de sms con Nagios

Existen numerosos métodos de notificación que Nagios puede usar para cantar cuando alguno de nuestros servicios o equipos tiene problemas.

El más usado es el del correo electrónico, aunque gracias a la estructura en sí de Nagios, es posible implementar cualquier cosa ejecutando algún script.

Este es el caso que me ha ocupado a mí. Necesitaba que me notificase por sms, ya que todavía no tengo «hayfon», ni lo voy a tener en mucho tiempo XD. Tampoco pienso tragar por las conexiones robadineros de bromafone o bomistar (de los OMV’s ni hablo, que es un mundo aparte).

Visto el panorama, me he decidido por usar el servicio que ofrecen algunos clones de Betamax, cual es la posibilidad de enviar sms a precios tirados, y mediante una única sentencia en el navegador. Realmente, no es necesario tener el navegador para hacerlo, ya que se puede lanzar desde cualquier script. Más información al respecto aqui.

Para el uso e instalación de Nagios, existe bastante documentación por la red. Por ejemplo, aqui, aqui y aqui.

Una vez instalado y configurado, se supone que una configuración básica para monitorizar un router, como la descrita en la web de nagios, nos debería notificar por email la caída de nuestro equipo o servicio. Verdaderamente es sencillo de hacer, siempre y cuando sepamos lo que tenemos entre manos y, además, hayamos configurado correctamente el envío de correos desde nuestra máquina (sendmail, postfix, exim, etc).

Total, que me encontraba por aquí y quería también que me llegase la información al móvil para cuando estoy por ahí de fiesta y me pueda amargar un rato, con algún servicio crítico caído y esas cosas. Ya sabéis la máxima de un técnico, siempre operativo por si las moscas….

Primero indicamos en /usr/local/nagios/etc/objects/commands.cfg que existe un comando nuevo para ejecutar cosas. En este caso el comando ejecuta una orden que manda sms. Nos vamos al final del fichero y ponemos

define command{
        command_name    host-notify-by-sms
        command_line    /usr/bin/wget --no-check-certificate "https://myaccount.voicetrading.com/clx/sendsms.php?username=usuario_betamax&password=password_betamax&from=+tu_numero_origen&to=+tu_movil_destion&text='$NOTIFICATIONTYPE$: $HOSTNAME$ is $HOSTSTATE$ ($OUTPUT$)' " -O /tmp/SMS.resultado.xml
        }

Ahora Nagios sabe que tiene que ejecutar cuando llegue el momento.

Como probablemente estemos puestos como nagiosadmin, estaremos haciendo uso de generic-contact para notificaciones. Todo esto lo podemos comprobar en /usr/local/nagios/etc/objects/contacts.cfg. Una vez que sabemos quién somos y cómo se nos notifica (suponemos que estamos en generic-contact), editamos /usr/local/nagios/etc/objects/templates.cfg y veremos algo como

define contact{
        name                            generic-contact
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r,f,s
        host_notification_options       d,u,r,f,s
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        register                        0
	}

y añadiremos a host_notification_commands todos aquellos comandos que queremos se ejecuten cuando hay problemas. En este caso, se llama host-notify-by-sms. El resultado es

define contact{
        name                            generic-contact
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r,f,s
        host_notification_options       d,u,r,f,s
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email,host-notify-by-sms
        register                        0
	}

Con esto ya tenemos el sistema listo para enviar sms cuando el host en cuestión se nos caiga o tenga problemas.

Gracias a Iñaki Baz por su aporte en el comando notificador…


Acciones

Information

11 responses

21 10 2008
Fabian Selles Rosa

Buenas paco:

¿Cómo se paga al proveedor por cada sms? No hay cuota de alta ni ná?

Saludos

21 10 2008
paco

hola Fabián,

Con voicetrading debes estar dado de alta en sus sistema. Sólo admiten prepagos de 500 euros o más…

Luego tienes smsdiscount, que usa la misma interfaz que voicetrading (tiene pinta de que todo es lo mismo XD).

saludos,

5 12 2008
ramoncio

Muy bueno.
He estado probando y tambien funciona con justvoip:

/usr/bin/wget –no-check-certificate «https://myaccount.justvoip.com/clx/sendsms.php?username=mi_usuario&password=mi_password&from=XXXXXXXXX&to=XXXXXXXXX&text=mi_mensaje_sms» -O /tmp/SMS.resultado_`date +%Y.%m.%d.%H.%M.%S`.xml

tambien he añadido la fecha y hora para que no te sobreescriba los resultados.

Algunos plugins recomendados? A mi me interesa monitorizar asterisk, apache, mysql y postfix sobre todo.

5 12 2008
almeriense

Bueno, puede ser util a algunas personas.
Pero creo que a la largar es un método más caro el SMS que el e-mail.
Y pensándolo bien, de primeras también.

5 12 2008
ualtech

@ramoncio

muy buen apunt lo de las fechas. Así tienes un listado de todo lo que ocurre.
Respecto de los plugins, para asterisk tienes hechos algunos para sip y para zap. Los otros también recuerdo que lo tienen, aunque no sé dónde lo vi.

@almeriense

el coste es de aprox. 5 ct/mensaje, lo que implica que siempre será más caro que el mail XDDD. Pero que te pille un fin de semana con la familia de romería o lo que tú quieras y que se te caiga un servidor y no te entres (a no ser que estés pagando una tarifa plana de datos $$$$–> mucho mas caro), no tiene precio!!!!

5 12 2008
ramoncio

Y para usar el asterisk para que te notifique por voz?
Lo has probado?
Parece que hay 2 implementaciones:

notify via asterisk
http://www.nagiosexchange.org/cgi-bin/page.cgi?g=Detailed%2F2606.html;d=1
y nagios2asterisk
http://www.nagiosexchange.org/cgi-bin/page.cgi?g=Detailed%2F2234.html;d=1
Alguna recomendacion?
Funcionarán con Nagios 3.X? No pone nada, y eso mosquea…

5 12 2008
ramoncio

Una pregunta más Paco, con Nagios se pueden sacar gráficos e históricos como con munin? Por lo que veo tambien usa rrdtool, pero no veo la forma de ver los gráficos como los que saca el munin. Igual hay algún plugin o algo para ello??

5 12 2008
ualtech

sé que hay plugins para el mrtg pero no he llegado a darle caña ;(
Además, tienes cacti que también está mu chulo…

Mira esto

http://blog.osusnet.com/2008/04/23/monitorizando-servidores-con-cacti/

y esto

http://www.centreon.com

5 02 2009
Tutorial sobre monitorización de Asterisk usando Nagios « La VozIP de Almería

[…] un post anterior sobre Nagios y SMS, puse un link sobre cómo montar Nagios, así que con este tutorial se puede conseguir montar el […]

15 03 2010
geniutrixone

hola…..

alguien conoce algun modo de notificar por mail con nagios???

yo he probado varias opciones pero no logro configurar esto….

saludos y gracias de antemano…

6 04 2010
Envío de SMS mediante Nagios « My brain is here

[…] Envío de SMS mediante Nagios « La VozIP de Almería. Abril 6th, 2010 | Categoría: Español […]

Replica a almeriense Cancelar la respuesta