Utilizando bots de Telegram para notificar caídas de webs

03/07/2015
Todos los clientes nos piden, como es normal, que sus webs estén en marcha y nos demos cuenta de cuándo y por qué caen. Pero como no podemos comprobar ello de forma manual utilizamos diferentes aplicaciones para ello. Últimamente estamos probando una aplicación hecha en Django que hemos unido a notificaciones vía Telegram utilizando la plataforma de bots que recientemente han presentado.
Alertas de Cabot en Telegram

Alertas de Cabot en Telegram

Desde hace unas semanas estamos probando una nueva herramienta para controlar que las webs estén en marcha: Cabot. Sí, ya sabemos que existen otras herramientas y aplicaciones para ello (como el conocido Pingdom), pero queríamos algo que tuviéramos bajo control y así llegamos a Cabot.

Esta aplicación que está desarrollada utilizando el framework Django tiene tres tipos de test: verificar un valor de un servidor Graphite, comprobar el resultado de un trabajo de Jenkins y un test HTTP. En base a los resultados de dichos tests, la aplicación envía las notificaciones pertinentes y en la instalación de base se puede elegir entre mensajes por e-mail, alertas vía Hipchat o llamadas y SMS a través de Twilio.

Configuramos algunas webs de clientes y activamos las notificaciones por e-mail. Sin embargo, tuvimos algún problema con el proveedor de correo porque los mensajes llegaban a la carpeta de Spam y nos bloqueó también el servidor de alertas por algún aluvión de mensajes...

Por ello intentamos encontrar una solución. En la oficina alguien había estado probando Slack, herramienta de moda para la comunición de grupos de trabajo y al ver que existía un plugin para Cabot, lo configuramos de forma sencilla. Sin embargo no le sacamos todo el provecho a Slack (somos muy fans de las listas de correo) y sólo usábamos Slack para recibir estas alertas (y para decir la verdad, solo lo utilizábamos 2 ó 3 personas en la oficina).

Cómo crear un bot en Telegram

Sin embargo la semana pasada, la plataforma de mensajería Telegram anunció su plataforma de Bots. Aunque al principio hubo un gran ruido sobre dicha aplicación parece que WhatsApp ha pasado por encima de ella... Pero algunos compañeros de trabajo ya usamos Telegram y desde el principio los creadores han publicado una API y teníamos ganas de usar dicha API. Con la publicación de la plataforma de Bots el usao del API es mucho más sencillo: con un par de comandos puedes crear el Bot de forma sencilla, así que el siguiente paso natural fue integrarlo en Cabot. Encontramos además una librería muy simple para Python llamada pyTelegramBotAPI que permite. crear bots por lo que nos pusimos manos a la obra.

Para ello preparamos el plugin de alertas Telegram para Cabot y lo hemos configurado en nuestro servidor de alertas. Hemos hecho un par de pruebas y en seguida hemos recibido los primeros mensajes. Ha sido muy sencillo y nos está siendo muy útil. Ya tenemos en mente el siguiente paso: utilizar también notificaciones de Telegram en nuestro servidor de monitorización Cacti.

Además, estos bots no sirven solo para enviar mensajes, también se pueden programar para que respondan a determinados comandos al estilo de Hubot de GitHub. 

16/07/2015 10:35
Mundiala sarrera Mikel!

DANOBATGROUPen aspaldi genbiltzan garatzen ditugun aplikazioak monitorizatzeko zerbaiten bila. Zuen post hau irakurrita, segituan jarri genuen Cabot sistema martxan (zuen telegram plugina eta guzti!).

Zenbait Apache eta MySQL datubaseren performantziaren berri izateko, Grahite-CollectD erabiltzen hasi gara, eta azkenik, inork non eta nola dauden CRON ataza horiek monitorizatzeko ere, Jenkins.

Esandakoa, eskerrik asko!
Mikel Larreategi
17/07/2015 15:50
Pozten naiz inspirazio iturri gisa balio izam badu!

Graphite eta Statsd probatzea gure zerrendan ere badago baina denbora falta...

Comentar

Para dejar un comentario tiene que identificarse. Para ello puede utilizar su cuenta de Facebook, Twitter o Google+

Mikel Larreategi

Desarrollador Plone. Y Árbitro Internacional de Ajedrez #truestory