2020-08-26 18:49:11 +07:00
global cpuarray ([/system resource get value-name=cpu-load])
2020-08-26 18:25:49 +07:00
local isInternetConnected
local rebootIfHigh false
local setup do={
delay 950ms;
global cpuarray
set cpuarray ([/system resource get value-name=cpu-load],$cpuarray)
}
local cpusample 20
for i from=1 to=[$cpusample -1] do={
$setup
}
local totalcpuarray 0
foreach value in=$cpuarray do={ set totalcpuarray ($totalcpuarray + $value)}
:put $totalcpuarray
local avgcpu ($totalcpuarray / [:len $cpuarray])
if ($avgcpu > 65) do={
2020-08-30 17:27:12 +07:00
:global ConnectionAvailable
$ConnectionAvailable
2020-08-29 00:10:15 +07:00
if ($ConnectionAvailable=true) do={
2020-08-26 18:25:49 +07:00
global CHATID
global BOTID
local sendToTelegram ("Mikrotik ".[/system resource get value-name=board-name]."(".[/sy id get value-name=name].") :%0A\E2\9A\A0 \E2\9A\A0 <b>CPU Load Report</b>%0AAverage: $avgcpu%25%0ACPU Samples: $cpusample%0AReboot if CPU sample show highload: $rebootIfHigh")
2020-08-29 00:52:46 +07:00
/tool fetch url="https://api.telegram.org/bot$BOTID/sendMessage\?chat_id=$CHATID&text=$sendToTelegram&parse_mode=html" keep-result=no;
2020-08-26 18:25:49 +07:00
} else={
log warning message="Cannot send message to telegram. is internet connected?"
}
if ($rebootIfHigh = true) do={/system reboot}
} else={
nothing
}