aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2020-11-17 22:02:41 +0100
committerGravatar Christian Hesse <mail@eworm.de>2020-11-17 22:28:05 +0100
commit23923619dd0d92e4af65060e7b51b058fc1842aa (patch)
tree17f1becad63675c0d8978d8d8622dca6ee8b32aa
parente7855b4611f754fcde4f5adaff0e1a6006ddaaac (diff)
netwatch-notify: increase count for every parent in chain
-rw-r--r--doc/netwatch-notify.md3
-rw-r--r--netwatch-notify4
2 files changed, 5 insertions, 2 deletions
diff --git a/doc/netwatch-notify.md b/doc/netwatch-notify.md
index 66c5c75..11371ff 100644
--- a/doc/netwatch-notify.md
+++ b/doc/netwatch-notify.md
@@ -46,7 +46,8 @@ 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=example.com, parent=gateway" host=93.184.216.34;
-Note that a configured parent increases the check count threshould by one.
+Note that every configured parent in a chain increases the check count
+threshould by one.
Also notification settings are required for e-mail and telegram.
diff --git a/netwatch-notify b/netwatch-notify
index 1cfd4a6..9a12c5a 100644
--- a/netwatch-notify
+++ b/netwatch-notify
@@ -50,9 +50,11 @@
:set ($Metric->"since") ($HostVal->"since");
:local Count [ $IfThenElse ([ :tonum ($HostInfo->"count") ] > 0) ($HostInfo->"count") 5 ];
:local Parent ($HostInfo->"parent");
- :if ([ :len $Parent ] > 0) do={
+ :while ([ :len $Parent ] > 0) do={
:set Count ($Count + 1);
+ :set Parent ($NetwatchNotify->$Parent->"parent");
}
+ :set Parent ($HostInfo->"parent");
:local ParentNotified false;
:while ($ParentNotified = false && [ :len $Parent ] > 0) do={
:set ParentNotified [ $IfThenElse (($NetwatchNotify->$Parent->"notified") = true) true false ];