Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Integración AWS DevOps Agente con Amazon EventBridge
Puede integrar AWS DevOps Agent con sus aplicaciones basadas en eventos mediante el uso de los eventos que se producen durante los ciclos de vida de investigación y mitigación. AWS DevOps El agente envía los eventos a Amazon EventBridge cuando cambia el estado de una investigación o mitigación. A continuación, puede crear EventBridge reglas que tomen medidas en función de estos eventos.
Por ejemplo, puede crear reglas que realicen las siguientes acciones:
Invoca una función AWS Lambda para procesar los resultados de la investigación cuando se complete una investigación.
Envíe una notificación de Amazon SNS cuando una investigación falle o se agote el tiempo de espera.
Actualice un sistema de venta de entradas cuando se cree una nueva investigación.
Inicie un flujo de trabajo de AWS Step Functions cuando se complete una acción de mitigación.
¿Cómo son EventBridge las rutas AWS DevOps Eventos de agentes
AWS DevOps El agente envía los eventos al bus de eventos EventBridge predeterminado. EventBridge a continuación, evalúa los eventos comparándolos con las reglas que haya creado. Cuando un evento coincide con el patrón de eventos de una regla, EventBridge envía el evento a los destinos especificados.
El siguiente diagrama muestra cómo EventBridge enruta los eventos AWS DevOps del agente.
AWS DevOps El agente envía un evento al bus de eventos EventBridge predeterminado cuando cambia el estado del ciclo de vida de una investigación o mitigación.
EventBridge evalúa el evento comparándolo con las reglas que ha creado.
Si el evento coincide con el patrón de eventos de una regla, EventBridge envía el evento a los destinos especificados en la regla.
AWS DevOps Eventos del agente
AWS DevOps El agente envía los siguientes eventos a EventBridge. Todos los eventos utilizan la fuenteaws.aidevops.
AWS DevOps El agente emite estos eventos para las investigaciones, incluida la fase de mitigación de una investigación. Otros tipos de trabajo de los agentes, como las evaluaciones de prevención de incidentes y las invocaciones personalizadas de los agentes, no generan estos eventos.
El time campo de cada evento es la hora en que se actualizó por última vez la investigación o la mitigación, no la hora en que se EventBridge recibió el evento. Un campo sin valor se omite detail en lugar de definirse null como.
Eventos de investigación respaldados
| detail-type | Description (Descripción) |
|---|---|
Investigation Created |
Se creó una investigación en el espacio de agentes. |
Investigation Priority Updated |
Se cambió la prioridad de una investigación. |
Investigation In Progress |
Se inició una investigación con un análisis activo. |
Investigation Completed |
Una investigación finalizó satisfactoriamente y arrojó conclusiones. |
Investigation Failed |
Se detectó un error en una investigación y no se pudo completar. |
Investigation Timed Out |
Una investigación superó la duración máxima permitida. |
Investigation Cancelled |
Se canceló una investigación antes de completarse. |
Investigation Pending Triage |
Hay una investigación pendiente de clasificación antes de que comience el análisis activo. |
Investigation Linked |
Se ha vinculado una investigación a un incidente o una multa relacionados. |
Investigation Skipped |
Se omitió una investigación porque cumplía con los criterios de omisión definidos en una habilidad. El evento no incluye el motivo por el que se omitió la investigación. |
Eventos de mitigación compatibles
| detail-type | Description (Descripción) |
|---|---|
Mitigation In Progress |
Se inició una acción de mitigación. |
Mitigation Completed |
Una acción de mitigación finalizó correctamente. |
Mitigation Failed |
Se detectó un error en una acción de mitigación y no se pudo completar. |
Mitigation Timed Out |
Una acción de mitigación superó la duración máxima permitida. |
Mitigation Cancelled |
Se canceló una acción de mitigación antes de completarse. |
Para obtener descripciones detalladas de los campos y ejemplos de eventos, consulteAWS DevOps Referencia detallada de los eventos del agente.
Crear patrones de eventos que coincidan AWS DevOps Eventos de agentes
EventBridge las reglas usan patrones de eventos para seleccionar eventos y dirigirlos a los objetivos. Un patrón de eventos coincide con la estructura de los eventos que gestiona. Los patrones de eventos se crean para filtrar los eventos del AWS DevOps agente en función de los campos de eventos.
Los siguientes ejemplos muestran patrones de eventos para casos de uso comunes.
Coincide con todos los eventos AWS DevOps del agente
El siguiente patrón de eventos coincide con todos los eventos del AWS DevOps agente.
{ "source": ["aws.aidevops"] }
Coincide solo con los eventos de investigación
El siguiente patrón de eventos usa una coincidencia de prefijos para seleccionar solo los eventos del ciclo de vida de la investigación.
{ "source": ["aws.aidevops"], "detail-type": [{"prefix": "Investigation"}] }
Haga coincidir únicamente los eventos de finalización y fracaso
El siguiente patrón de eventos coincide con los eventos de las investigaciones y mitigaciones finalizadas o fallidas.
{ "source": ["aws.aidevops"], "detail-type": [ "Investigation Completed", "Investigation Failed", "Mitigation Completed", "Mitigation Failed" ] }
Haga coincidir los eventos de un espacio de agentes específico
El siguiente patrón de eventos coincide con los eventos de un espacio de agentes específico.
{ "source": ["aws.aidevops"], "detail": { "metadata": { "agent_space_id": ["your-agent-space-id"] } } }
Para obtener más información sobre los patrones de eventos, consulte los patrones de EventBridge eventos de Amazon en la Guía del EventBridge usuario de Amazon.
Recuperar un resumen de la investigación o la mitigación
Un Completed evento identifica el resumen que produjo el agente, pero no contiene el texto del resumen. El resumen se almacena como un registro diario. Para leerlo, llame a la ListJournalRecords operación con valores tomados del evento.
| Valor del evento | `ListJournalRecords` parámetro |
|---|---|
detail.metadata.agent_space_id |
agentSpaceId (obligatorio) |
detail.metadata.execution_id |
executionId (obligatorio) |
| No en el evento | recordType— úselo investigation_summary_md para un resumen de la investigación o mitigation_summary_md para un resumen de la mitigación |
ListJournalRecordsdevuelve una lista de JournalRecord objetos. Una ejecución puede tener más de un registro resumido del mismo tipo. Seleccione el registro que recordId coincida ydetail.data.summary_record_id, a continuación, léalocontent. AWS DevOps El agente no tiene ninguna operación que devuelva un único registro diario por ID.
Tenga en cuenta lo siguiente antes de continuarsummary_record_id:
El campo solo está presente cuando se escribió un acta resumida para la ejecución. Un
Completedevento sin él significa que no hay ningún resumen disponible para esa ejecución, por lo que debe gestionar su ausencia.FailedTimed Out, yCancelledlos eventos nunca lo incluyen.Para recuperar el resumen, necesitas el
aidevops:ListJournalRecordspermiso de la cuenta que administra tu consumidor de eventos.
Para obtener más información sobre los permisos, consulte DevOps Permisos de IAM del agente.
Recupera un resumen con la AWS CLI
El siguiente comando muestra los registros resumidos de la investigación de una ejecución:
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
Procesa una investigación finalizada en AWS Lambda
La siguiente función de Python muestra una forma en la que un objetivo de regla puede gestionar estos eventos. Se trata de un ejemplo, no de una implementación obligatoria. EventBridge admite otros tipos de objetivos, y tu objetivo decide qué hacer con un evento. En este ejemplo se lee el resumen de una investigación finalizada y se omite un evento que no contiene ningún resumen:
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}
detail-typeUtilícelo para decidir qué tipo de registro solicitar. Tanto los eventos de investigación como los de mitigación data.task_type se INVESTIGATION notifican como, por lo tanto, task_type no los distinguen.
EventBridge Permisos de Amazon
AWS DevOps El agente no necesita permisos adicionales para enviar eventos EventBridge. Los eventos se envían automáticamente al bus de eventos predeterminado.
En función de los objetivos que configure para sus EventBridge reglas, es posible que necesite agregar permisos específicos. Para obtener más información sobre los permisos necesarios para los objetivos, consulta la sección Uso de políticas basadas en recursos para Amazon EventBridge en la Guía del EventBridge usuario de Amazon.
Recursos adicionales EventBridge
Para obtener más información sobre EventBridge los conceptos y la configuración, consulte los siguientes temas en la Guía del EventBridge usuario de Amazon: