

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

# Menelan alarm dari APM tanpa integrasi langsung dengan EventBridge
<a name="idr-gs-ingest-apm-webhooks"></a>

AWS Incident Detection and Response mendukung penggunaan webhook untuk menelan alarm dari APM pihak ketiga yang tidak memiliki integrasi langsung dengan Amazon. EventBridge

Anda dapat menerapkan CloudFormation template atau mengatur integrasi secara manual. Sebelum menyiapkan integrasi, verifikasi bahwa peran AWS terkait layanan (SLR)`AWSServiceRoleForHealth_EventProcessor`, [dibuat](https://docs.aws.amazon.com/IDR/latest/userguide/idr-gs-access-prov.html) di akun Anda.

## Opsi 1: Menggunakan CloudFormation Templat
<a name="idr-gs-apm-webhook-cfn"></a>

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

**Pertimbangan sebelum menyebarkan Template ini CloudFormation **
+ Solusi ini menggunakan API Gateway Lambda Authorizer untuk membandingkan token rahasia yang diteruskan dalam payload dari APM Anda dengan token di. AWS Secrets Manager Jika token tidak cocok, kebijakan dengan penolakan eksplisit akan dikembalikan. Untuk informasi selengkapnya, lihat [Lambda](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html) Authorizers.
+ Di bawah model Tanggung Jawab AWS Bersama, Anda bertanggung jawab untuk memastikan Anda menggunakan pendekatan otentikasi yang memenuhi persyaratan keamanan organisasi Anda. Sebaiknya gunakan AWS Secrets Manager atau layanan serupa, daripada menyimpan informasi sensitif seperti kunci API atau token otorisasi sebagai variabel hard-code. Untuk informasi selengkapnya, lihat [Membuat dan mengelola rahasia dengan AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html).
+ Untuk contoh tambahan penerapan Hash-Based Message Authentication Code (HMAC), lihat [receive-webhooks](https://github.com/aws-samples/webhooks/tree/main/receive-webhooks) di halaman Github aws-samples. Untuk informasi selengkapnya tentang penerapan otorisasi token, lihat [contoh fungsi Lambda otorisasi TOKEN](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html#api-gateway-lambda-authorizer-token-lambda-function-create) dari dokumentasi API Gateway.
+ Solusinya menggunakan **RateLimit**, **BurstLimit**, dan **Kuota** di API Gateway untuk mengontrol volume permintaan. Alat-alat ini membatasi berapa banyak permintaan yang dapat diproses dalam waktu yang ditentukan. Ini membantu mencegah kelebihan sistem dan menjaga layanan tetap stabil. Untuk informasi selengkapnya tentang pembatasan, lihat Panduan [Pengembang API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html).
+ Pertimbangkan untuk menggunakan AWS Web Application Firewall (WAF) untuk melindungi API Gateway dari alamat IP buruk yang diketahui. Ini mengurangi risiko penyerang membanjiri API dengan permintaan palsu yang dapat memblokir peristiwa log nyata.
+ AWS Secrets Manager nilai token harus disimpan dalam alat Application Performance Monitoring (APM) Anda sebagai header HTTP. Pastikan untuk memutar token secara teratur sebagai praktik terbaik keamanan.
+ 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](https://aws.amazon.com/pricing/).
+ Setelah menguji integrasi, hapus pernyataan logger.info () dari (fungsi `TransformLambdaFunction` Lambda) untuk mencegah payload muncul di Amazon Logs. CloudWatch 
+ Terapkan CloudFormation template ini di setiap AWS akun dan Wilayah tempat Deteksi dan Respons Insiden AWS perlu menyerap alarm.

**Mempersiapkan CloudFormation Template:**

**Catatan:** Langkah integrasi menggunakan Dynatrace sebagai contoh, namun template ini dapat digunakan untuk APM apa pun yang dapat mengirim muatan ke API Gateway.

1. Unduh dan buka [CloudFormation template](https://dcl74d3hc5lj1.cloudfront.net/apms/ThirdPartyApmWebhookIntegration.json).

1. Temukan `APIGWUsagePlan` di template. Tinjau nilai yang dikonfigurasi untuk `RateLimit``BurstLimit`,, dan `Quota Limit` yang diatur ke 20, 50 & 2000 secara default. Sesuaikan nilai untuk memenuhi kebutuhan Anda.

1. Temukan `AuthorizerLambdaFunction` di template. Fungsi Lambda ini berfungsi sebagai contoh mekanisme otentikasi. Ini mengekstrak nilai token dari header yang disebut`authorizationToken`, yang diteruskan dari APM Anda. Anda dapat mengubah kode ini agar selaras dengan kebijakan keamanan organisasi dan persyaratan APM.

1. Temukan `TransformLambdaFunction` di template. Ganti jalur kamus`raw_json["detail"]["ProblemTitle"]`,, dengan jalur ke nama alarm Anda yang dikirim dalam payload JSON dari APM Anda. Biarkan ini seperti untuk Dynatrace.

**Menyebarkan CloudFormation template:**

1. Buka CloudFormation konsol di akun target Anda dan Wilayah AWS.

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

1. Tentukan detail tumpukan:
   + Masukkan nama tumpukan (*contoh, `DynatraceIntegrationForIDR`*.)
   + APMNameParameter (*contoh, `Dynatrace`*.)
   + Pilih **Berikutnya**.

1. Konfigurasikan opsi tumpukan:
   + Gulir ke bagian bawah halaman dan centang kotak CloudFormation untuk memungkinkan membuat sumber daya IAM dengan nama khusus.

1. Tinjau dan buat:
   + Validasi nilai parameter dikonfigurasi dengan benar dan pilih Kirim.

1.  CloudFormation Tumpukan menyebarkan sumber daya yang diperlukan untuk mengintegrasikan peristiwa APM Anda ke Deteksi dan Respons Insiden AWS. Tunggu hingga Status CloudFormation Stack **CREATE\_COMPLETE**.

1.  CloudFormation Tumpukan membuat sumber daya di bawah ini dengan `Dynatrace` asumsi nilai contoh dimasukkan ke dalam parameter dan dieksekusi di US-EAST-1 Wilayah.
   + Nama rahasia: DynatraceMySecretTokenName (nilai Rahasia acak akan dibuat terhadap kunci Rahasia APMSecureToken)
   + Sumber daya API Gateway:
     + Nama API: Dynatrace-AWSIncidentDetectionResponse-APIGW
     + Nama Panggung: Dynatrace-Stage-Prod
     + Pengotorisasi: Dynatrace-APIGW-Authorizer
     + Paket penggunaan: APIGW\_ Throttling\_Plan
   + Fungsi Lambda:
     + Fungsi untuk otorisasi: Dynatrace-AWSIncidentDetectionResponse-Lambda-Authorizer
     + Fungsi untuk transformasi: Dynatrace-AWSIncidentDetectionResponse-Lambda-Transform
   +  EventBus Nama kustom: Dynatrace-AWSIncidentDetectionResponse-EventBus
   + Peran IAM:
     + TransformLambdaExecutionRole: IDR-TransformLambdaExecutionRole-us-east-1
     + AuthorizerLambdaExecutionRole: IDR-AuthorizerLambdaExecutionRole-us-east-1

1. Catat URL Webhook dan nilai Token:
   + Buka konsol API Gateway dan pilih Nama API yang dibuat sebagai bagian dari CloudFormation tumpukan.
   + Pilih Tahapan dari navigasi sebelah kiri, perluas nama panggung menggunakan tanda \+, lalu pilih POST. Rekam **URL Panggil**. Konfigurasikan URL ini di APM Anda sebagai tujuan untuk mengirim webhook untuk acara alarm.
   + Buka AWS Secrets Manager konsol dan pilih nama Rahasia yang dibuat sebagai bagian dari CloudFormation tumpukan. (*Contoh: DynatraceMySecretTokenName.* )
     + Di tab Nilai rahasia, pilih **Ambil nilai rahasia**. Anda akan melihat kunci Rahasia sebagai APMSecureToken. Catat nilai Rahasia. Jangan berbagi nilai rahasia ini dengan siapa pun.

**Pengujian integrasi**

Setelah menerapkan tumpukan, uji integrasi dengan mengirimkan payload pengujian dari APM Anda:

1. Arahkan ke Konsol Lambda dan pilih `APMNameParameter-AWSIncidentDetectionResponse-Lambda-Transform` fungsi. Pilih tab **Pantau**.

1. Cari pemanggilan yang berhasil dalam grafik metrik.

1. Pilih **Lihat CloudWatch Log Amazon** untuk memeriksa aliran Log untuk muatan pengujian Anda atau kesalahan apa pun.

**Berbagi ARN Bus Acara Anda ke Deteksi dan Respons Insiden AWS**

1. Buka EventBridge Konsol Amazon. Pilih bus acara.

1. Salin ARN dari **bus acara Kustom** yang dibuat sebagai bagian dari CloudFormation tumpukan, *contoh*:. `arn:aws:events:us-east-1:123456789123:event-bus/Dynatrace-AWSIncidentDetectionResponse-EventBus`
   + Tambahkan ARN ini ke bidang "EventBridge Event Bus ARN” di bagian "Third-Party Alarm APM” di bagian Anda. [Kuesioner konsumsi alarm - Ikhtisar](idr-gs-questionnaire.md#idr-gs-alarm-questionnaire)

1. 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
<a name="idr-gs-apm-webhook-manual"></a>

![Diagram yang menunjukkan contoh integrasi menggunakan API Gateway.](http://docs.aws.amazon.com/id_id/IDR/latest/userguide/images/example-int-api-gateway.png)


Gunakan langkah-langkah berikut untuk menyiapkan integrasi dengan AWS Incident Detection and Response.

1. Buat Amazon API Gateway untuk menerima payload dari APM Anda.

1. Tentukan fungsi Lambda untuk otorisasi menggunakan token otentikasi.

1. Lakukan salah satu hal berikut:
   + (Disarankan) Buat bus acara EventBridge khusus bernama`$YourApmName-AWSIncidentDetectionResponse-EventBus`.
   + (Alternatif) Gunakan bus EventBridge acara default alih-alih bus acara khusus.

1. Tentukan fungsi Transform Lambda untuk menambahkan AWS Incident Detection and Response identifier ke payload Anda. Anda juga dapat menggunakan fungsi ini untuk memfilter peristiwa yang ingin Anda kirim ke AWS Incident Detection and Response.
   + API Gateway harus menjalankan fungsi Transform Lambda yang akan mengubah payload yang diteruskan oleh API Gateway.
   + Fungsi Transform Lambda harus menulis peristiwa yang diubah dalam bus peristiwa yang ditentukan pada poin 3 di atas.

1. Siapkan APM Anda untuk mengirim notifikasi ke URL yang dihasilkan dari API Gateway.