

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

# Inserisci allarmi dagli APM senza integrazione diretta con EventBridge
<a name="idr-gs-ingest-apm-webhooks"></a>

AWS Incident Detection and Response supporta l'utilizzo di webhook per l'inserimento di allarmi da APM di terze parti che non hanno un'integrazione diretta con Amazon. EventBridge

Puoi distribuire un CloudFormation modello o configurare manualmente l'integrazione. Prima di configurare l'integrazione, verifica che il ruolo AWS collegato al servizio (SLR) sia [stato creato](https://docs.aws.amazon.com/IDR/latest/userguide/idr-gs-access-prov.html) nei `AWSServiceRoleForHealth_EventProcessor` tuoi account.

## Opzione 1: Utilizzo CloudFormation Modello
<a name="idr-gs-apm-webhook-cfn"></a>

È disponibile un CloudFormation modello per semplificare il processo di creazione dell'infrastruttura di integrazione necessaria per importare allarmi in AWS Incident Detection and Response dal tuo APM che non dispone dell'integrazione diretta con Amazon. EventBridge

**Considerazioni prima di distribuire questo modello CloudFormation **
+ Questa soluzione utilizza un API Gateway Lambda Authorizer per confrontare un token segreto passato nel payload dall'APM con un token in ingresso. Gestione dei segreti AWS Se il token non corrisponde, verrà restituita una policy con un rifiuto esplicito. Per ulteriori informazioni, consulta [Autorizzatori Lambda](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html).
+ Nell'ambito del modello di responsabilità AWS condivisa, è tua responsabilità assicurarti di utilizzare un approccio di autenticazione che soddisfi i requisiti di sicurezza della tua organizzazione. Ti consigliamo di utilizzare Gestione dei segreti AWS un servizio simile, invece di archiviare informazioni sensibili come chiavi API o token di autorizzazione come variabili codificate. Per ulteriori informazioni, consulta [Creazione e gestione di segreti con Gestione dei segreti AWS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html).
+ Per un ulteriore esempio di implementazione del Hash-Based Message Authentication Code (HMAC), consulta [receive-webhooks](https://github.com/aws-samples/webhooks/tree/main/receive-webhooks) nella pagina Github di aws-samples. Per ulteriori informazioni sull'implementazione dell'autorizzazione tramite token, consulta l'[esempio della funzione Lambda dell'autorizzazione TOKEN](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html#api-gateway-lambda-authorizer-token-lambda-function-create) dalla documentazione di API Gateway.
+ La soluzione utilizza **RateLimit**BurstLimit****, e **Quota** in API Gateway per controllare i volumi delle richieste. Questi strumenti limitano il numero di richieste che possono essere elaborate in un determinato periodo di tempo. Questo aiuta a prevenire il sovraccarico del sistema e mantiene stabile il servizio. Per ulteriori informazioni sulla limitazione, consulta l'[API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html).
+ Prendi in considerazione l'utilizzo di AWS Web Application Firewall (WAF) per proteggere l'API Gateway da noti indirizzi IP errati. Ciò riduce il rischio che gli aggressori inondino l'API con richieste false che potrebbero bloccare eventi di registro reali.
+ Gestione dei segreti AWS i valori dei token devono essere archiviati nello strumento Apm (Application Performance Monitoring) come intestazione HTTP. Assicurati di ruotare il token regolarmente come best practice di sicurezza.
+ Verranno sostenuti costi aggiuntivi per le risorse distribuite tramite questo CloudFormation modello (ad esempio: Lambda e). EventBridge [Per ulteriori informazioni sui prezzi di questi servizi, consulta la sezione Prezzi.AWS](https://aws.amazon.com/pricing/)
+ Dopo aver testato l'integrazione, rimuovi le istruzioni logger.info () dalla (funzione `TransformLambdaFunction` Lambda) per evitare che i payload vengano visualizzati in Amazon Logs. CloudWatch 
+ Implementa questo CloudFormation modello in ogni AWS account e regione da cui AWS Incident Detection and Response deve importare allarmi.

**Preparazione del modello: CloudFormation **

**Nota:** le fasi di integrazione utilizzano Dynatrace come esempio, tuttavia questo modello può essere utilizzato per qualsiasi APM in grado di inviare payload a un API Gateway.

1. [Scarica e apri il modello.CloudFormation](https://dcl74d3hc5lj1.cloudfront.net/apms/ThirdPartyApmWebhookIntegration.json)

1. `APIGWUsagePlan`Individua nel modello. Rivedi i valori configurati per `RateLimit``BurstLimit`, e `Quota Limit` che sono impostati su 20, 50 e 2000 per impostazione predefinita. Modifica i valori per soddisfare le tue esigenze.

1. `AuthorizerLambdaFunction`Individua nel modello. Questa funzione Lambda funge da esempio di meccanismo di autenticazione. Estrae un valore token da un'intestazione chiamata`authorizationToken`, che viene passata dall'APM. Puoi modificare questo codice per allinearlo alle politiche di sicurezza e ai requisiti APM della tua organizzazione.

1. Individualo `TransformLambdaFunction` nel modello. Sostituisci il percorso del dizionario con il percorso del nome dell'allarme inviato nel payload JSON dal tuo APM. `raw_json["detail"]["ProblemTitle"]` Lascialo così com'è per Dynatrace.

**Distribuzione del modello: CloudFormation **

1. Apri la CloudFormation console nel tuo account di destinazione e Regione AWS.

1. Scegli **Crea stack, Con nuove risorse (standard).**
   + Seleziona **Scegli un modello esistente**, **Carica un file modello, **Scegli file****, quindi carica il CloudFormation modello che hai salvato localmente.

1. Specificate i dettagli dello stack:
   + Immettete il nome di uno stack (*esempio, `DynatraceIntegrationForIDR`*.)
   + APMNameParameter (*esempio, `Dynatrace`*.)
   + Scegli **Next (Successivo)**.

1. Configura le opzioni dello stack:
   + Scorri fino alla fine della pagina e seleziona la casella per consentire la creazione CloudFormation di risorse IAM con nomi personalizzati.

1. Revisione e creazione:
   + Verifica che i valori dei parametri siano configurati correttamente e scegli Invia.

1. Lo CloudFormation stack distribuisce le risorse necessarie per integrare gli eventi APM in AWS Incident Detection and Response. **Attendi che lo stato dello CloudFormation stack sia CREATE\_COMPLETE.**

1. Lo CloudFormation stack crea le seguenti risorse presupponendo che il valore di esempio sia `Dynatrace` stato inserito nei parametri ed eseguito nella regione. US-EAST-1 
   + Nome segreto: DynatraceMySecretTokenName (verrà creato un valore segreto casuale rispetto alla chiave segreta) APMSecureToken
   + Risorse API Gateway:
     + Nome API: Dynatrace-AWSIncidentDetectionResponse-APIGW
     + Nome fase: Dynatrace-Stage-Prod
     + Autorizzatori: Dynatrace-APIGW-Authorizer
     + Piano di utilizzo: APIGW\_ Throttling\_Plan
   + Funzioni Lambda:
     + Funzione di autorizzazione: Dynatrace-AWSIncidentDetectionResponse-Lambda-Authorizer
     + Funzione di trasformazione: Dynatrace-AWSIncidentDetectionResponse-Lambda-Transform
   +  EventBus Nome personalizzato: Dynatrace-AWSIncidentDetectionResponse-EventBus
   + Ruolo IAM:
     + TransformLambdaExecutionRole: IDR-TransformLambdaExecutionRole-us-east-1
     + AuthorizerLambdaExecutionRole: IDR-AuthorizerLambdaExecutionRole-us-east-1

1. Registra l'URL del Webhook e il valore del token:
   + Apri la console API Gateway e scegli il nome API creato come parte dello CloudFormation stack.
   + Scegli Stages dalla barra di navigazione a sinistra, espandi il nome dello stage usando il segno \+, quindi scegli POST. Registra l'URL di **Invoke**. Configura questo URL nel tuo APM come destinazione per inviare webhook per eventi di allarme.
   + Apri la Gestione dei segreti AWS console e scegli il nome segreto creato come parte dello stack. CloudFormation (*Esempio: DynatraceMySecretTokenName*. )
     + Nella scheda Valore segreto, scegli **Recupera valore segreto**. Vedrai la chiave segreta come APMSecureToken. Registra il valore segreto. Non condividere questo valore segreto con nessuno.

**Test di integrazione**

Dopo aver distribuito lo stack, verifica l'integrazione inviando un payload di test dal tuo APM:

1. Vai alla console Lambda e seleziona `APMNameParameter-AWSIncidentDetectionResponse-Lambda-Transform` la funzione. Selezionare la scheda **Monitor (Monitora)**.

1. Cerca un'invocazione riuscita nei grafici metrici.

1. Scegli **Visualizza Amazon CloudWatch Logs** per verificare la presenza di eventuali errori nei flussi di log del payload di test.

**Condivisione dell'ARN dell'Event Bus con AWS Incident Detection and Response**

1. Apri la EventBridge console Amazon. Seleziona Event bus.

1. *Copia l'ARN del **bus di eventi personalizzato** creato come parte dello CloudFormation stack, esempio:. `arn:aws:events:us-east-1:123456789123:event-bus/Dynatrace-AWSIncidentDetectionResponse-EventBus`*
   + Aggiungi questo ARN al campo "EventBridge Event Bus ARN» nella sezione "Third-Party APM Alarms» del tuo. [Questionario sull'ingestione degli allarmi - Panoramica](idr-gs-questionnaire.md#idr-gs-alarm-questionnaire)

1. Durante il processo di onboarding, AWS Incident Detection and Response creerà una EventBridge regola gestita su questo bus di eventi personalizzato per inserire gli allarmi APM.

## Opzione 2: integrazione manuale
<a name="idr-gs-apm-webhook-manual"></a>

![Diagramma che mostra un esempio di integrazione con API Gateway.](http://docs.aws.amazon.com/it_it/IDR/latest/userguide/images/example-int-api-gateway.png)


Utilizza i seguenti passaggi per configurare l'integrazione con AWS Incident Detection and Response.

1. Crea un Amazon API Gateway per accettare il payload dal tuo APM.

1. Definisci una funzione Lambda per l'autorizzazione utilizzando un token di autenticazione.

1. Effettua una delle seguenti operazioni:
   + (Consigliato) Crea un bus di eventi EventBridge personalizzato denominato`$YourApmName-AWSIncidentDetectionResponse-EventBus`.
   + (Alternativa) Utilizzate il bus EventBridge eventi predefinito anziché un bus eventi personalizzato.

1. Definisci una funzione Transform Lambda per aggiungere l'identificatore AWS Incident Detection and Response al tuo payload. Puoi anche utilizzare questa funzione per filtrare gli eventi che desideri inviare ad AWS Incident Detection and Response.
   + L'API Gateway deve richiamare la funzione Transform Lambda che trasformerà il payload passato dall'API Gateway.
   + La funzione Transform Lambda deve scrivere eventi trasformati nel bus degli eventi definito al precedente punto 3.

1. Configura il tuo APM per inviare notifiche all'URL generato dall'API Gateway.