View a markdown version of this page

Integrazione AWS DevOps Agente con Amazon EventBridge - AWS DevOps Agente

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à.

Integrazione AWS DevOps Agente con Amazon EventBridge

Puoi integrare AWS DevOps Agent con le tue applicazioni basate sugli eventi utilizzando gli eventi che si verificano durante i cicli di vita delle indagini e delle mitigazioni. AWS DevOps L'agente invia eventi ad Amazon EventBridge quando lo stato di un'indagine o di una mitigazione cambia. È quindi possibile creare EventBridge regole che agiscano in base a questi eventi.

Ad esempio, puoi creare regole che eseguono le seguenti azioni:

  • Richiama una funzione AWS Lambda per elaborare i risultati dell'indagine al termine di un'indagine.

  • Invia una notifica Amazon SNS quando un'indagine fallisce o scade.

  • Aggiorna un sistema di ticketing quando viene creata una nuova indagine.

  • Avvia un flusso di lavoro AWS Step Functions al termine di un'azione di mitigazione.

Come sono i percorsi EventBridge AWS DevOps Eventi per agenti

AWS DevOps L'agente invia gli eventi al bus di eventi EventBridge predefinito. EventBridge quindi valuta gli eventi rispetto alle regole create dall'utente. Quando un evento corrisponde al modello di eventi di una regola, EventBridge invia l'evento alle destinazioni specificate.

Il diagramma seguente mostra come EventBridge instrada gli eventi AWS DevOps dell'agente.

Amazon EventBridge instrada gli eventi dall' AWS origine tramite regole a destinazioni come AWS i servizi.
  1. AWS DevOps L'agente invia un evento al bus degli eventi EventBridge predefinito quando lo stato del ciclo di vita di un'indagine o di una mitigazione cambia.

  2. EventBridge valuta l'evento rispetto alle regole che hai creato.

  3. Se l'evento corrisponde al modello di evento di una regola, EventBridge invia l'evento alle destinazioni specificate nella regola.

AWS DevOps Eventi relativi agli agenti

AWS DevOps L'agente invia i seguenti eventi a EventBridge. Tutti gli eventi utilizzano la fonteaws.aidevops.

AWS DevOps L'agente emette questi eventi per le indagini, inclusa la fase di mitigazione di un'indagine. Altri tipi di attività degli agenti, come le valutazioni di prevenzione degli incidenti e le chiamate personalizzate agli agenti, non generano questi eventi.

Il time campo di ogni evento è l'ora dell'ultimo aggiornamento dell'indagine o della mitigazione, non l'ora in cui l'evento è stato ricevuto. EventBridge Un campo senza valore viene omesso detail anziché impostato su. null

Eventi di indagine supportati

detail-type (tipo di dettaglio) Description
Investigation Created È stata creata un'indagine nello spazio degli agenti.
Investigation Priority Updated La priorità di un'indagine è stata modificata.
Investigation In Progress Un'indagine ha avviato un'analisi attiva.
Investigation Completed Un'indagine si è conclusa con successo con risultati.
Investigation Failed L'indagine ha rilevato un errore e non è stata completata.
Investigation Timed Out Un'indagine ha superato la durata massima consentita.
Investigation Cancelled Un'indagine è stata annullata prima del completamento.
Investigation Pending Triage Un'indagine è in attesa di valutazione prima dell'inizio dell'analisi attiva.
Investigation Linked Un'indagine era collegata a un incidente o a un ticket correlato.
Investigation Skipped Un'indagine è stata ignorata perché rispondeva ai criteri di ignoramento definiti in una competenza. L'evento non include il motivo per cui l'indagine è stata ignorata.

Eventi di mitigazione supportati

detail-type (tipo di dettaglio) Description
Mitigation In Progress È iniziata un'azione di mitigazione.
Mitigation Completed Un'azione di mitigazione è stata completata con successo.
Mitigation Failed Un'azione di mitigazione ha rilevato un errore e non è stata completata.
Mitigation Timed Out Un'azione di mitigazione ha superato la durata massima consentita.
Mitigation Cancelled Un'azione di mitigazione è stata annullata prima del completamento.

Per descrizioni dettagliate dei campi ed esempi di eventi, vedere. AWS DevOps Riferimento dettagliato sugli eventi degli agenti

Creazione di modelli di eventi che corrispondano AWS DevOps Eventi per agenti

EventBridge le regole utilizzano modelli di eventi per selezionare gli eventi e indirizzarli agli obiettivi. Un pattern di eventi corrisponde alla struttura degli eventi che gestisce. È possibile creare modelli di eventi per filtrare gli eventi AWS DevOps dell'agente in base ai campi degli eventi.

Gli esempi seguenti mostrano i modelli di eventi per i casi d'uso più comuni.

Corrisponde a tutti gli eventi AWS DevOps dell'agente

Il seguente schema di eventi corrisponde a tutti gli eventi di AWS DevOps Agent.

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

Abbina solo gli eventi di indagine

Il seguente schema di eventi utilizza una corrispondenza del prefisso per selezionare solo gli eventi del ciclo di vita dell'indagine.

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

Abbina solo gli eventi di completamento e di fallimento

Il seguente schema di eventi corrisponde agli eventi relativi alle indagini e alle mitigazioni completate o non riuscite.

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

Abbina gli eventi per uno spazio di agenti specifico

Il seguente schema di eventi corrisponde agli eventi provenienti da uno spazio agente specifico.

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

Per ulteriori informazioni sui modelli di eventi, consulta Amazon EventBridge event pattern nella Amazon EventBridge User Guide.

Recupero di un riepilogo dell'indagine o della mitigazione

Un Completed evento identifica il riepilogo prodotto dall'agente, ma non contiene il testo di riepilogo. Il riepilogo viene archiviato come record del diario. Per leggerlo, chiama l'ListJournalRecordsoperazione con i valori presi dall'evento.

Valore dell'evento Parametro ListJournalRecords ``
detail.metadata.agent_space_id agentSpaceId (obbligatorio)
detail.metadata.execution_id executionId (obbligatorio)
Non nel caso recordType— da utilizzare investigation_summary_md per un riepilogo dell'indagine o mitigation_summary_md per un riepilogo della mitigazione

ListJournalRecordsrestituisce un elenco di JournalRecord oggetti. Un'esecuzione può avere più di un record di riepilogo dello stesso tipo. Seleziona il record che recordId corrispondedetail.data.summary_record_id, quindi leggilocontent. AWS DevOps L'agente non ha alcuna operazione che restituisca un singolo record del diario per ID.

Nota quanto segue prima di procedere consummary_record_id:

  • Il campo è presente solo quando è stato scritto un record di riepilogo per l'esecuzione. Un Completed evento senza di esso significa che non è disponibile alcun riepilogo per tale esecuzione, pertanto è necessario gestirne l'assenza.

  • Failede Timed Out gli Cancelled eventi non lo includono mai.

  • Per recuperare il riepilogo, è necessaria l'aidevops:ListJournalRecordsautorizzazione nell'account che gestisce il consumatore dell'evento.

Per ulteriori informazioni sulle autorizzazioni, consultare DevOps Autorizzazioni IAM dell'agente.

Recupera un riepilogo con la CLI AWS

Il comando seguente elenca i record di riepilogo dell'indagine per un'esecuzione:

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

Elabora un'indagine completata in AWS Lambda

La seguente funzione Python mostra un modo in cui un target di regole può gestire questi eventi. È un esempio, non un'implementazione obbligatoria. EventBridge supporta altri tipi di target e il target decide cosa fare con un evento. Questo esempio legge il riepilogo di un'indagine completata e ignora un evento che non contiene alcun riepilogo:

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-typeUsalo per decidere quale tipo di record richiedere. Sia gli eventi di indagine che quelli di mitigazione vengono riportati data.task_type comeINVESTIGATION, quindi task_type non li distingue.

Autorizzazioni Amazon EventBridge

AWS DevOps L'agente non richiede autorizzazioni aggiuntive per la distribuzione degli eventi. EventBridge Gli eventi vengono inviati automaticamente al bus degli eventi predefinito.

A seconda degli obiettivi configurati per le EventBridge regole, potrebbe essere necessario aggiungere autorizzazioni specifiche. Per ulteriori informazioni sulle autorizzazioni richieste per gli obiettivi, consulta Using resource-based policy for Amazon EventBridge nella Amazon User Guide. EventBridge

Risorse aggiuntive EventBridge

Per ulteriori informazioni sui EventBridge concetti e sulla configurazione, consulta i seguenti argomenti nella Amazon EventBridge User Guide: