def map_and_group(alerts, group_alerts_by):
    alerts = group_alerts(alerts, 'status')
    teams_alarms = []
    schema = TeamsAlarmSchema()
    for same_status_alerts in alerts:
        grouped_alerts = group_alerts(alerts[same_status_alerts],
                                      group_alerts_by)
        for alert in grouped_alerts:
            features = group_features(grouped_alerts[alert])
            name, description, instance, severity, status, summary = (
                teams_visualization(features["name"]),
                teams_visualization(features["description"]),
                teams_visualization(features["instance"]),
                teams_visualization(features["severity"]),
                teams_visualization(features["status"]),
                teams_visualization(features["summary"]))
            extra_labels = dict()
            extra_annotations = dict()
            for element in grouped_alerts[alert]:
                if hasattr(element, 'extra_labels'):
                    extra_labels = {**extra_labels, **element.extra_labels}
                if hasattr(element, 'extra_annotations'):
                    extra_annotations = {
                        **extra_annotations,
                        **element.extra_annotations
                    }

            alarm = TeamsAlarm(name, status.lower(), severity, summary,
                               instance, description, extra_labels,
                               extra_annotations)
            json_alarm = schema.dump(alarm)
            teams_alarms.append(json_alarm)
    return teams_alarms
Exemple #2
0
def map_prom_alerts_to_teams_alarms(alerts):
    teams_alarms = []
    schema = TeamsAlarmSchema()
    for alert in alerts:
        alarm = TeamsAlarm(alert.name, alert.status, alert.severity,
                           alert.summary, alert.instance, alert.description)
        json_alarm = schema.dump(alarm).data
        teams_alarms.append(json_alarm)
    return teams_alarms
Exemple #3
0
def map_prom_alerts_to_teams_alarms(alerts):
    alerts = group_alerts(alerts, 'status')
    teams_alarms = []
    schema = TeamsAlarmSchema()
    for same_status_alerts in alerts:
        for alert in alerts[same_status_alerts]:
            alarm = TeamsAlarm(alert.name, alert.status.lower(),
                               alert.severity, alert.summary, alert.instance,
                               alert.description, alert.externalURL)
            json_alarm = schema.dump(alarm)
            teams_alarms.append(json_alarm)
    return teams_alarms
def map_and_group(alerts, group_alerts_by):
    teams_alarms = []
    schema = TeamsAlarmSchema()
    grouped_alerts = group_alerts(alerts, group_alerts_by)
    for alert in grouped_alerts:
        features = group_features(grouped_alerts[alert])
        name, description, instance, severity, status, summary = (teams_visualization(features["name"]),
                                                                  teams_visualization(features["description"]),
                                                                  teams_visualization(features["instance"]),
                                                                  teams_visualization(features["severity"]),
                                                                  teams_visualization(features["status"]),
                                                                  teams_visualization(features["summary"]))
        alarm = TeamsAlarm(name, status.lower(), severity, summary, instance, description)
        json_alarm = schema.dump(alarm).data
        teams_alarms.append(json_alarm)
    return teams_alarms
Exemple #5
0
def map_and_group(alerts, group_alerts_by):
    alerts = group_alerts(alerts, 'status')
    teams_alarms = []
    schema = TeamsAlarmSchema()
    for same_status_alerts in alerts:
        grouped_alerts = group_alerts(alerts[same_status_alerts],
                                      group_alerts_by)
        for alert in grouped_alerts:
            features = group_features(grouped_alerts[alert])
            name, description, instance, severity, status, summary, externalURL = (
                teams_visualization(features["name"]),
                teams_visualization(features["description"]),
                teams_visualization(features["instance"]),
                teams_visualization(features["severity"]),
                teams_visualization(features["status"]),
                teams_visualization(features["summary"]),
                teams_visualization(features["externalURL"]))
            alarm = TeamsAlarm(name, status.lower(), severity, summary,
                               instance, description, externalURL)
            json_alarm = schema.dump(alarm)
            teams_alarms.append(json_alarm)
    return teams_alarms
Exemple #6
0
def _map_dict_alert_to_alarm(alert):
    return TeamsAlarm(alert['name'], alert['status'].lower(),
                      alert['severity'], alert['summary'], alert['instance'],
                      alert['description'], alert['fingerprint'],
                      alert['extra_labels'], alert['extra_annotations'])