View a markdown version of this page

Ingest Alarm dari APM dengan integrasi Amazon SNS langsung - Panduan Pengguna Deteksi dan Respons Insiden AWS

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

Ingest Alarm dari APM dengan integrasi Amazon SNS langsung

Jika APM mendukung pengiriman alarm ke topik Amazon SNS, Anda dapat mengikuti panduan ini untuk menyerap alarm APM Anda ke AWS Incident Detection and Response.

Anda dapat menerapkan CloudFormation template yang disediakan atau mengatur integrasi ini secara manual. Sebelum menyiapkan integrasi, verifikasi bahwa peran AWS terkait layanan (SLR)AWSServiceRoleForHealth_EventProcessor, dibuat di akun Anda.

Opsi 1: Menggunakan CloudFormation

CloudFormation Template tersedia untuk menyederhanakan proses pembuatan infrastruktur integrasi yang diperlukan untuk menyerap alarm ke AWS Incident Detection and Response dari APM Anda dengan integrasi Amazon SNS.

catatan
  • Biaya tambahan akan dikeluarkan untuk sumber daya yang digunakan melalui CloudFormation template ini (misalnya: Lambda dan). EventBridge Untuk informasi selengkapnya tentang harga layanan ini, lihat AWS Harga.

  • CloudFormation Template ini harus digunakan di setiap AWS akun dan Wilayah tempat alarm harus dicerna oleh AWS Incident Detection and Response.

  • Contoh yang diberikan dalam dokumen ini adalah untuk Grafana, namun template ini dapat digunakan untuk APM apa pun yang memiliki integrasi langsung dengan Amazon Simple Notification Service.

  • Untuk alasan keamanan, AWS sarankan untuk menghapus logger.info() pernyataan dari TransformLambdaFunction untuk mencegah payload masuk ke Amazon CloudWatch Logs.

Prasyarat untuk menerapkan template ini: CloudFormation

  • Topik Layanan Pemberitahuan Sederhana Amazon Standar harus dibuat untuk menerima peristiwa alarm dari APM Anda. Buat topik SNS di konsol Amazon Simple Notification Service.

  • TransformLambdaFunctionDalam template harus dimodifikasi untuk mengatur ["detail"]["incident-detection-response-identifier"] ke nilai yang diinginkan berdasarkan APM yang digunakan.

Penyelesaian prasyarat:

  1. Buka Amazon SNS Console, lalu pilih Topik. Salin ARN dari topik Standar Amazon SNS yang dibuat untuk menerima acara alarm dari APM Anda.

    • Contoh: arn:aws:sns:eu-west-1:012345678912:<your-apm-name>-sns

  2. Unduh dan buka CloudFormation template

    • Temukan TransformLambdaFunction di template

      • Di bawah def lambda_handler(event, context) disetel event["detail"]["incident-detection-response-identifier"] ke jalur json di mana nama alarm muncul di payload JSON dari catatan SNS.

        • Setiap peristiwa yang dikirim ke TransformLambdaFunction melalui SNS memiliki struktur muatan induk sebagai. event["Records"][n]["Sns"]["Message"] Asal muatan aktual dari sumber (APM) dibungkus di dalam struktur induk.

        • Contoh untuk Grafana: event["Records"][n]["Sns"]["Message"]["alerts"][n]["labels"]["alertname"]

Menyebarkan CloudFormation Template:

  1. Arahkan ke CloudFormation konsol di akun dan Wilayah tempat Anda perlu mengatur integrasi.

  2. Arahkan ke CloudFormation.

    • Pilih Buat tumpukan, Dengan sumber daya baru (standar)

      • Pilih Pilih templat yang ada, Unggah file templat, Pilih file, lalu unggah CloudFormation templat yang Anda simpan secara lokal.

  3. Tentukan detail tumpukan:

    • Masukkan contoh nama tumpukan: <your-apm-name>IntegrationForIDR

    • Tentukan nilai Parameter yang diperoleh selama penyelesaian Prasyarat

      • APMNameParameterContoh: Grafana

      • Contoh TriggersnSParameter: arn:aws:sns:eu-west-1:012345678912:<your-apm-name>-sns

    • Pilih Berikutnya.

  4. Konfigurasikan opsi tumpukan:

    • Gulir ke bagian bawah halaman dan akui kotak centang CloudFormation untuk memungkinkan membuat sumber daya IAM dengan nama khusus.

  5. Tinjau dan buat:

    • Validasi nilai parameter dikonfigurasi dengan benar, lalu pilih Kirim.

  6. CloudFormation Stack akan menerapkan sumber daya yang diperlukan untuk mengintegrasikan peristiwa APM Anda ke AWS Incident Detection and Response. Tunggu hingga Status CloudFormation Stack CREATE_COMPLETE.

  7. CloudFormation Tumpukan membuat sumber daya di bawah ini dengan asumsi nilai contoh dimasukkan ke dalam parameter untuk Grafana dan dieksekusi di EU-WEST-1 Wilayah.

    • CustomEventBus: Grafana-AWSIncidentDetectionResponse-EventBus

    • SNSSubscription: arn:aws:sns:eu-west- 1:012345678912: grafana-sns: [random_string]

    • TransformLambdaExecutionRole: IDR-TransformLambdaExecutionRole-eu-west-1

    • TransformLambdaFunction: Grafana-AWSIncidentDetectionResponse-Lambda-Transform

    • TransformLambdaPermission: GrafanaIntegrationForIDR-TransformLambdaPermission - [random_string]

Pengujian integrasi

Setelah CloudFormation tumpukan berhasil diterapkan, Anda dapat memvalidasi integrasi dengan mengirimkan payload pengujian dari APM Anda. Setelah payload tes dikirim dari APM Anda:

  1. Arahkan ke Konsol Lambda dan pilih fungsinya. APMNameParameter-AWSIncidentDetectionResponse-Lambda-Transform Kemudian, pilih tab Monitor.

  2. Doa yang berhasil harus diamati dalam grafik metrik.

  3. Pilih Lihat CloudWatch Log Amazon. Anda dapat memverifikasi dari peristiwa Log di aliran Log untuk mengonfirmasi bahwa muatan pengujian yang dikirim dari APM Anda ada, atau jika ada kesalahan yang ditemukan.

Berbagi ARN Bus Acara Anda ke Deteksi dan Respons Insiden AWS

  1. Arahkan ke EventBridge Konsol Amazon. Pilih bus acara.

  2. Rekam ARN dari bus peristiwa Kustom yang digunakan sebagai bagian dari CloudFormation tumpukan, misalnya:. arn:aws:events:eu-west-1:012345678912:event-bus/Grafana-AWSIncidentDetectionResponse-EventBus

    • Berikan ARN bus acara Kustom ini ke AWS Incident Detection and Response di bidang "EventBridge Event Bus ARN” pada bagian "Third-Party Alarm APM” pada. Kuesioner konsumsi alarm - Ikhtisar

  3. Selama proses orientasi, AWS Incident Detection and Response akan membuat EventBridge aturan Terkelola pada bus acara khusus ini untuk menyerap alarm APM Anda.

Opsi 2: Integrasi manual

Diagram yang menunjukkan contoh integrasi menggunakan Amazon SNS.
  1. Buka Konsol Amazon SNS dan buat topik Standar Amazon SNS yang [apm_name]-sns diberi nama untuk menerima peristiwa alarm dari APM Anda. Pastikan Anda memilih Standar (bukan FIFO) sebagai jenis topik. Perhatikan ARN dari topik Amazon SNS yang dibuat.

  2. Lakukan salah satu hal berikut:

    • (Disarankan) Buat bus acara EventBridge khusus bernama[apm_name]-AWSIncidentDetectionResponse-EventBus.

    • (Alternatif) Gunakan bus EventBridge acara default alih-alih bus acara khusus.

    AWS Incident Detection and Response akan menginstal aturan terkelola (AWSHealthEventProcessorEventSource-DO-NOT-DELETE) pada bus peristiwa kustom atau default melalui AWSServiceRoleForHealth_EventProcessor SLR. Sumber aturan akan menjadi bus peristiwa khusus atau default, tujuan aturan adalah AWS Incident Detection and Response, dan aturan akan cocok dengan pola untuk menelan peristiwa APM pihak ke-3.

  3. Buat fungsi Lambda bernama $YourApmName-AWSIncidentDetectionResponse-LambdaFunction untuk mengubah muatan SNS Anda.

  4. Tetapkan topik SNS sebagai pemicu fungsi $YourApmName-AWSIncidentDetectionResponse-LambdaFunction Lambda Anda.

    • Di halaman “Tambahkan Pemicu”, cari “SNS”.

    • Tambahkan ARN Topik SNS khusus Anda yang dibuat di Langkah 1.

    • Pilih “Tambah”.

  5. Ikuti dokumentasi APM Anda untuk menyiapkan tujuan SNS untuk muatan APM Anda yang perlu dicerna oleh AWS Incident Detection and Response.

AWS Incident Detection and Response akan menginstal aturan terkelola (AWSHealthEventProcessorEventSource-DO-NOT-DELETE) pada bus peristiwa kustom atau default melalui AWSServiceRoleForHealth_EventProcessor SLR. Sumber aturan akan menjadi bus peristiwa khusus atau default, tujuan aturan adalah AWS Incident Detection and Response, dan aturan akan cocok dengan pola untuk menelan peristiwa APM pihak ke-3.