Monitorizar web con Python y Telegram 1

Hace tiempo decidí monitorizar este sitio web con Python y que enviase avisos a Telegram cuando estuviese caída. La infraestructura del sitio está formada por una combinación de contenedores y realmente me basta con saber si la web es accesible y algún método de reiniciar toda la infraestructura si se detecta un problema. En esté artículo y el siguiente voy a explicar como lo he realizado, aunque debemos de tener en cuenta que por comodidad he creado un script en Python y no una aplicación. Los componentes que conforman la solución son: Un bot y un canal privado de Telegram y un script en Python que use python-bot-telegram y urllib3. Dicho script va a estar ejecutándose continuamente y se podrá desplegar como si fuese un servicio. El código de este artículo es accesible en https://github.com/aescanero/disasterproject/tree/master/python Dar de alta un bot en Telegram El primer paso es la creación del bot de Telegram que utilizaremos en el script, para ello ya deberíamos disponer de una cuenta en Telegram y buscamos @BotFather para la creación del bot Una vez accedemos al mismo nos saldrá un mensaje informativo sobre la utilidad principal de este bot y que no es otra que gestionar la creación, mantenimiento y eliminación de los bots de los usuarios de la plataforma. Lo primero que vamos a hacer es iniciar en este bot con el comando “/start“: Además de los mostrados, existe una larga lista de comando para gestionar los bots, a nosotros lo que nos interesa es crear uno, por lo que usamos el comando “/newbot“: En este paso anterior nos pedirá primero un nombre descriptivo (en mi caso “disasterproject”, después el nombre del bot (debe acabar en “bot”, hemos seleccionado “disasterproject_bot”) y nos devolverá un mensaje de creación del bot donde tenemos después del texto “Use this token to access the HTTP API:” dos bloques de código separados por “:”, la cadena entera (incluyendo los “:”) es el token que se necesita para utilizar el bot. Crear un canal privado y añadir el bot Por ahora tenemos un bot y el token correspondiente, pero necesitamos un lugar donde el bot nos envíe la información que solamente nosotros debemos ver del mismo. Es importante tener en cuenta que el bot es accesible vía comandos (/start, /status, etc.) y que los mismos se le van a enviar directamente en un chat. El bot puede responder en ese mismo chat, […]

Volver arriba