def create(self) -> 'Alert': trend_indication = alarm_model.trend( alarm_model.DEFAULT_PREVIOUS_SEVERITY, self.severity) _, self.status = alarm_model.transition(alert=self) self.duplicate_count = 0 self.repeat = False self.previous_severity = alarm_model.DEFAULT_PREVIOUS_SEVERITY self.trend_indication = trend_indication self.receive_time = datetime.utcnow() self.last_receive_id = self.id self.last_receive_time = self.receive_time self.history = [ History(id=self.id, event=self.event, severity=self.severity, status=self.status, value=self.value, text='new alert', change_type='new', update_time=self.create_time) ] return Alert.from_db(db.create_alert(self))
def update(self) -> 'Alert': now = datetime.utcnow() self.previous_severity = db.get_severity(self) self.trend_indication = alarm_model.trend(self.previous_severity, self.severity) status, _, previous_status = self._get_hist_info() _, new_status = alarm_model.transition(alert=self, current_status=status, previous_status=previous_status) self.duplicate_count = 0 self.repeat = False self.receive_time = now self.last_receive_id = self.id self.last_receive_time = now history = [ History(id=self.id, event=self.event, severity=self.severity, status=new_status, value=self.value, text='correlated alert', change_type='severity', update_time=self.create_time) ] if new_status != status: status_change_hook.send(self, status=new_status, text=self.text) self.status = new_status return Alert.from_db(db.correlate_alert(self, history))
def create(self) -> 'Alert': now = datetime.utcnow() trend_indication = alarm_model.trend(alarm_model.DEFAULT_PREVIOUS_SEVERITY, self.severity) _, self.status = alarm_model.transition( alert=self ) self.duplicate_count = 0 self.repeat = False self.previous_severity = alarm_model.DEFAULT_PREVIOUS_SEVERITY self.trend_indication = trend_indication self.receive_time = now self.last_receive_id = self.id self.last_receive_time = now self.update_time = now self.history = [History( id=self.id, event=self.event, severity=self.severity, status=self.status, value=self.value, text='new alert', change_type='new', update_time=self.create_time, user=g.login )] return Alert.from_db(db.create_alert(self))
def update(self, correlate_with) -> 'Alert': now = datetime.utcnow() self.previous_severity = db.get_severity(self) self.trend_indication = alarm_model.trend(self.previous_severity, self.severity) status, _, previous_status, _ = self._get_hist_info() _, new_status = alarm_model.transition(alert=self, current_status=status, previous_status=previous_status) self.duplicate_count = 0 self.repeat = False self.receive_time = now self.last_receive_id = self.id self.last_receive_time = now if new_status != status: r = status_change_hook.send(correlate_with, status=new_status, text=self.text) _, (_, new_status, text) = r[0] self.update_time = now else: text = self.text history = [ History(id=self.id, event=self.event, severity=self.severity, status=new_status, value=self.value, text=text, change_type=ChangeType.severity, update_time=self.create_time, user=g.login, timeout=self.timeout) ] self.status = new_status return Alert.from_db(db.correlate_alert(self, history))
def update(self) -> 'Alert': now = datetime.utcnow() self.previous_severity = db.get_severity(self) previous_status = db.get_status(self) self.trend_indication = alarm_model.trend(self.previous_severity, self.severity) _, self.status = alarm_model.transition( previous_severity=self.previous_severity, current_severity=self.severity, previous_status=previous_status, current_status=self.status ) self.duplicate_count = 0 self.repeat = False self.receive_time = now self.last_receive_id = self.id self.last_receive_time = now history = [History( id=self.id, event=self.event, severity=self.severity, value=self.value, text=self.text, change_type='severity', update_time=self.create_time )] if self.status != previous_status: history.append(History( id=self.id, event=self.event, status=self.status, text='correlated alert status change', change_type='status', update_time=self.create_time )) return Alert.from_db(db.correlate_alert(self, history))
def update(self, correlate_with) -> 'Alert': now = datetime.utcnow() self.previous_severity = db.get_severity(self) self.trend_indication = alarm_model.trend(self.previous_severity, self.severity) status, _, previous_status = self._get_hist_info() _, new_status = alarm_model.transition( alert=self, current_status=status, previous_status=previous_status ) self.duplicate_count = 0 self.repeat = False self.receive_time = now self.last_receive_id = self.id self.last_receive_time = now text = 'correlated alert' if new_status != status: r = status_change_hook.send(correlate_with, status=new_status, text=text) _, (_, new_status, text) = r[0] self.update_time = now history = [History( id=self.id, event=self.event, severity=self.severity, status=new_status, value=self.value, text=text, change_type='severity', update_time=self.create_time, user=g.login )] self.status = new_status return Alert.from_db(db.correlate_alert(self, history))