MIKROTIK SCRIPT CHECK LTE
MIKROTIK SCRIPT LTE
In questa guida viene indicato come configurare uno script per monitorare l’interfaccia LTE del tuo router Mikrotik con dei check basati su varie logiche per renderla sempre operativa.
Quante volte ti è capitato che utilizzando i Router Mikrotik LTE di renderti conto che a causa della gestione dei provider low cost o per fattori legati a dei bug firmware del moduli LTE ti trovi i Router sconnessi e magari devi fare centinaia di chilometri o chiamare il cliente per riavviarli?
Ho creato questo script che fa il lavoro da parte tua e monitora costantemente l’interfaccia LTE in modo da non rimanere mai offline.
Come funziona questo script?
Questo script è stato creato per monitorare l’interfaccia Mikrotik LTE.
Esso si sviluppa secondo varie logiche eseguendo vari check:
- Viene verificato se viene rilevata l’interfaccia LTE, altrimenti viene riprodotto un BEEP nel router e avviene un riavvio. Nei registri viene visualizzato un errore di registro che indica che l’interfaccia LTE non è stata rilevata.
- Viene controllato se l’interfaccia LTE è in esecuzione. In caso affermativo, vengono eseguiti 20 ping su un host pubblico. Se tutto è ok il controllo è terminato. Se l’interfaccia LTE non è in esecuzione, l’interfaccia viene riavviata e successivamente viene eseguito un secondo test.
- Se l’interfaccia non è in esecuzione quando viene eseguito il secondo test, viene riprodotto un segnale acustico di errore e il router viene riavviato.
N.B. Importante che l’interfaccia lte mantenga il nome di default “lte1”
Obbiettivo 1: Configurare lo script sul Router Mikrotik:
1. Apri il terminale e incolla il seguente testo:
/system script
add dont-require-permissions=yes name=LTE-check-script owner=abbio90 policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#----------------------------------------\r\
\n# CHECK LTE BY foisfabio.it\r\
\n# \r\
\n# Script: LTE interface operation test\r\
\n# Version: 1.0\r\
\n# RouterOS v.7.14.2\r\
\n# Created: 17/11/2023\r\
\n# Updated: 25/03/2024\r\
\n# Author: Fois Fabio\r\
\n# Editor: Fois Fabio\r\
\n\r\
\n# Website: https://foisfabio.it\r\
\n# Email: consulenza@foisfabio.it\r\
\n#\r\
\n#----------------------------------------\r\
\n{\r\
\n\r\
\n:local scheduleName \"LTE-check-Schedule\"\r\
\n:local myRunTime \"00:30:00\"\r\
\n:if ([:len [/system scheduler find name=\"\$scheduleName\"]] = 0) do={\r\
\n /log warning \"[LTE-check-Schedule] Alert : lo Scheduler non esiste.\"\r\
\n /system scheduler add name=\$scheduleName interval=\$myRunTime start-date=Jan/01/1970 start-time=startup on-event=\"/system script run LTE-check-script\"\r\
\n /log warning \"[LTE-check-script] Alert : Scheduler creato .\"\r\
\n }\r\
\n#FOLLOW LTE INTERFACE\r\
\n\r\
\n:local LTEinterface\r\
\n:foreach i in=[/interface lte find] do={ \r\
\n :set \$LTEinterface [/interface lte get \$i name]\r\
\n } \r\
\n:put \$LTEinterface\r\
\n \r\
\n:if ([\$LTEinterface] !=\"lte1\") do={\r\
\n :beep frequency=660 length=300ms;\r\
\n :delay 150ms;\r\
\n :beep frequency=260 length=1000ms;\r\
\n :delay 5s;\r\
\n :log error \"LTE INTERFACCIA NON RILEVATA\"\r\
\n /system reboot\r\
\n }\r\
\n\r\
\n#SET STATUS LTE INTERFACE\r\
\n:local check1\r\
\n:local check2\r\
\n:local LTEstatus [/interface lte get lte1 value-name=running]\r\
\n:put \$LTEstatus\r\
\n:if ([\$LTEstatus] != true) do={\r\
\n :set \$check1 \"fail\"\r\
\n /log warning \"LTE Interfaccia NOT RUNNING Check 1 - Riavvio Interfaccia LTE da script\"\r\
\n } else={\r\
\n :set \$check1 \"OK\"\r\
\n }\r\
\n:put \$check1\r\
\n\r\
\n\r\
\n#IF LTE OK RUN CHECK-PING | REBOOT INTERFACE- ELSE RUN CHECK2\r\
\n\r\
\n:if ([\$check1] = \"OK\") do={\r\
\n :if ([/ping 1.1.1.1 count=20] = 0) do={\r\
\n /log warning \"LTE OFFLINE - Riavvio Interfaccia LTE da script\"\r\
\n :delay 5s;\r\
\n /interface lte disable lte1 \r\
\n :delay 2s\r\
\n /interface lte enable lte1\r\
\n :set \$check2 \"OK\"\r\
\n } else={\r\
\n /log info \"Check 1 LTE Completato\"\r\
\n :set \$check2 \"OK\"\r\
\n }\r\
\n } else={\r\
\n /interface lte disable lte1 \r\
\n :delay 2s\r\
\n /interface lte enable lte1\r\
\n :delay 60s\r\
\n :local LTEstatus2 [/interface lte get lte1 value-name=running]\r\
\n :put \$LTEstatus2\r\
\n :if ([\$LTEstatus2] != true) do={\r\
\n :set \$check2 \"fail\"\r\
\n } else={\r\
\n :set \$check2 \"OK\"\r\
\n }\r\
\n }\r\
\n:put \$check2\r\
\n\r\
\n#IF LTE OK RUN CHECK-PING - ELSE REBOOT ROUTER\r\
\n\r\
\n:if ([\$check2] = \"OK\") do={\r\
\n :if ([/ping 1.1.1.1 count=20] = 0) do={\r\
\n /log error \"LTE OFFLINE - Riavvio da Script\"\r\
\n /interface lte disable lte1 \r\
\n :delay 2s\r\
\n /interface lte enable lte1\r\
\n } else={\r\
\n /log info \"Check 2 LTE Completato\"\r\
\n }\r\
\n } else={\r\
\n /log error \"LTE Interfaccia NOT RUNNING dopo Check 2 - Riavvio da Script\"\r\
\n :beep frequency=660 length=300ms;\r\
\n :delay 150ms;\r\
\n :beep frequency=260 length=1000ms;\r\
\n :delay 5s;\r\
\n /system reboot\r\
\n }\r\
\n }"
2. Vai in System, script, seleziona lo script “LTE-check-script” e clicca su Run Script;
3. Vai nei Log e accertati che sia stato creato lo Scheduler che eseguirà i Check LTE sul Router mikrotik ogni 30 minuti. Questa variabile tempo è modificabile andando in System Scheduler ed editando lo Scheduler “LTE-check-Schedule”.
Obbiettivo 2: Abilitare i LOG di errore LTE
Quando si utilizzano questi script, spesso e volentieri andiamo incontro ad un riavvio del Router senza sapere la causa dello stesso.
Qui di seguito vediamo come visualizzare le ultime 4 righe di errore script visibili anche dopo aver riavviato il router Mikrotik in modo da capire quale check LTE ha fallito prima del riavvio.
N.B che in alcuni modelli di Router Mikrotik non esiste la cartella flash. Verificare il percorso file prima di procedere con i prossimi passaggi.
Vai nel Teminale e digita:
/system logging action
add disk-file-count=1 disk-file-name=flash/log-LTE disk-lines-per-file=4 name=\
lte target=disk
/system logging
add action=lte prefix=LTE topics=error,script
In questa maniera, viene creato un file log chiamato log-LTE scaricabile dal menu Files.
Questo ci permette di tenere sotto controllo gli ultimi 4 check falliti anche dopo il riavvio del router.
Inoltre, andando appunto in LOG, potremo osservare che anche dopo il riavvio continuiamo a leggere l’errore che ha generato il riavvio stesso.
Ti è piaciuta questa guida MIKROTIK SCRIPT CHECK LTE?
Scrivi il tuo parere nei commenti o contattami attraverso la sezione Contatti.
Puoi supportare foisfabio.it con una piccola donazione oppure commenta e condividi questo contenuto.
Hai riscontrato errori in questa guida?? segnalacelo tramite la scheda CONTATTI
Guida Mikrotik Script CHECK LTE redatta da Fabio Fois.
Copyright © 2024 foisfabio.it | Powered by Fabio Fois
Quanto è stato utile questo post?
Clicca su una stella per valutarla!
Voto medio 5 / 5. Conteggio dei voti: 3
Nessun voto finora! Sii il primo a valutare questo post.