I can't use Netwatch; Life would be straightforward if I could. It thinks everything is down except local devices.
Code: Select all
:local pingHost "8.8.8.8"
:local pingInterval 5
:local pingThreshold 3
:local vrrpprioritylow 140
:local vrrppriorityhigh 142
:local srcaddress "10.19.4.77"
:local pingCount 0
:local vrrpStatus 140
:local vrrpInterface vrrp1
:log info "Starting ping monitor script..."
while (true) do={
/ping count=1 src-address=$srcaddress address=$pingHost interval=$pingInterval
:if ($pingCount >= $pingThreshold) do={
:log warning "Ping failed $pingThreshold times. Decreasing VRRP priority on interface $vrrpInterface..."
/interface vrrp set $vrrpInterface priority=$vrrpprioritylow
:set vrrpStatus 140
:set pingCount 0
}
:if ($pingCount < $pingThreshold) do={
:log warning "Ping successful. Increasing VRRP priority on interface $vrrpInterface..."
/interface vrrp set $vrrpInterface priority=$vrrppriorityhigh
:set vrrpStatus 142
}
:set pingCount ($pingCount + 1)
:delay $pingInterval
}