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.
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.
EventBridge valuta l'evento rispetto alle regole che hai creato.
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
Completedevento senza di esso significa che non è disponibile alcun riepilogo per tale esecuzione, pertanto è necessario gestirne l'assenza.FailedeTimed OutgliCancelledeventi 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: