Funciones Extra

Monitoreo De Red Con The Dude y notificaciones por WhatsApp


Monitoreo De Red Con The Dude y notificaciones por WhatsApp

I. Disponer de un Router Mikrotik o CHR.

  • Router Mikrotik: Es muy importante tener como minimo una red ruteada o en bridge y se pueda enviar ping satisfactorio a los equipos a monitorizar.
  • CHR: Disponer de un Cloud Host Router Mikrotik en la nube, se puede crear túneles VPN para monitorizar multiples nodos y en diferentes locaciones.

II. Ingresar en el mikrotik CHR y Activamos The Dude:

  1. Ingresar en terminal.
  2. Ejecutar: 
    dude set enabled=yes

Ejecuta el siguiente comando para verificar que The Dude esta activo:

/dude print

III. Configurar notificaciones en The Dude:

Hasta es punto asumiremos que ya tiene The Dude cliente instalado.

  • Creamos notificaciones UP (Equipo nuevamente en linea):

  1. Notification: Doble click para abrir el modulo de notificaciones
  2. +: Click para crear nueva notificación.
  3. General: Ingresar los datos segun los siguientes detalles.
    • Name: Crea un nombre  referido al dispositivo a Monitorear Ejemplo: R1-FTTH.
    • Type: Seleccionar: execute on server
    • Command: Ingresar las siguientes lineas de comando cambia los datos de acuerdo a tu red y las credenciales de hybschat
      :local appkey "f5f5tg95-2d44-4b78-b9jc-93d8fg45a73f";
      :local authkey "k2Zec4rtgvQfth679yEVv2gpsZHCNNgt67LtOJsdf9Kna6qUx9";
      :local toList "51981563456,51969345612";
      
      # Variables del dispositivo monitoreado
      :local deviceName "R1-WISP";  # Reemplaza con el nombre correcto
      :local deviceIP "172.30.30.1";  # Reemplaza con la IP correcta
      :local deviceStatus "online";  # Reemplaza con el estado correcto online, offline
      
      # Mensaje de notificación con información del dispositivo
      :local message ("El dispositivo " . $deviceName . " con IP: " . $deviceIP . " se encuentra " . $deviceStatus . ".");
      
      :foreach num in=[:toarray $toList] do={
        :log info ("Enviando notificación a: " . $num)
        /tool fetch mode=https url="https://chat.hybs.pe/api/create-message" \
          http-method=post http-data=("appkey=" . $appkey . "&authkey=" . $authkey . "&to=" . $num . "&message=" . $message) output=user as-value;
        :log info "Notificación enviada"
      }
      

       

    • Schedule: Aquí pueden elegir todo el horario o alguno especifico.
    • Advanced: 
      • ​​​​​​​​​​​​​​Delay: Dejar como esta.
      • Repeat Interval: Dejar como esta.
      • Repeat Count: Recomendamos 1, es la cantidad de mensajes a enviar por notificación.
      • On Status: En el caso de UP la mejor eleccion es: down -> up.
  • Creamos notificaciones DOWN (Equipo fuera de linea):

  1. Notification: Doble click para abrir el modulo de notificaciones
  2. +: Click para crear nueva notificación.
  3. General: Ingresar los datos segun los siguientes detalles.
    • Name: Crea un nombre  referido al dispositivo a Monitorear Ejemplo: R1-FTTH.
    • Type: Seleccionar: execute on server
    • Command: Ingresar las siguientes lineas de comando cambia los datos de acuerdo a tu red y las credenciales de hybschat
      :local appkey "f5f5tg95-2d44-4b78-b9jc-93d8fg45a73f";
      :local authkey "k2Zec4rtgvQfth679yEVv2gpsZHCNNgt67LtOJsdf9Kna6qUx9";
      :local toList "51981563456,51969345612";
      
      # Variables del dispositivo monitoreado
      :local deviceName "R1-WISP";  # Reemplaza con el nombre correcto
      :local deviceIP "172.30.30.1";  # Reemplaza con la IP correcta
      :local deviceStatus "offline";  # Reemplaza con el estado correcto online, offline
      
      # Mensaje de notificación con información del dispositivo
      :local message ("El dispositivo " . $deviceName . " con IP: " . $deviceIP . " se encuentra " . $deviceStatus . ".");
      
      :foreach num in=[:toarray $toList] do={
        :log info ("Enviando notificación a: " . $num)
        /tool fetch mode=https url="https://chat.hybs.pe/api/create-message" \
          http-method=post http-data=("appkey=" . $appkey . "&authkey=" . $authkey . "&to=" . $num . "&message=" . $message) output=user as-value;
        :log info "Notificación enviada"
      }
      

       

    • Schedule: ​​​​​​​Aquí pueden elegir todo el horario o alguno especifico.
    • Advanced: 
      • ​​​​​​​​​​​​​​Delay: Dejar como esta.
      • Repeat Interval: Dejar como esta.
      • Repeat Count: Recomendamos 1, es la cantidad de mensajes a enviar por notificación.
      • On Status: En el caso de UP la mejor eleccion es: unstable -> down.

 

  • Asociamos la notificación creada con el dispositivo a monitorizar:

IV. Monitorizacion funcionando:

Si ha seguido todos los pasos ya podrá monitorizar los host declarados y podrá recibir las notificaciones en su numero de whatsapp declaro en el sript.