Já použivám tohle. Pokud je linka down pocita se jak dlouho je down, pokud dele tak MikroTik posle omluvne maily, pokud pod 5 minut tak pouze zapise info do logu. Moc nechapu co po netwatch chces. Interval urcuje jak casto se kontroluje zdali je linka down, nebo up. Prikazy jak rikas v kolonce se provedou jen jednou po preklopeni z up do down a naopak. Pokud chces aby treba co minutu pipl ze je online tak pouzij scheduler.
UP script
:log warning "Spojeni k internetu na siti ReeshaNET bylo obnoveno"
:global pocet;
:local odezva;
:local hod 0;
:local min 0;
:local sec 0;
:beep length=700ms frequency=4000
:delay 1300ms
:beep length=700ms frequency=4000
:delay 1300ms
:beep length=700ms frequency=4000
:delay 5s
/tool flood-ping 8.8.8.8 count=10 do={
:if ($sent = 10) do={
:set odezva $"avg-rtt"
}
}
:local vysledek ([:tostr $odezva]."ms")
:log info "Ping na 8.8.8.8 (Google DNS) je $vysledek"
:set hod ($pocet/3600);
:set min (($pocet/60)-($hod*60));
:set sec ($pocet-($min*60)-($hod*3600));
:log error "Konec vypadku, vypadek trval $hod hodin, $min minut a $sec sekund"
:if ($pocet > 300) do={
/tool e-mail send to=Xxxx@gmail.com subject="Ukonceni vypadku na siti ReeshaNET" body="Dobry den, na siti ReeshaNET doslo k vypadku, ktery trval $hod hodin, $min minut a $sec sekund. Vse je jiz v poradku. Ping na Google DNS (8.8.8.8) je nyni $vysledek. Omlouvame se za komplikace.
:log warning "Odeslany omluvne emaily"
} else={
:log warning "Vypadek trval mene nez 5 minut, nebyly odeslany omluvne emaily"
}
Down script
:log error "Pozor!!! Sit ReeshaNET není pøipojená k internetu :-("
:global pocet 15;
:local link;
:for i from=1 to=3 step=1 do={
:beep frequency=3550 length=494ms;
:delay 494ms;
:beep frequency=3400 length=494ms;
:delay 494ms;
}
/interface ethernet disable UPC_WAN
delay 10s
/interface ethernet enable UPC_WAN
delay 1s
:log warning "Byl restartovan adapter UPC_WAN"
/tool netwatch
:set link [get $i status]
:while ($link = "down") do={
:set pocet ($pocet + 1)
:delay 1s
/tool netwatch
:set link [get $i status]
}