View a markdown version of this page

Nutzlastanforderungen für die Aufnahme von APM-Benachrichtigungen mit EventBridge - AWS-Benutzerhandbuch zur Erkennung und Reaktion von Vorfällen

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.

Nutzlastanforderungen für die Aufnahme von APM-Benachrichtigungen mit EventBridge

Woher nimmt Incident Detection and Response APM-Warnungen 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, für diesen Zweck einen benutzerdefinierten Event-Bus zu erstellen.

In welchem Format müssen Payloads vorliegen?

Die folgenden JSON-Mindestpaare sind für Eventbus-Ereignisse erforderlich, die von AWS Incident Detection and Response aufgenommen werden:

{ "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 von 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, dass vor der Transformation des Ereignisses detail-type und in den APM-Details source angegeben ist, 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 ebenfalls vor der Einnahme hinzugefügt werden.

Eine Lambda-Funktion transformiert das obige Ereignis und fügt es in den benutzerdefinierten oder standardmäßigen Ereignisbus des Ziels ein. 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 das jetzt detail-type istams.monitoring/generic-apm, die Quelle ist jetzt GenericAPMEvent 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 Payload, die Ihr APM sendet. Die Pfade der APM-Warnungsnamen unterscheiden sich von APM zu APM. Eine Lambda-Funktion muss eingerichtet werden, um den Alarmnamen aus dem richtigen Pfad in der von Lambda empfangenen APM-JSON-Nutzlast zu übernehmen und für den Wert zu verwenden. incident-detection-response-identifier

incident-detection-response-identifierDie Werte müssen für jeden Alarmtyp, der an AWS Incident Detection and Response gesendet wird, eindeutig sein. Jeder eindeutige Name, der auf dem gesetzt ist, incident-detection-response-identifier muss dem Team von AWS Incident Detection and Response 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.