View a markdown version of this page

Intégration AWS DevOps Agent auprès d'Amazon EventBridge - AWS DevOps Agent

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.

Intégration AWS DevOps Agent auprès d'Amazon EventBridge

Vous pouvez intégrer AWS DevOps l'Agent à vos applications pilotées par les événements en utilisant les événements qui se produisent au cours des cycles de vie des enquêtes et des mesures d'atténuation. AWS DevOps L'agent envoie des événements à Amazon EventBridge lorsque l'état d'une enquête ou d'une mesure d'atténuation change. Vous pouvez ensuite créer des EventBridge règles qui prennent des mesures en fonction de ces événements.

Par exemple, vous pouvez créer des règles qui exécutent les actions suivantes :

  • Invoquez une fonction AWS Lambda pour traiter les résultats de l'enquête une fois celle-ci terminée.

  • Envoyez une notification Amazon SNS lorsqu'une enquête échoue ou expire.

  • Mettez à jour un système de tickets lorsqu'une nouvelle enquête est créée.

  • Démarrez un flux de travail AWS Step Functions lorsqu'une action d'atténuation est terminée.

Comment se déroulent EventBridge les itinéraires AWS DevOps Événements pour les agents

AWS DevOps L'agent envoie des événements au bus d'événements EventBridge par défaut. EventBridge évalue ensuite les événements par rapport aux règles que vous créez. Lorsqu'un événement correspond au modèle d'événement d'une règle, EventBridge envoie l'événement aux cibles spécifiées.

Le schéma suivant montre comment EventBridge acheminent les événements de AWS DevOps l'agent.

Amazon EventBridge achemine les événements depuis AWS la source via des règles vers des cibles telles que AWS les services.
  1. AWS DevOps L'agent envoie un événement au bus d'événements EventBridge par défaut lorsque l'état du cycle de vie d'une investigation ou d'une atténuation change.

  2. EventBridge évalue l'événement par rapport aux règles que vous avez créées.

  3. Si l'événement correspond au modèle d'événement d'une règle, EventBridge envoie l'événement aux cibles spécifiées dans la règle.

AWS DevOps Événements pour les agents

AWS DevOps L'agent envoie les événements suivants à EventBridge. Tous les événements utilisent la sourceaws.aidevops.

AWS DevOps L'agent émet ces événements pour les enquêtes, y compris la phase d'atténuation d'une enquête. Les autres types de travail des agents, tels que les évaluations de prévention des incidents et les appels d'agents personnalisés, n'émettent pas ces événements.

Le time champ de chaque événement correspond à l'heure à laquelle l'enquête ou l'atténuation a été mise à jour pour la dernière fois, et non à l'heure à laquelle l'événement EventBridge a été reçu. Un champ sans valeur est omis au detail lieu d'être défini sur. null

Événements d'enquête pris en charge

detail-type Description
Investigation Created Une enquête a été créée dans l'espace agent.
Investigation Priority Updated La priorité d'une enquête a été modifiée.
Investigation In Progress Une enquête a permis de lancer une analyse active.
Investigation Completed Une enquête s'est terminée avec succès et a donné des résultats.
Investigation Failed Une enquête a rencontré une erreur et n'a pas pu être menée à bien.
Investigation Timed Out Une enquête a dépassé la durée maximale autorisée.
Investigation Cancelled Une enquête a été annulée avant d'être terminée.
Investigation Pending Triage Une enquête est en attente de triage avant le début de l'analyse active.
Investigation Linked Une enquête était liée à un incident ou à une contravention connexe.
Investigation Skipped Une enquête a été ignorée car elle correspondait aux critères de saut définis dans une compétence. L'événement n'inclut pas la raison pour laquelle l'enquête a été ignorée.

Événements d'atténuation pris en charge

detail-type Description
Mitigation In Progress Une action d'atténuation a été entreprise.
Mitigation Completed Une action d'atténuation s'est terminée avec succès.
Mitigation Failed Une action d'atténuation a rencontré une erreur et n'a pas pu être exécutée.
Mitigation Timed Out Une action d'atténuation a dépassé la durée maximale autorisée.
Mitigation Cancelled Une action d'atténuation a été annulée avant d'être terminée.

Pour une description détaillée des champs et des exemples d'événements, consultezAWS DevOps Référence détaillée des événements de l'agent.

Création de modèles d'événements qui correspondent AWS DevOps Événements pour les agents

EventBridge les règles utilisent des modèles d'événements pour sélectionner des événements et les acheminer vers des cibles. Un modèle d'événement correspond à la structure des événements qu'il gère. Vous créez des modèles d'événements pour filtrer les événements de l' AWS DevOps agent en fonction des champs d'événements.

Les exemples suivants présentent des modèles d'événements pour des cas d'utilisation courants.

Faites correspondre tous les événements AWS DevOps de l'agent

Le modèle d'événement suivant correspond à tous les événements de AWS DevOps l'agent.

{ "source": ["aws.aidevops"] }

Ne faire correspondre que les événements d'enquête

Le modèle d'événement suivant utilise une correspondance de préfixe pour sélectionner uniquement les événements du cycle de vie de l'enquête.

{ "source": ["aws.aidevops"], "detail-type": [{"prefix": "Investigation"}] }

Ne faites correspondre que les événements d'achèvement et d'échec

Le schéma d'événements suivant correspond aux événements correspondant à des enquêtes et à des mesures d'atténuation achevées ou ayant échoué.

{ "source": ["aws.aidevops"], "detail-type": [ "Investigation Completed", "Investigation Failed", "Mitigation Completed", "Mitigation Failed" ] }

Match d'événements pour un espace d'agent spécifique

Le modèle d'événement suivant correspond aux événements d'un espace d'agent spécifique.

{ "source": ["aws.aidevops"], "detail": { "metadata": { "agent_space_id": ["your-agent-space-id"] } } }

Pour plus d'informations sur les modèles d'événements, consultez la section Modèles EventBridge d'événements Amazon dans le Guide de EventBridge l'utilisateur Amazon.

Récupération d'un résumé d'enquête ou d'atténuation

Un Completed événement identifie le résumé produit par l'agent, mais il ne contient pas le texte du résumé. Le résumé est enregistré sous forme d'enregistrement de journal. Pour le lire, appelez l'ListJournalRecordsopération avec les valeurs extraites de l'événement.

Valeur de l'événement Paramètre ListJournalRecords ``
detail.metadata.agent_space_id agentSpaceId (obligatoire)
detail.metadata.execution_id executionId (obligatoire)
Pas dans l'événement recordType— à utiliser investigation_summary_md pour un résumé de l'enquête ou mitigation_summary_md pour un résumé des mesures d'atténuation

ListJournalRecordsrenvoie une liste d'JournalRecordobjets. Une exécution peut comporter plusieurs enregistrements récapitulatifs du même type. Sélectionnez l'enregistrement dont les recordId résultats correspondentdetail.data.summary_record_id, puis lisez-lecontent. AWS DevOps L'agent n'a aucune opération qui renvoie un seul enregistrement de journal par ID.

Avant de poursuivre, tenez compte des points suivants summary_record_id :

  • Le champ n'est présent que lorsqu'un enregistrement récapitulatif a été écrit pour l'exécution. Un Completed événement sans celui-ci signifie qu'aucun résumé n'est disponible pour cette exécution. Vous devez donc gérer son absence.

  • FailedTimed Out, et les Cancelled événements ne l'incluent jamais.

  • Pour récupérer le résumé, vous devez disposer de l'aidevops:ListJournalRecordsautorisation du compte qui gère votre client événementiel.

Pour en savoir plus sur les autorisations, consultez DevOps Autorisations IAM des agents.

Récupérez un résumé à l'aide de la AWS CLI

La commande suivante répertorie les enregistrements récapitulatifs de l'enquête pour une exécution :

aws devops-agent list-journal-records \ --agent-space-id e5f6g7h8-9012-34ab-cdef-example00000 \ --execution-id b2c3d4e5-6789-01ab-cdef-example22222 \ --record-type investigation_summary_md

Traiter une enquête terminée dans AWS Lambda

La fonction Python suivante montre comment une cible de règle peut gérer ces événements. Il s'agit d'un exemple et non d'une implémentation obligatoire. EventBridge prend en charge d'autres types de cibles, et c'est votre cible qui décide de la suite à donner à un événement. Cet exemple lit le résumé d'une enquête terminée et ignore un événement qui ne comporte aucun résumé :

import boto3 devops_agent = boto3.client("devops-agent") INVESTIGATION_SUMMARY = "investigation_summary_md" MITIGATION_SUMMARY = "mitigation_summary_md" def lambda_handler(event, context): detail = event["detail"] metadata = detail["metadata"] data = detail["data"] summary_record_id = data.get("summary_record_id") if not summary_record_id: # A completed task does not always produce a summary. return {"summary": None} record_type = ( MITIGATION_SUMMARY if event["detail-type"].startswith("Mitigation") else INVESTIGATION_SUMMARY ) paginator = devops_agent.get_paginator("list_journal_records") pages = paginator.paginate( agentSpaceId=metadata["agent_space_id"], executionId=metadata["execution_id"], recordType=record_type, ) for page in pages: for record in page["records"]: if record["recordId"] == summary_record_id: return {"summary": record["content"]} return {"summary": None}

Permet detail-type de choisir le type d'enregistrement à demander. Les événements d'enquête et d'atténuation sont signalés data.task_type comme telsINVESTIGATION, ce qui task_type ne permet pas de les distinguer.

EventBridge Autorisations Amazon

AWS DevOps L'agent n'a pas besoin d'autorisations supplémentaires pour diffuser des événements EventBridge. Les événements sont automatiquement envoyés au bus d'événements par défaut.

En fonction des cibles que vous configurez pour vos EventBridge règles, vous devrez peut-être ajouter des autorisations spécifiques. Pour plus d'informations sur les autorisations requises pour les cibles, consultez la section Utilisation de politiques basées sur les ressources pour Amazon EventBridge dans le guide de l' EventBridge utilisateur Amazon.

EventBridge Ressources supplémentaires

Pour plus d'informations sur EventBridge les concepts et la configuration, consultez les rubriques suivantes du guide de EventBridge l'utilisateur Amazon  :