alarms: reduce state changes that trigger notifications

This commit is contained in:
Iain Learmonth 2022-06-17 12:57:02 +01:00
parent ac5a604587
commit 1b8a64725f

View file

@ -39,7 +39,11 @@ class Alarm(db.Model): # type: ignore
activity = Activity(activity_type="alarm_state",
text=f"{self.alarm_state.name}->{state.name}! State changed for "
f"{self.aspect} on {self.target}: {text}")
activity.notify()
if (self.alarm_state.name in ["WARNING", "CRITICAL"]
or state.name in ["WARNING", "CRITICAL", "UNKNOWN"]):
# Notifications are only sent on recovery from warning/critical state or on entry
# to warning/critical/unknown states. This should reduce alert fatigue.
activity.notify()
db.session.add(activity)
self.alarm_state = state
self.text = text