View a markdown version of this page

Integrar AWS DevOps Agente com a Amazon EventBridge - AWS DevOps Agente

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Integrar AWS DevOps Agente com a Amazon EventBridge

Você pode integrar o AWS DevOps Agent aos seus aplicativos orientados por eventos usando eventos que ocorrem durante os ciclos de vida de investigação e mitigação. AWS DevOps O agente envia eventos para a Amazon EventBridge quando o estado de uma investigação ou mitigação muda. Em seguida, você pode criar EventBridge regras que agem com base nesses eventos.

Por exemplo, você pode criar regras que executam as seguintes ações:

  • Invoque uma função do AWS Lambda para processar os resultados da investigação quando uma investigação for concluída.

  • Envie uma notificação do Amazon SNS quando uma investigação falhar ou expirar.

  • Atualize um sistema de emissão de tíquetes quando uma nova investigação for criada.

  • Inicie um fluxo de trabalho do AWS Step Functions quando uma ação de mitigação for concluída.

Como EventBridge percorrer AWS DevOps Eventos de agentes

AWS DevOps O agente envia eventos para o barramento de eventos EventBridge padrão. EventBridge em seguida, avalia os eventos em relação às regras que você cria. Quando um evento corresponde ao padrão de eventos de uma regra, EventBridge envia o evento para os alvos especificados.

O diagrama a seguir mostra como EventBridge roteia os eventos AWS DevOps do Agente.

A Amazon EventBridge roteia eventos da AWS origem por meio de regras para destinos, como AWS serviços.
  1. AWS DevOps O agente envia um evento para o barramento de eventos EventBridge padrão quando o estado do ciclo de vida de uma investigação ou mitigação muda.

  2. EventBridge avalia o evento em relação às regras que você criou.

  3. Se o evento corresponder ao padrão de eventos de uma regra, EventBridge enviará o evento para os alvos especificados na regra.

AWS DevOps Eventos de agentes

AWS DevOps O agente envia os seguintes eventos para EventBridge. Todos os eventos usam a fonteaws.aidevops.

AWS DevOps O agente emite esses eventos para investigações, incluindo a fase de mitigação de uma investigação. Outros tipos de trabalho do agente, como avaliações de prevenção de incidentes e invocações de agentes personalizados, não emitem esses eventos.

O time campo de cada evento é a hora em que a investigação ou mitigação foi atualizada pela última vez, não a hora em que EventBridge recebeu o evento. Um campo sem valor é omitido detail em vez de definido como. null

Eventos de investigação apoiados

detail-type Description
Investigation Created Uma investigação foi criada no espaço do agente.
Investigation Priority Updated A prioridade de uma investigação foi alterada.
Investigation In Progress Uma investigação iniciou uma análise ativa.
Investigation Completed Uma investigação foi concluída com sucesso com as descobertas.
Investigation Failed Uma investigação encontrou um erro e não pôde ser concluída.
Investigation Timed Out Uma investigação excedeu a duração máxima permitida.
Investigation Cancelled Uma investigação foi cancelada antes da conclusão.
Investigation Pending Triage Uma investigação está aguardando a triagem antes do início da análise ativa.
Investigation Linked Uma investigação foi vinculada a um incidente ou multa relacionada.
Investigation Skipped Uma investigação foi ignorada porque correspondia aos critérios de pulação definidos em uma habilidade. O evento não inclui o motivo pelo qual a investigação foi ignorada.

Eventos de mitigação suportados

detail-type Description
Mitigation In Progress Uma ação de mitigação foi iniciada.
Mitigation Completed Uma ação de mitigação foi concluída com êxito.
Mitigation Failed Uma ação de mitigação encontrou um erro e não pôde ser concluída.
Mitigation Timed Out Uma ação de mitigação excedeu a duração máxima permitida.
Mitigation Cancelled Uma ação de mitigação foi cancelada antes da conclusão.

Para obter descrições de campo detalhadas e exemplos de eventos, consulteAWS DevOps Referência detalhada de eventos do agente.

Criação de padrões de eventos que correspondam AWS DevOps Eventos de agentes

EventBridge as regras usam padrões de eventos para selecionar eventos e encaminhá-los para alvos. Um padrão de evento corresponde à estrutura dos eventos que ele manipula. Você cria padrões de eventos para filtrar os eventos do AWS DevOps agente com base nos campos do evento.

Os exemplos a seguir mostram padrões de eventos para casos de uso comuns.

Combine todos os eventos AWS DevOps do Agent

O padrão de eventos a seguir corresponde a todos os eventos do AWS DevOps Agente.

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

Combine somente eventos de investigação

O padrão de eventos a seguir usa uma correspondência de prefixo para selecionar somente eventos do ciclo de vida da investigação.

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

Combine somente eventos de conclusão e falha

O padrão de eventos a seguir combina eventos de investigações e mitigações concluídas ou fracassadas.

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

Combine eventos para um espaço de agente específico

O padrão de eventos a seguir corresponde a eventos de um espaço específico do agente.

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

Para obter mais informações sobre padrões de eventos, consulte Padrões de EventBridge eventos da Amazon no Guia EventBridge do usuário da Amazon.

Recuperando um resumo de investigação ou mitigação

Um Completed evento identifica o resumo que o agente produziu, mas não contém o texto do resumo. O resumo é armazenado como um registro de diário. Para lê-lo, chame a ListJournalRecords operação com valores retirados do evento.

Valor do evento parâmetro ListJournalRecords ``
detail.metadata.agent_space_id agentSpaceId(obrigatório)
detail.metadata.execution_id executionId(obrigatório)
Não no evento recordType— use investigation_summary_md para um resumo da investigação ou mitigation_summary_md para um resumo de mitigação

ListJournalRecordsretorna uma lista de JournalRecord objetos. Uma execução pode ter mais de um registro resumido do mesmo tipo. Selecione o registro cujas recordId correspondências edetail.data.summary_record_id, em seguida, leia seucontent. AWS DevOps O agente não tem nenhuma operação que retorne um único registro de diário por ID.

Observe o seguinte antes de começarsummary_record_id:

  • O campo está presente somente quando um registro resumido foi escrito para a execução. Um Completed evento sem ele significa que nenhum resumo está disponível para essa execução, portanto, você deve lidar com sua ausência.

  • Failed,Timed Out, e Cancelled os eventos nunca o incluem.

  • Para recuperar o resumo, você precisa da aidevops:ListJournalRecords permissão na conta que administra o consumidor do evento.

Para obter mais informações sobre permissões, consulte DevOps Permissões do agente IAM.

Recupere um resumo com a CLI AWS

O comando a seguir lista os registros resumidos da investigação para uma execução:

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

Processe uma investigação concluída no AWS Lambda

A função Python a seguir mostra uma maneira de um destino de regra lidar com esses eventos. É uma amostra, não uma implementação obrigatória. EventBridge suporta outros tipos de alvos, e seu alvo decide o que fazer com um evento. Este exemplo lê o resumo de uma investigação concluída e ignora um evento que não contém resumo:

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}

Use detail-type para decidir qual tipo de registro solicitar. Tanto os eventos de investigação quanto os de mitigação relatam data.task_type comoINVESTIGATION, portanto, task_type não os distinguem.

EventBridge Permissões da Amazon

AWS DevOps O agente não precisa de permissões adicionais para entregar eventos EventBridge a. Os eventos são enviados automaticamente para o barramento de eventos padrão.

Dependendo dos alvos que você configura para suas EventBridge regras, talvez seja necessário adicionar permissões específicas. Para obter mais informações sobre as permissões necessárias para destinos, consulte Usando políticas baseadas em recursos para a Amazon EventBridge no Guia do EventBridge usuário da Amazon.

EventBridge Recursos adicionais

Para obter mais informações sobre EventBridge conceitos e configuração, consulte os seguintes tópicos no Guia do EventBridge usuário da Amazon: