From 23923619dd0d92e4af65060e7b51b058fc1842aa Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 17 Nov 2020 22:02:41 +0100 Subject: netwatch-notify: increase count for every parent in chain --- doc/netwatch-notify.md | 3 ++- netwatch-notify | 4 +++- 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 ]; -- cgit v1.2.3-54-g00ecf