Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exigences de charge utile pour l'ingestion d'alertes APM avec EventBridge
D'où proviennent les alertes APM destinées à la détection et à la réponse aux incidents ?
AWS Incident Detection and Response installe une règle gérée sur le bus d'événements auquel vous envoyez votre charge utile transformée finale. Il est recommandé de créer un bus événementiel personnalisé à cette fin.
Dans quel format les charges utiles doivent-elles être ?
Les paires JSON clé:valeur minimales suivantes sont requises pour les événements de bus d'événements ingérés par AWS Incident Detection and Response :
{ "detail-type": "ams.monitoring/generic-apm", "source": "GenericAPMEvent" "detail": { "incident-detection-response-identifier": "Your alarm name from your APM", } }
Les exemples suivants montrent un événement depuis un bus d'événements partenaire avant et après sa transformation.
Avant la 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" ] } }
Notez cela avant que l'événement ne soit transformé, detail-type et source indique les détails de l'APM d'où provient l'alerte. Ceux-ci doivent être modifiés avant l'ingestion. La incident-detection-response-identifier clé n'est pas encore présente et doit également être ajoutée avant l'ingestion.
Une fonction Lambda transforme l'événement ci-dessus et le place dans le bus d'événements personnalisé ou par défaut cible. La charge utile transformée doit inclure les paires clé:valeur requises.
Après la 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" ] } }
Notez que detail-type c'est maintenantams.monitoring/generic-apm, la source est maintenantGenericAPMEvent, et dans le détail, il y a une nouvelle paire clé:valeur :. incident-detection-response-identifier
La incident-detection-response-identifier valeur est extraite du nom de l'alerte en fonction de la charge utile envoyée par votre APM. Les chemins des noms des alertes APM sont différents d'un APM à l'autre. Une fonction Lambda doit être configurée pour extraire le nom de l'alarme depuis le chemin correct dans la charge utile JSON APM reçue par Lambda et l'utiliser comme valeur. incident-detection-response-identifier
incident-detection-response-identifierles valeurs doivent être uniques par type d'alarme envoyé à AWS Incident Detection and Response. Chaque nom unique défini sur le incident-detection-response-identifier doit être fourni à l'équipe AWS Incident Detection and Response lors de l'intégration. Les événements dont la valeur est inconnue ou manquante pour la incident-detection-response-identifier clé ne sont pas traités.