View a markdown version of this page

Mengintegrasikan AWS DevOps Agen dengan Amazon EventBridge - AWS DevOps Agen

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengintegrasikan AWS DevOps Agen dengan Amazon EventBridge

Anda dapat mengintegrasikan AWS DevOps Agen dengan aplikasi berbasis peristiwa dengan menggunakan peristiwa yang terjadi selama siklus hidup investigasi dan mitigasi. AWS DevOps Agen mengirimkan acara ke Amazon EventBridge ketika keadaan penyelidikan atau mitigasi berubah. Anda kemudian dapat membuat EventBridge aturan yang mengambil tindakan berdasarkan peristiwa ini.

Misalnya, Anda dapat membuat aturan yang melakukan tindakan berikut:

  • Memanggil fungsi AWS Lambda untuk memproses hasil investigasi ketika penyelidikan selesai.

  • Kirim pemberitahuan Amazon SNS saat penyelidikan gagal atau waktu habis.

  • Perbarui sistem tiket saat penyelidikan baru dibuat.

  • Mulai alur kerja Fungsi AWS Langkah saat tindakan mitigasi selesai.

Bagaimana EventBridge rute AWS DevOps Acara agen

AWS DevOps Agen mengirimkan peristiwa ke bus acara EventBridge default. EventBridge kemudian mengevaluasi peristiwa terhadap aturan yang Anda buat. Ketika suatu peristiwa cocok dengan pola peristiwa aturan, EventBridge mengirimkan peristiwa ke target yang ditentukan.

Diagram berikut menunjukkan bagaimana merut EventBridge ekan peristiwa AWS DevOps Agen.

Amazon EventBridge merutekan peristiwa dari AWS sumber melalui aturan ke target seperti AWS layanan.
  1. AWS DevOps Agen mengirimkan peristiwa ke bus EventBridge peristiwa default saat status siklus hidup investigasi atau mitigasi berubah.

  2. EventBridge mengevaluasi acara terhadap aturan yang Anda buat.

  3. Jika acara cocok dengan pola peristiwa aturan, EventBridge mengirimkan peristiwa ke target yang ditentukan dalam aturan.

AWS DevOps Acara agen

AWS DevOps Agen mengirimkan acara berikut ke EventBridge. Semua peristiwa menggunakan sumbernyaaws.aidevops.

AWS DevOps Agen memancarkan peristiwa ini untuk penyelidikan, termasuk fase mitigasi penyelidikan. Jenis pekerjaan agen lainnya, seperti evaluasi pencegahan insiden dan pemanggilan agen khusus, tidak memancarkan peristiwa ini.

Bid time ang setiap peristiwa adalah waktu penyelidikan atau mitigasi terakhir diperbarui, bukan waktu yang EventBridge menerima peristiwa tersebut. Bidang tanpa nilai dihilangkan dari alih-alih detail disetel kenull.

Acara investigasi yang didukung

jenis-detail Deskripsi
Investigation Created Investigasi dibuat di ruang agen.
Investigation Priority Updated Prioritas penyelidikan diubah.
Investigation In Progress Investigasi memulai analisis aktif.
Investigation Completed Investigasi selesai dengan sukses dengan temuan.
Investigation Failed Investigasi menemukan kesalahan dan tidak dapat diselesaikan.
Investigation Timed Out Investigasi melebihi durasi maksimum yang diizinkan.
Investigation Cancelled Investigasi dibatalkan sebelum selesai.
Investigation Pending Triage Investigasi sedang menunggu triase sebelum analisis aktif dimulai.
Investigation Linked Investigasi terkait dengan insiden atau tiket terkait.
Investigation Skipped Investigasi dilewati karena cocok dengan kriteria lompatan yang ditentukan dalam keterampilan. Acara tersebut tidak termasuk alasan bahwa penyelidikan dilewati.

Acara mitigasi yang didukung

jenis-detail Deskripsi
Mitigation In Progress Tindakan mitigasi dimulai.
Mitigation Completed Tindakan mitigasi selesai dengan sukses.
Mitigation Failed Tindakan mitigasi mengalami kesalahan dan tidak dapat diselesaikan.
Mitigation Timed Out Tindakan mitigasi melebihi durasi maksimum yang diizinkan.
Mitigation Cancelled Tindakan mitigasi dibatalkan sebelum selesai.

Untuk deskripsi bidang terperinci dan contoh peristiwa, lihatAWS DevOps Referensi detail acara agen.

Membuat pola acara yang cocok AWS DevOps Acara agen

EventBridge aturan menggunakan pola peristiwa untuk memilih acara dan mengarahkannya ke target. Pola peristiwa cocok dengan struktur peristiwa yang ditangani. Anda membuat pola acara untuk memfilter peristiwa AWS DevOps Agen berdasarkan bidang acara.

Contoh berikut menunjukkan pola peristiwa untuk kasus penggunaan umum.

Cocokkan semua acara AWS DevOps Agen

Pola acara berikut cocok dengan semua acara dari AWS DevOps Agen.

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

Cocokkan acara investigasi saja

Pola peristiwa berikut menggunakan pencocokan awalan untuk memilih hanya peristiwa siklus hidup investigasi.

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

Hanya mencocokkan peristiwa penyelesaian dan kegagalan

Pola peristiwa berikut cocok dengan peristiwa untuk investigasi dan mitigasi yang selesai atau gagal.

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

Mencocokkan acara untuk ruang agen tertentu

Pola peristiwa berikut cocok dengan peristiwa dari ruang agen tertentu.

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

Untuk informasi selengkapnya tentang pola peristiwa, lihat pola EventBridge peristiwa Amazon di Panduan EventBridge Pengguna Amazon.

Mengambil ringkasan investigasi atau mitigasi

Per Completed istiwa mengidentifikasi ringkasan yang dihasilkan agen, tetapi tidak berisi teks ringkasan. Ringkasan disimpan sebagai catatan jurnal. Untuk membacanya, panggil ListJournalRecords operasi dengan nilai yang diambil dari acara.

Nilai dari acara `ListJournalRecords` parameter
detail.metadata.agent_space_id agentSpaceId(diperlukan)
detail.metadata.execution_id executionId(diperlukan)
Tidak dalam acara recordType— digunakan investigation_summary_md untuk ringkasan investigasi, atau mitigation_summary_md untuk ringkasan mitigasi

ListJournalRecordsmengembalikan daftar JournalRecord objek. Eksekusi dapat memiliki lebih dari satu catatan ringkasan dari jenis yang sama. Pilih rekaman yang recordId cocokdetail.data.summary_record_id, lalu baca nyacontent. AWS DevOps Agen tidak memiliki operasi yang mengembalikan catatan jurnal tunggal berdasarkan ID.

Perhatikan hal-hal berikut sebelum Anda membangunsummary_record_id:

  • Bidang hanya ada ketika catatan ringkasan ditulis untuk eksekusi. Per Completed istiwa tanpa itu berarti tidak ada ringkasan yang tersedia untuk eksekusi itu, jadi Anda harus menangani ketidakhadirannya.

  • Failed,Timed Out, dan Cancelled acara tidak pernah memasukkannya.

  • Untuk mengambil ringkasan, Anda memerlukan aidevops:ListJournalRecords izin di akun yang menjalankan konsumen acara Anda.

Untuk informasi selengkapnya tentang izin, lihat DevOps Izin IAM agen.

Ambil ringkasan dengan AWS CLI

Perintah berikut mencantumkan catatan ringkasan investigasi untuk eksekusi:

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

Memproses penyelidikan yang selesai di AWS Lambda

Fungsi Python berikut menunjukkan satu cara bagi target aturan untuk menangani peristiwa ini. Ini adalah sampel, bukan implementasi yang diperlukan. EventBridge mendukung jenis target lainnya, dan target Anda memutuskan apa yang harus dilakukan dengan suatu acara. Contoh ini membaca ringkasan untuk penyelidikan yang telah selesai, dan mengabaikan peristiwa yang tidak mengandung ringkasan:

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}

Gunakan detail-type untuk memutuskan jenis rekaman yang akan diminta. Baik peristiwa investigasi maupun mitigasi dilaporkan data.task_type sebagaiINVESTIGATION, sehingga task_type tidak membedakannya.

EventBridge Izin Amazon

AWS DevOps Agen tidak memerlukan izin tambahan untuk mengirimkan acara ke EventBridge. Peristiwa dikirim ke bus acara default secara otomatis.

Bergantung pada target yang Anda konfigurasikan untuk EventBridge aturan, Anda mungkin perlu menambahkan izin tertentu. Untuk informasi selengkapnya tentang izin yang diperlukan untuk target, lihat Menggunakan kebijakan berbasis sumber daya untuk Amazon EventBridge di Panduan EventBridge Pengguna Amazon.

Sumber EventBridge daya tambahan

Untuk informasi selengkap EventBridge nya tentang konsep dan konfigurasi, lihat topik berikut di Panduan EventBridge Pengguna Amazon: