コード例 #1
0
ファイル: alert.py プロジェクト: Toniob/alerta
    def deduplicate(self):
        now = datetime.utcnow()

        previous_status, previous_value = db.get_status_and_value(self)
        self.status = status_code.status_from_severity(
            previous_severity=self.severity,
            current_severity=self.severity,
            previous_status=previous_status,
            current_status=self.status)

        self.repeat = True
        self.last_receive_id = self.id
        self.last_receive_time = now

        if self.status != previous_status:
            history = History(id=self.id,
                              event=self.event,
                              status=self.status,
                              text='duplicate alert with status change',
                              change_type='status',
                              update_time=self.create_time)
        elif current_app.config[
                'HISTORY_ON_VALUE_CHANGE'] and self.value != previous_value:
            history = History(id=self.id,
                              event=self.event,
                              value=self.value,
                              text='duplicate alert with value change',
                              change_type='value',
                              update_time=self.create_time)
        else:
            history = None
        return Alert.from_db(db.dedup_alert(self, history))
コード例 #2
0
    def deduplicate(self):
        now = datetime.utcnow()

        previous_status, previous_value = db.get_status_and_value(self)
        self.status = status_code.status_from_severity(
            previous_severity=self.severity,
            current_severity=self.severity,
            previous_status=previous_status,
            current_status=self.status)

        self.repeat = True
        self.last_receive_id = self.id
        self.last_receive_time = now

        if self.status != previous_status:
            history = History(id=self.id,
                              event=self.event,
                              status=self.status,
                              text="duplicate alert with status change",
                              change_type="status",
                              update_time=now)
        elif self.value != previous_value:
            history = History(id=self.id,
                              event=self.event,
                              value=self.value,
                              text="duplicate alert with value change",
                              change_type="value",
                              update_time=now)
        else:
            history = None
        return Alert.from_db(db.dedup_alert(self, history))
コード例 #3
0
ファイル: alert.py プロジェクト: kelemeto76/alerta
    def deduplicate(self) -> 'Alert':
        now = datetime.utcnow()

        previous_status, previous_value = db.get_status_and_value(self)
        _, self.status = alarm_model.transition(
            previous_severity=self.severity,
            current_severity=self.severity,
            previous_status=previous_status,
            current_status=self.status)

        self.repeat = True
        self.last_receive_id = self.id
        self.last_receive_time = now

        from typing import Optional  # noqa

        if self.status != previous_status:
            history = History(
                id=self.id,
                event=self.event,
                status=self.status,
                text='duplicate alert with status change',
                change_type='status',
                update_time=self.create_time)  # type: Optional[History]
        elif current_app.config[
                'HISTORY_ON_VALUE_CHANGE'] and self.value != previous_value:
            history = History(id=self.id,
                              event=self.event,
                              value=self.value,
                              text='duplicate alert with value change',
                              change_type='value',
                              update_time=self.create_time)
        else:
            history = None
        return Alert.from_db(db.dedup_alert(self, history))
コード例 #4
0
    def deduplicate(self, duplicate_of) -> 'Alert':
        now = datetime.utcnow()

        status, previous_value, previous_status, _ = self._get_hist_info()

        _, new_status = alarm_model.transition(alert=self,
                                               current_status=status,
                                               previous_status=previous_status)

        self.repeat = True
        self.last_receive_id = self.id
        self.last_receive_time = now

        if new_status != status:
            r = status_change_hook.send(duplicate_of,
                                        status=new_status,
                                        text=self.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=ChangeType.status,
                update_time=self.create_time,
                user=g.login,
                timeout=self.timeout,
            )  # type: Optional[History]

        elif current_app.config[
                'HISTORY_ON_VALUE_CHANGE'] and self.value != previous_value:
            history = History(
                id=self.id,
                event=self.event,
                severity=self.severity,
                status=status,
                value=self.value,
                text=self.text,
                change_type=ChangeType.value,
                update_time=self.create_time,
                user=g.login,
                timeout=self.timeout,
            )
        else:
            history = None

        self.status = new_status
        return Alert.from_db(db.dedup_alert(self, history))
コード例 #5
0
ファイル: alert.py プロジェクト: guardian/alerta
    def deduplicate(self, duplicate_of) -> 'Alert':
        now = datetime.utcnow()

        status, previous_value, previous_status = self._get_hist_info()

        _, new_status = alarm_model.transition(
            alert=self,
            current_status=status,
            previous_status=previous_status
        )

        self.repeat = True
        self.last_receive_id = self.id
        self.last_receive_time = now

        if new_status != status:
            text = 'duplicate alert (with status change)'
            r = status_change_hook.send(duplicate_of, 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='status',
                update_time=self.create_time,
                user=g.login,
            )  # type: Optional[History]

        elif current_app.config['HISTORY_ON_VALUE_CHANGE'] and self.value != previous_value:
            history = History(
                id=self.id,
                event=self.event,
                severity=self.severity,
                status=status,
                value=self.value,
                text='duplicate alert (with value change)',
                change_type='value',
                update_time=self.create_time,
                user=g.login
            )
        else:
            history = None

        self.status = new_status
        return Alert.from_db(db.dedup_alert(self, history))
コード例 #6
0
ファイル: alert.py プロジェクト: mgummel25/alerta
    def deduplicate(self) -> 'Alert':
        now = datetime.utcnow()

        status, previous_value, previous_status = self._get_hist_info()

        _, new_status = alarm_model.transition(
            alert=self,
            current_status=status,
            previous_status=previous_status
        )

        self.repeat = True
        self.last_receive_id = self.id
        self.last_receive_time = now

        if new_status != status:
            history = History(
                id=self.id,
                event=self.event,
                severity=self.severity,
                status=new_status,
                value=self.value,
                text='duplicate alert (with status change)',
                change_type='status',
                update_time=self.create_time,
                user=g.user,
            )  # type: Optional[History]
            self.update_time = now

            status_change_hook.send(self, status=new_status, text=self.text)

        elif current_app.config['HISTORY_ON_VALUE_CHANGE'] and self.value != previous_value:
            history = History(
                id=self.id,
                event=self.event,
                severity=self.severity,
                status=status,
                value=self.value,
                text='duplicate alert (with value change)',
                change_type='value',
                update_time=self.create_time,
                user=g.user
            )
        else:
            history = None

        self.status = new_status
        return Alert.from_db(db.dedup_alert(self, history))
コード例 #7
0
ファイル: alert.py プロジェクト: zzzhc/alerta
    def deduplicate(self):
        now = datetime.utcnow()

        previous_status = db.get_status(self)
        if self.status == status_code.UNKNOWN or self.status == previous_status:
            self.status = status_code.status_from_severity(
                self.severity, self.severity, previous_status)

        self.repeat = True
        self.last_receive_id = self.id
        self.last_receive_time = now

        if self.status != previous_status:
            history = History(id=self.id,
                              event=self.event,
                              status=self.status,
                              text="duplicate alert status change",
                              change_type="status",
                              update_time=now)
        else:
            history = None
        return Alert.from_db(db.dedup_alert(self, history))
コード例 #8
0
ファイル: alert.py プロジェクト: 3IWOH/alerta
    def deduplicate(self):
        now = datetime.utcnow()

        previous_status = db.get_status(self)
        if self.status == status_code.UNKNOWN or self.status == previous_status:
            self.status = status_code.status_from_severity(self.severity, self.severity, previous_status)

        self.repeat = True
        self.last_receive_id = self.id
        self.last_receive_time = now

        if self.status != previous_status:
            history = History(
                id=self.id,
                event=self.event,
                status=self.status,
                text="duplicate alert status change",
                change_type="status",
                update_time=now
            )
        else:
            history = None
        return Alert.from_db(db.dedup_alert(self, history))