2021-05-11 14:34:40 +07:00
:local cpuarray
:set cpuarray ([/system resource get value-name=cpu-load])
:local rebootIfHigh true
:local cpusample 40
:for i from=1 to=[$cpusample -1] do={
delay 500ms;
2020-09-02 23:32:00 +07:00
set cpuarray ([/system resource get value-name=cpu-load],$cpuarray)
2020-08-26 18:25:49 +07:00
}
2021-05-11 14:34:40 +07:00
:local totalcpuarray 0
:foreach value in=$cpuarray do={ set totalcpuarray ($totalcpuarray + $value)}
2020-08-26 18:25:49 +07:00
local avgcpu ($totalcpuarray / [:len $cpuarray])
2021-05-11 14:34:40 +07:00
if ($avgcpu > 68) do={
:global telegram
:local maxcpu ($cpuarray->0)
:local mincpu ($cpuarray->0)
:foreach i in=$cpuarray do={
if ($i > $maxcpu) do={ set maxcpu $i}
if ($i < $mincpu) do={ set mincpu $i}
}
: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 Tinggi Gan!!</b>\
%0AMax: $maxcpu%0AMin: $mincpu%0ARata-Rata: $avgcpu%25%0AJumlah Data: $cpusample%0AReboot if CPU sample show highload: $rebootIfHigh")
$telegram type=message text=$sendToTelegram mode=html
2020-08-26 18:25:49 +07:00
if ($rebootIfHigh = true) do={/system reboot}
2021-05-11 14:34:40 +07:00
}