Obtenga Alertas en Tiempo Real de La Red Avalanche
Vigile el estado operativo de su nodo Avalanche cada minuto.
La red principal de Avalanche se lanzó el 21 de septiembre de 2020.
Actualmente, hay más de 1,000 validadores que mantienen su nodo de red Avalanche.
Ante la necesidad de mantener los nudos sanos de forma continua, surge la siguiente pregunta:
¿Cómo podemos saber instantáneamente si nuestro proceso de Avalanchego ha sido interrumpido, si no es saludable o si hay un alto consumo de CPU, lo cual es una señal de que algo anda mal con su nodo de red de Avalanche?
Dada la importancia de monitorear ontim y la salud de su nodo de red Avalanche, crearemos nuestro bot, vía Telegram, integrado con un script con comandos que serán configurados para permitirle monitorear Avalanchego que incluye el sistema de alerta en tiempo real de su nodo de la red Avalanche. Para ello, crearemos un bot personalizado e instalaremos un script en el sistema operativo Ubuntu de nuestra máquina virtual que soporte su nodo de red Avalanche, con el fin de obtener una alerta en tiempo real si el proceso Avalanchego está inactivo, con problemas o si el consumo de la CPU de la máquina virtual es alto.
Si aún no ha creado su nodo de red Avalanche, haga clic en la imagen a continuación:
¿Por qué Telegram?
Telegram es uno de los programas de mensajería instantánea más utilizados y es conocido por la posibilidad de tener bots que interactúan con el usuario de forma privada o dentro de grupos. Usaremos Telegram BotFather, que es el único bot que los controla a todos: crea una nueva cuenta de bot y administra sus bots.
Creando el Telegram Bot
- Después de acceder a Telegram, en la pestaña de búsqueda escribe Botfather . Tenga en cuenta que los bots oficiales de Telegram tienen una marca de verificación azul junto a sus nombres. Haga clic en BotFather.
Luego haga clic en “Comienzo” para activar el bot BotFather .
2. Elija el comando /newbot
y haga clic en.
3. Elija un nombre para su bot. En este ejemplo elegimos “ testavalanchego” .
4. Ahora elija un nombre de usuario para su bot: el bot se puede encontrar por su nombre de usuario en las búsquedas. El nombre de usuario debe ser único y terminar con la palabra “bot”. Por lo tanto, debe proporcionar un nombre de usuario único que termine con la palabra ‘bot’. En este ejemplo elegimos “testavalanchego_bot”.
Después de elegir un nombre adecuado para su bot, se crea el bot.
Recibirá un mensaje con un enlace a su t.me bot t.me/nombre_de_tu_bot
,, recomendaciones para configurar una imagen de perfil, descripción y una lista de comandos para administrar su nuevo bot.
5. Después de dar su nombre de usuario de bot, su TOKEN estará disponible como se indica a continuación:
Nota : Copie el código alfanumérico de su TOKEN , ¡ya que lo usaremos más adelante! Tenga en cuenta que TOKEN es el código que sigue a “HTTP API:”
6. Comencemos a comunicarnos con nuestro bot.
6.1. Ingresa el nombre de tu bot en la pestaña de búsqueda y elígelo (en nuestro ejemplo es testavalanchego).
6.2. Haga clic en el botón “Start” y estará suscrito a su bot.
6.3. Escriba “/start”.
Debemos recordar que ya tenemos un TOKEN .
7. El siguiente paso es obtener el CHAT ID (ID de chat del bot).
Estos dos parámetros, TOKEN y CHAT ID , son obligatorios para crear el script para el sistema de alerta en tiempo real de su nodo Avalanche Network.
Acceda a la máquina virtual que admite su nodo de red Avalanche.
Primero instale la utilidad “jq”, configure su variable TOKEN y, usando el comando curl, obtenga su ID de chat como se muestra a continuación:
A partir de este momento introduciremos — copiaremos y pegaremos — cada línea de código e “ingresaremos”, sucesivamente, línea a línea, hasta la última línea de comando, en la sesión web SSH (ventana negra) de Elastic VPS, en el siguiente orden:
sudo apt-get install jq -yTOKEN=inserir_aqui_o_código_do_seu_tokencurl -s https://api.telegram.org/bot$TOKEN/getUpdates | jq .result[0].message.chat.id
Nota-1 : Después de ingresar la línea de comando curl -s https://api.telegram.org/bot$TOKEN/getUpdates | jq .result[0].message.chat.id, si CHAT_ID no está disponible, acceda a su Telegram y escriba “/start” en su bot y ejecute el comando curl -s https://api.telegram.org/bot$TOKEN/getUpdates | jq .result[0].message.chat.id nuevamente. Está bien escribir “/start” de 3 a 4 veces, de la misma manera, vuelva a ingresar la línea de comando curl -s https://api.telegram.org/bot$TOKEN/getUpdates | jq .result[0].message.chat.id hasta que aparezca el código CHAT_ID.
Script de Monitoreo de AvalancheGo
El script de monitoreo de AvalancheGo, que incluye el sistema de alerta en tiempo real de su nodo de red Avalanche, realiza tres verificaciones fundamentales cada minuto, como se muestra a continuación:
- si el proceso de avalancha está funcionando;
- si el proceso de avalancha es saludable; y
- Uso de CPU (el límite predeterminado es 40%).
Nuestro script de monitoreo de Avalanchego tiene 2 parámetros obligatorios y 2 opcionales, que son:
- Los obligatorios son TOKEN y CHAT ID; y
- Son opcionales el límite de CPU e IP. Muchos validadores tienen IP 127.0.0.1 para obtener sus llamadas API. Si hace lo mismo, para evitar tener que cambiar el parámetro de IP, el valor predeterminado es 127.0.0.1. El valor límite predeterminado para la CPU es 40%. Si lo desea, puede cambiarlo a cualquier valor que desee. No olvide utilizar 2 dígitos después del punto, como 50,00, 75,90, etc.
Instalación del script de monitoreo de Avalanchego
- Después de acceder al sistema operativo Ubuntu de la máquina virtual que soporta su nodo de red Avalanche, en el “directorio de inicio” ingrese — copie y pegue — cada línea de código y presione “enter”, sucesivamente, línea por línea, hasta la última línea de comando , en el siguiente orden:
cdapt-get install gitgit clone https://github.com/burcusan/telegram-monitor-scripts.gitcd telegram-monitor-scripts./install_avax_monitor.sh -t inserir_aqui_o_código_do_seu_token -c inserir_aqui_o_código_do_seu_CHAT_IDsed -i 's/health.getLiveness/health.health/g' check_avalanchego_status.sh
En este script, estamos usando los parámetros predeterminados para un límite de CPU del 40% y la IP de llamada a la API es 127.0.0.1.
Ahora haga la prueba para verificar que su secuencia de comandos esté funcionando correctamente. Para hacer esto, ingrese — copie y pegue — el bloque de código y presione “enter”, a continuación:
./check_avalanchego_status.sh > check_avalanchego_status.logcat check_avalanchego_status.log
Finalmente, realice la prueba para verificar que la instalación del script esté funcionando según lo programado. Para hacer esto, ingrese — copie y pegue — la línea de código y presione “enter”, a continuación:
./check_avalanchego_status.sh test
Si el script se ha instalado correctamente, el mensaje de prueba se enviará a su bot de Telegram como se indica a continuación:
Fri Oct 2 16:25:53 +03 2020 — [TEST] [TEST] Avalanchego node TEST message !!!..
Verifique el mensaje de prueba recibido por su bot de Telegram.
Si se ha violado el límite de cualquiera de los tres parámetros del script, verifique el mensaje de alerta recibido por su bot de Telegram.
A continuación, vemos una serie de mensajes de alerta recibidos por su bot de Telegram.
Tenga en cuenta que después de que se haya solucionado la violación de cualquiera de los tres parámetros, su bot de Telegram recibirá el mensaje de alerta resuelto.
Conclusión
Nuestro script le alertará, a través de su bot de Telegram, si su nodo de red Avalanche no está activo, no está en buen estado o la CPU está en más del 40% en uso, además de avisarle cuando se corrija alguno de los tres problemas. El script comprueba su nodo cada minuto, pero no genera ni envía una alerta cada minuto. El scritp envía el mensaje de alerta con la etiqueta [ALERT FIRING] a su bot de Telegram si el problema persiste por:
1 minuto, 5 minutos, 15 minutos, 30 minutos, 1 hora, 2 horas, 6 horas, 12 horas y 24 horas.
Por lo tanto, el número máximo de alertas que recibirá es de 8 cada 24 horas, si el problema persiste. Después de enviar 8 mensajes, el script deja de enviar mensajes de alerta con la etiqueta [ALERT FIRING]. Cabe señalar que es responsabilidad del responsable del mantenimiento del nodo corregir el problema. Pero como el script verifica continuamente cada minuto, si el problema se resuelve, el script enviará inmediatamente el mensaje de alerta con la etiqueta [ALERT RESOLVED] al usuario sin límite de tiempo.
Cancelar Mensajes de Alerta
Si ya no desea recibir alertas a través de su bot de Telegram, simplemente elimine una línea del script en su archivo crontab. Edítelo a través de crontab -e y elimine o comente (ponga # al principio de la línea) la línea relacionada como se muestra a continuación:
#* * * * * /home/username/telegram-monitor-scripts/check_avalanchego_status.sh > /home/username/telegram-monitor-scripts/check_avalanchego_status.log 2>&1
Acerca de Avalanche
Avalanche es una plataforma de código abierto para lanzar aplicaciones descentralizadas e implementaciones de blockchain empresarial en un ecosistema interoperable y altamente escalable. Avalanche puede procesar más de 4500 transacciones por segundo y confirmar transacciones instantáneamente. Los desarrolladores de Ethereum pueden desarrollar rápidamente Avalanche, ya que Solidity funciona de inmediato.
Website | Whitepapers | Twitter | Discord | GitHub | Documentação | Explorer | Avalanche-X| Telegram | Facebook | LinkedIn | Reddit | YouTube
Aviso Legal
“Esse artigo é meramente informativo e não é uma recomendação de investimento, o mercado de criptomoedas é bastante volátil e você deve pesquisar e decidir por si mesmo em que investir, especialmente em mercados de alto risco”.