martes, 18 de junio de 2019

notificaciones push de equipo sin internet usando Cron

Recientemente me encontré con la necesidad curiosidad de encontrar un método simple para saber si un equipo al cual no tengo acceso y es fundamental para la empresa en la cual trabajo se encuentra sin internet.

 historia corta, este servidor se encarga de la facturación electronica y por mas que esta conectado a un ups, ocurre que si se corta la luz por mas tiempo del que soporta el UPS no hay ningún protocolo de apagado limpio del sistema.
  Por lo cual si esto ocurre durante la noche o en fines de semana nos encontramos en una situación de caos al día siguiente. La empresa que da el soporte (ir a reiniciar y corregir algún error en el sistema de archivos) demora en ser avisado y en responder.

Por que no voy yo? 
ya que la tengo tan clara. bueno estoy muy lejos y hace tiempo que no es mi tarea. Pero siempre esta bueno saber como solucionar un problema.

 La mejor forma de hacerlo que encontré fue usando un comando que había escuchado en linux pero no en DOS: Curl.

 mediante este comando pude hacer un POST a un servicio de IOT que ya vengo usando hace un tiempo con arduino y esp8266 : Thingspeak.com 

El comando seria:

curl --silent --request POST --header "X-THINGSPEAKAPIKEY: miapikey" --data "field1=100" "http://api.thingspeak.com/update"

 eso envía un valor a un canal de thingspeak, el valor no importa, es solo para que el sitio detecte actividad. En el mismo configure una acción que, si no hay actividad durante los ultimos 10 minutos me envía una notificación al celular mediante otro servicio "pushbullet".

 todo queda asi: 

 en el equipo a monitorizar se corre un bat con el siguiente contenido

:loop 
timeout /T 20 /nobreak
curl --silent --request POST --header "X-THINGSPEAKAPIKEY: miapikey" --data "field1=100" "http://api.thingspeak.com/update" 
timeout /T 20 /nobreak 
goto :loop



este es el canal usado https://thingspeak.com/channels/88440
Tambien se ven otros fields que uso para monitorizar el nivel de batería de algunos celulares mediante tasker pero eso sera para otro post.



esta es la configuración para detectar la inactividad y notificar a pushbullet.com

No hay comentarios:

Publicar un comentario