Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Requisiti di payload per l'inserimento di avvisi APM con EventBridge
Da dove vengono acquisiti gli avvisi APM da Incident Detection and Response?
AWS Incident Detection and Response installa una regola gestita sul bus di eventi a cui invii il payload trasformato finale. È consigliabile creare un bus di eventi personalizzato per questo scopo.
In che formato devono essere i payload?
Le seguenti coppie minime di chiave:valore JSON sono richieste negli eventi del bus di eventi inseriti da AWS Incident Detection and Response:
{ "detail-type": "ams.monitoring/generic-apm", "source": "GenericAPMEvent" "detail": { "incident-detection-response-identifier": "Your alarm name from your APM", } }
Gli esempi seguenti mostrano un evento generato da un bus di eventi partner prima e dopo la trasformazione.
Prima della trasformazione:
{ "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" ] } }
Nota che prima che l'evento venga trasformato detail-type e source indica i dettagli APM da dove ha avuto origine l'avviso. Questi devono essere modificati prima dell'ingestione. La incident-detection-response-identifier chiave non è ancora presente e deve essere aggiunta anche prima dell'ingestione.
Una funzione Lambda trasforma l'evento precedente e lo inserisce nel bus di eventi personalizzato o predefinito di destinazione. Il payload trasformato deve includere le coppie chiave:valore richieste.
Dopo la trasformazione:
{ "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" ] } }
Nota che detail-type è oraams.monitoring/generic-apm, la fonte è oraGenericAPMEvent, e in dettaglio c'è la nuova coppia chiave:valore:. incident-detection-response-identifier
Il incident-detection-response-identifier valore viene ricavato dal nome dell'avviso in base al payload inviato dall'APM. I percorsi dei nomi degli avvisi APM sono diversi da un APM all'altro. È necessario configurare una funzione Lambda per prendere il nome dell'allarme dal percorso corretto nel payload JSON APM ricevuto da Lambda e utilizzarlo per il valore. incident-detection-response-identifier
incident-detection-response-identifieri valori devono essere univoci per tipo di allarme inviato ad AWS Incident Detection and Response. Ogni nome univoco impostato su incident-detection-response-identifier deve essere fornito al team di AWS Incident Detection and Response durante l'onboarding. Gli eventi con un valore sconosciuto o mancante per la incident-detection-response-identifier chiave non vengono elaborati.