mirror of
https://github.com/eworm-de/routeros-scripts
synced 2024-05-14 08:04:19 +00:00
doc/netwatch-notify: RouterOS v7 path syntax
This commit is contained in:
parent
9ef2718c6d
commit
7561c719d1
|
@ -10,7 +10,7 @@ Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
This script sends notifications about host UP and DOWN events. In comparison
|
This script sends notifications about host UP and DOWN events. In comparison
|
||||||
to just netwatch (`/ tool netwatch`) and its `up-script` and `down-script`
|
to just netwatch (`/tool/netwatch`) and its `up-script` and `down-script`
|
||||||
this script implements a simple state machine and dependency model. Host
|
this script implements a simple state machine and dependency model. Host
|
||||||
down events are triggered only if the host is down for several checks and
|
down events are triggered only if the host is down for several checks and
|
||||||
optional parent host is not down to avoid false alerts.
|
optional parent host is not down to avoid false alerts.
|
||||||
|
@ -29,14 +29,14 @@ Just install the script:
|
||||||
|
|
||||||
Then add a scheduler to run it periodically:
|
Then add a scheduler to run it periodically:
|
||||||
|
|
||||||
/ system scheduler add interval=1m name=netwatch-notify on-event="/ system script run netwatch-notify;" start-time=startup;
|
/system/scheduler/add interval=1m name=netwatch-notify on-event="/system/script/run netwatch-notify;" start-time=startup;
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
The hosts to be checked have to be added to netwatch with specific comment:
|
The hosts to be checked have to be added to netwatch with specific comment:
|
||||||
|
|
||||||
/ tool netwatch add comment="notify, hostname=example.com" host=[ :resolve "example.com" ];
|
/tool/netwatch/add comment="notify, hostname=example.com" host=[ :resolve "example.com" ];
|
||||||
|
|
||||||
### Hooks
|
### Hooks
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ It is possible to run an up hook command (`up-hook`) or down hook command
|
||||||
(`down-hook`) when a notification is triggered. This has to be added in
|
(`down-hook`) when a notification is triggered. This has to be added in
|
||||||
comment, note that some characters need extra escaping:
|
comment, note that some characters need extra escaping:
|
||||||
|
|
||||||
/ tool netwatch add comment=("notify, hostname=device, down-hook=/ interface ethernet \\{ disable \\\"en2\\\"; enable \\\"en2\\\"; \\}") host=10.0.0.20;
|
/tool/netwatch/add comment=("notify, hostname=device, down-hook=/interface/ethernet \\{ disable \\\"en2\\\"; enable \\\"en2\\\"; \\}") host=10.0.0.20;
|
||||||
|
|
||||||
Also there is a `pre-down-hook` that fires at two thirds of failed checks
|
Also there is a `pre-down-hook` that fires at two thirds of failed checks
|
||||||
required for the notification. The idea is to fix the issue before a
|
required for the notification. The idea is to fix the issue before a
|
||||||
|
@ -54,15 +54,15 @@ notification is sent.
|
||||||
|
|
||||||
The count threshould (default is 5 checks) is configurable as well:
|
The count threshould (default is 5 checks) is configurable as well:
|
||||||
|
|
||||||
/ tool netwatch add comment="notify, hostname=example.com, count=10" host=104.18.144.11;
|
/tool/netwatch/add comment="notify, hostname=example.com, count=10" host=104.18.144.11;
|
||||||
|
|
||||||
### Parents & dependencies
|
### Parents & dependencies
|
||||||
|
|
||||||
If the host is behind another checked host add a dependency, this will
|
If the host is behind another checked host add a dependency, this will
|
||||||
suppress notification if the parent host is down:
|
suppress notification if the parent host is down:
|
||||||
|
|
||||||
/ tool netwatch add comment="notify, hostname=gateway" host=93.184.216.1;
|
/tool/netwatch/add comment="notify, hostname=gateway" host=93.184.216.1;
|
||||||
/ tool netwatch add comment="notify, hostname=example.com, parent=gateway" host=93.184.216.34;
|
/tool/netwatch/add comment="notify, hostname=example.com, parent=gateway" host=93.184.216.34;
|
||||||
|
|
||||||
Note that every configured parent in a chain increases the check count
|
Note that every configured parent in a chain increases the check count
|
||||||
threshould by one.
|
threshould by one.
|
||||||
|
@ -72,7 +72,7 @@ threshould by one.
|
||||||
The host address can be updated dynamically. Give extra parameter `resolve`
|
The host address can be updated dynamically. Give extra parameter `resolve`
|
||||||
with a resolvable name:
|
with a resolvable name:
|
||||||
|
|
||||||
/ tool netwatch add comment="notify, hostname=example.com, resolve=example.com";
|
/tool/netwatch/add comment="notify, hostname=example.com, resolve=example.com";
|
||||||
|
|
||||||
But be warned: Dynamic updates will probably cause issues if the name has
|
But be warned: Dynamic updates will probably cause issues if the name has
|
||||||
more than one record in dns - a high rate of configuration changes (and flash
|
more than one record in dns - a high rate of configuration changes (and flash
|
||||||
|
@ -84,7 +84,7 @@ Also suppressing the notification on host down is possible with parameter
|
||||||
`no-down-notification`. This may be desired for devices that are usually
|
`no-down-notification`. This may be desired for devices that are usually
|
||||||
powered off, but accessibility is of interest.
|
powered off, but accessibility is of interest.
|
||||||
|
|
||||||
/ tool netwatch add comment="notify, hostname=printer, no-down-notification" host=10.0.0.30;
|
/tool/netwatch/add comment="notify, hostname=printer, no-down-notification" host=10.0.0.30;
|
||||||
|
|
||||||
Go and get your coffee ☕️ before sending the print job.
|
Go and get your coffee ☕️ before sending the print job.
|
||||||
|
|
||||||
|
@ -101,8 +101,8 @@ Sometimes it is sufficient if one of a number of hosts is available. You can
|
||||||
make `netwatch-notify` check for that by adding several items with same
|
make `netwatch-notify` check for that by adding several items with same
|
||||||
`hostname`. Note that `count` has to be multiplied to keep the actual time.
|
`hostname`. Note that `count` has to be multiplied to keep the actual time.
|
||||||
|
|
||||||
/ tool netwatch add comment="notify, hostname=service, count=10" host=10.0.0.10;
|
/tool/netwatch/add comment="notify, hostname=service, count=10" host=10.0.0.10;
|
||||||
/ tool netwatch add comment="notify, hostname=service, count=10" host=10.0.0.20;
|
/tool/netwatch/add comment="notify, hostname=service, count=10" host=10.0.0.20;
|
||||||
|
|
||||||
### Checking internet connectivity
|
### Checking internet connectivity
|
||||||
|
|
||||||
|
@ -112,11 +112,11 @@ check `1.1.1.1` (Cloudflare DNS), `9.9.9.9` (Quad-nine DNS), `8.8.8.8`
|
||||||
(Google DNS) or any other reliable address that indicates internet
|
(Google DNS) or any other reliable address that indicates internet
|
||||||
connectivity.
|
connectivity.
|
||||||
|
|
||||||
/ tool netwatch add comment="notify, hostname=internet" host=1.1.1.1;
|
/tool/netwatch/add comment="notify, hostname=internet" host=1.1.1.1;
|
||||||
|
|
||||||
A target like this suits well to be parent for other checks.
|
A target like this suits well to be parent for other checks.
|
||||||
|
|
||||||
/ tool netwatch add comment="notify, hostname=example.com, parent=internet" host=93.184.216.34;
|
/tool/netwatch/add comment="notify, hostname=example.com, parent=internet" host=93.184.216.34;
|
||||||
|
|
||||||
### Checking specific ISP
|
### Checking specific ISP
|
||||||
|
|
||||||
|
@ -124,12 +124,13 @@ Having several ISPs for redundancy a failed link may go unnoticed without
|
||||||
proper monitoring. You can use routing-mark to monitor specific connections.
|
proper monitoring. You can use routing-mark to monitor specific connections.
|
||||||
Create a route and firewall mangle rule.
|
Create a route and firewall mangle rule.
|
||||||
|
|
||||||
/ ip route add distance=1 gateway=isp1 routing-mark=via-isp1;
|
/routing/table/add fib name=via-isp1;
|
||||||
/ ip firewall mangle add action=mark-routing chain=output new-routing-mark=via-isp1 dst-address=1.0.0.1 passthrough=yes;
|
/ip/route/add distance=1 gateway=isp1 routing-table=via-isp1;
|
||||||
|
/ip/firewall/mangle/add action=mark-routing chain=output new-routing-mark=via-isp1 dst-address=1.0.0.1 passthrough=yes;
|
||||||
|
|
||||||
Finally monitor the address with `netwatch-notify`.
|
Finally monitor the address with `netwatch-notify`.
|
||||||
|
|
||||||
/ tool netwatch add comment="notify, hostname=quad-one via isp1" host=1.0.0.1;
|
/tool/netwatch/add comment="notify, hostname=quad-one via isp1" host=1.0.0.1;
|
||||||
|
|
||||||
Note that *all* traffic to the given address is routed that way. In case of
|
Note that *all* traffic to the given address is routed that way. In case of
|
||||||
link failure this address is not available, so use something reliable but
|
link failure this address is not available, so use something reliable but
|
||||||
|
@ -141,7 +142,7 @@ non-essential. In this example the address `1.0.0.1` is used, the same service
|
||||||
Netwatch entries can be created to work with both - this script and
|
Netwatch entries can be created to work with both - this script and
|
||||||
[netwatch-dns](netwatch-dns.md). Just give options for both:
|
[netwatch-dns](netwatch-dns.md). Just give options for both:
|
||||||
|
|
||||||
/ tool netwatch add comment="doh, notify, hostname=cloudflare-dns" host=1.1.1.1;
|
/tool/netwatch/add comment="doh, notify, hostname=cloudflare-dns" host=1.1.1.1;
|
||||||
|
|
||||||
See also
|
See also
|
||||||
--------
|
--------
|
||||||
|
|
Loading…
Reference in a new issue