The alertafter <time interval> syntax doesn't work properly because it seems that the _1stfailtime variable is never reset after an initial failure.
On startup, mon initializes the _1stfailtime variable to 0 for any periods which are configured for alertafter <time interval>. Subsequently, when a failure occurs, this variable gets set to the current UNIX timestamp. When the (current time - the 1stfailtime) exceeds the configured time interval, a DOWN alert is thrown. Problem is, since 1stfailtime is never cleared, ever subsequent failure will cause a DOWN alert to be thrown immediately, because 1stfailtime is past the current time - <time interval>. Patch against mon-0.99.2: --- mon.orig Sat Sep 8 09:42:05 2001 +++ mon Sun Dec 1 08:28:48 2002 @@ -2879,12 +2879,13 @@ $sref->{"_last_detail"} = $detail; # - # reset the alertevery timer + # reset the alertevery timer, and alertafter interval timer # foreach my $period (keys %{$sref->{"periods"}}) { $sref->{"periods"}->{$period}->{"_last_alert"} = 0; $sref->{"periods"}->{$period}->{"_alert_sent"} = 0; + $sref->{"periods"}->{$period}->{"_1stfailtime"} = 0; } # -- Adrian Chung (adrian at enfusion-group dot com) http://www.enfusion-group.com/~adrian/ GPG Fingerprint: C620 C8EA 86BA 79CC 384C E7BE A10C 353B 919D 1A17 [gambit.enfusion-group.com] 4:29pm up 16 days, 11:49, 2 users _______________________________________________ mon mailing list [EMAIL PROTECTED] http://linux.kernel.org/mailman/listinfo/mon