Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Payload-Anforderungen für das Erfassen von APM-Alerts mit EventBridge
Woher nimmt Incident Detection and Response APM-Warnmeldungen auf?
AWS Incident Detection and Response installiert eine verwaltete Regel auf dem Event-Bus, an den Sie Ihre endgültige transformierte Nutzlast senden. Es hat sich bewährt, zu diesem Zweck einen benutzerdefinierten Event-Bus zu erstellen.
In welchem Format müssen Payloads vorliegen?
Für Event-Bus-Ereignisse, die von AWS Incident Detection and Response erfasst werden, sind mindestens die folgenden JSON-Schlüssel/Wert-Paare erforderlich:
{ "detail-type": "ams.monitoring/generic-apm", "source": "GenericAPMEvent" "detail": { "incident-detection-response-identifier": "Your alarm name from your APM", } }
Die folgenden Beispiele zeigen ein Ereignis aus einem Partner-Event-Bus vor und nach seiner Transformation.
Vor der Transformation:
{ "version": "0", "id": "a6150a80-601d-be41-1a1f-2c5527a99199", "detail-type": "Datadog Alert Notification", "source": "aws.partner/datadog.com/Datadog-aaa111bbbc", "account": "123456789012", "time": "2023-10-25T14:42:25Z", "region": "us-east-1", "resources": [], "detail": { "alert_type": "error", "event_type": "query_alert_monitor", "meta": { "monitor": { "id": 222222, "org_id": 3333333333, "type": "query alert", "name": "UnHealthyHostCount", "message": "@awseventbridge-Datadog-aaa111bbbc", "query": "max(last_5m):avg:aws.applicationelb.un_healthy_host_count{aws_account:123456789012} <= 1", "created_at": 1686884769000, "modified": 1698244915000, "options": { "thresholds": { "critical": 1.0 } }, }, "result": { "result_id": 7281010972796602670, "result_ts": 1698244878, "evaluation_ts": 1698244868, "scheduled_ts": 1698244938, "metadata": { "monitor_id": 222222, "metric": "aws.applicationelb.un_healthy_host_count" } }, "transition": { "trans_name": "Triggered", "trans_type": "alert" }, "states": { "source_state": "OK", "dest_state": "Alert" }, "duration": 0 }, "priority": "normal", "source_type_name": "Monitor Alert", "tags": [ "aws_account:123456789012", "monitor" ] } }
Beachten Sie dies, bevor das Ereignis transformiert wird, detail-type und source gibt die APM-Details an, woher die Warnung stammt. Diese müssen vor der Aufnahme geändert werden. Der incident-detection-response-identifier Schlüssel ist noch nicht vorhanden und muss vor der Einnahme ebenfalls hinzugefügt werden.
Eine Lambda-Funktion transformiert das obige Ereignis und platziert es in den benutzerdefinierten oder standardmäßigen Ziel-Event-Bus. Die transformierte Nutzlast muss die erforderlichen Schlüssel/Wert-Paare enthalten.
Nach der Transformation:
{ "version": "0", "id": "7f5e0fc1-e917-2b5d-a299-50f4735f1283", "detail-type": "ams.monitoring/generic-apm", "source": "GenericAPMEvent", "account": "123456789012", "time": "2023-10-25T14:42:25Z", "region": "us-east-1", "resources": [], "detail": { "incident-detection-response-identifier": "UnHealthyHostCount", "alert_type": "error", "event_type": "query_alert_monitor", "meta": { "monitor": { "id": 222222, "org_id": 3333333333, "type": "query alert", "name": "UnHealthyHostCount", "message": "@awseventbridge-Datadog-aaa111bbbc", "query": "max(last_5m):avg:aws.applicationelb.un_healthy_host_count{aws_account:123456789012} <= 1", "created_at": 1686884769000, "modified": 1698244915000, "options": { "thresholds": { "critical": 1.0 } }, }, "result": { "result_id": 7281010972796602670, "result_ts": 1698244878, "evaluation_ts": 1698244868, "scheduled_ts": 1698244938, "metadata": { "monitor_id": 222222, "metric": "aws.applicationelb.un_healthy_host_count" } }, "transition": { "trans_name": "Triggered", "trans_type": "alert" }, "states": { "source_state": "OK", "dest_state": "Alert" }, "duration": 0 }, "priority": "normal", "source_type_name": "Monitor Alert", "tags": [ "aws_account:123456789012", "monitor" ] } }
Beachten Sie, dass detail-type es jetzt istams.monitoring/generic-apm, die Quelle ist jetztGenericAPMEvent, und unter Detail gibt es ein neues Schlüssel:Wert-Paar:. incident-detection-response-identifier
Der incident-detection-response-identifier Wert wird dem Namen der Warnung entnommen und basiert auf der Nutzlast, die Ihr APM sendet. Die Namenspfade für APM-Warnungen unterscheiden sich von APM zu APM. Eine Lambda-Funktion muss so eingerichtet werden, dass sie den Alarmnamen aus dem richtigen Pfad in der von Lambda empfangenen APM-JSON-Payload übernimmt und ihn für den Wert verwendet. incident-detection-response-identifier
incident-detection-response-identifierDie Werte müssen pro Alarmtyp, der an AWS Incident Detection and Response gesendet wird, eindeutig sein. Jeder eindeutige Name, der auf der festgelegt ist, incident-detection-response-identifier muss dem AWS-Incident Detection and Response-Team beim Onboarding zur Verfügung gestellt werden. Ereignisse, die einen unbekannten oder fehlenden Wert für den incident-detection-response-identifier Schlüssel haben, werden nicht verarbeitet.