Open davidwinterstein opened 1 year ago
states
and times
only affects state notifications at the moment.
I do however wish to receive a
DowntimeStart
notification without any delay if aProblem
notification has been sent for the service before, since it indicates that someone else is working on the problem already and is therefore comparable to aRecovery
notification.
This sounds more like a use case for acknowledgements to me, not for downtimes.
I also wish to receive a
DowntimeEnd
orDowntimeRemoved
notification when the service is notOK
while the Downtime is removed and continues to be notOK
for the duration oftimes.begin
(or maybe another optionally configurable delay) since it indicates that the person who created the Downtime does not seem to still work on the problem (or they should have extended the Downtime).
How would this extra delay differ from just making the downtime longer?
states
andtimes
only affects state notifications at the moment.
Is there a plan to include flapping and downtime notifications in the future? The current implementation renders those quite unusable for our environment.
I do however wish to receive a
DowntimeStart
notification without any delay if aProblem
notification has been sent for the service before, since it indicates that someone else is working on the problem already and is therefore comparable to aRecovery
notification.This sounds more like a use case for acknowledgements to me, not for downtimes.
Maybe I am using this wrong, but the main difference between a downtime and an acknowledgement seems to me that an acknowledgement is automatically removed when the check recovers while a downtime is not.
So if I am working on a problem and I know that the check might recover and break again a couple of times, I am using a downtime.
Is there a way to preserve an acknowledgement for the specified acknowledgement duration even when the check recovers? The sticky
flag for acknowledgements does not currently do this for me.
I also wish to receive a
DowntimeEnd
orDowntimeRemoved
notification when the service is notOK
while the Downtime is removed and continues to be notOK
for the duration oftimes.begin
(or maybe another optionally configurable delay) since it indicates that the person who created the Downtime does not seem to still work on the problem (or they should have extended the Downtime).How would this extra delay differ from just making the downtime longer?
Now that I'm thinking about it, the delay is not really required (I edited the issue to reflect this). The important part is to only receive a DowntimeEnd
or DowntimeRemoved
notification when the service is not OK
upon the downtime ending.
The important part is to only receive a
DowntimeEnd
orDowntimeRemoved
notification when the service is notOK
upon the downtime ending.
Could you pass the current service state to your Downtime notification script and skip if OK?
Sorry for the late answer.
I guess that would work. Currently I use the default mail notification scripts provided from Icinga, so I'll have to adjust those. But it's a good enough workaround, I guess. Would still be great to be able to configure this through Icinga in the long run.
Describe the bug
Downtimes
Downtime notifications don't seem to respect either of the notification object's
states
ortimes
configuration.A notification object that has
states = [ Critical ]
types = [ DowntimeStart, DowntimeEnd, DowntimeRemoved ]
times.begin = 30m
will immediately trigger a notification when a Downtime starts, ends or is removed and the service state is
OK
, regardless of when the Downtime is created or ends.Flapping
Flapping notifications don't seem to respect the notification object's
times
configuration.A notification object that has
types = [ FlappingStart, FlappingEnd ]
times.begin = 30m
will immediately trigger a notification when the service is considered flapping.
To Reproduce
enable_flapping = true
.OK
state (i.e. via IcingaWeb2).DowntimeStart
.DowntimeEnd
.OK
andWarning
states until it is considered flapping.FlappingStart
.Expected behavior
A notification should only be sent for Downtime events if the service state matches the notification object's
states
configuration.While the service is
OK
, I do not wish to receive a notification if a Downtime is started or ends for the service - the purpose of creating a Downtime on the fly is to not receive a (problem) notification, i.e. during a planned reboot.I do however wish to receive a
DowntimeStart
notification without any delay if aProblem
notification has been sent for the service before, since it indicates that someone else is working on the problem already and is therefore comparable to anAcknowledged
notification.I also wish to receive a
DowntimeEnd
orDowntimeRemoved
notification when the service is notOK
while the Downtime is removed ~and continues to be notOK
for the duration oftimes.begin
(or maybe another optionally configurable delay)~ since it indicates that the person who created the Downtime does not seem to still work on the problem (or they should have extended the Downtime).A notification should not immediately be sent for Flapping events but after a configurable duration.
I do not wish to receive a notification as soon as a service is considered flapping but I wish to receive one once it has been flapping for the percentage configured with
flapping_threshold_low
/flapping_threshold_high
over the duration oftimes.begin
(or maybe another optionally configurable delay).I.e. I do not wish to trigger a phone call in the middle of the night because a http check is flapping for 5 minutes, but I do wish to trigger one if it is flapping for more than half an hour.
Maybe it would be enough to make the amount of events considered for flapping detection configurable, although the events are rather random and completely depend on the check interval, or rather use a combination of a duration and number of events that can be set per service if a notification delay is not desired.
Your Environment
Include as many relevant details about the environment you experienced the problem in
icinga2 --version
):icinga2 feature list
):icinga2 daemon -C
):