View a markdown version of this page

Inserisci allarmi dagli APM senza integrazione diretta con EventBridge - Guida per l'utente AWS Incident Detection and Response

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

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 nei AWSServiceRoleForHealth_EventProcessor tuoi account.

Opzione 1: Utilizzo CloudFormation Modello

È disponibile un CloudFormation modello per semplificare il processo di creazione dell'infrastruttura di integrazione necessaria per inserire gli 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. AWS Secrets Manager Se il token non corrisponde, verrà restituita una policy con un rifiuto esplicito. Per ulteriori informazioni, consulta Lambda Authorizers.

  • Secondo il 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 AWS Secrets Manager o 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 AWS Secrets Manager.

  • Per un ulteriore esempio di implementazione del Hash-Based Message Authentication Code (HMAC), vedi receive-webhooks nella pagina Github di aws-samples. Per ulteriori informazioni sull'implementazione dell'autorizzazione tramite token, vedi l'esempio della funzione Lambda TOKEN authorizer nella 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 tempo prestabilito. Questo aiuta a prevenire il sovraccarico del sistema e mantiene stabile il servizio. Per ulteriori informazioni sulla limitazione, consulta la API Gateway Developer Guide.

  • Prendi in considerazione l'utilizzo di AWS Web Application Firewall (WAF) per proteggere l'API Gateway da indirizzi IP errati noti. Ciò riduce il rischio che gli aggressori invadano l'API con richieste false che potrebbero bloccare eventi di log reali.

  • AWS Secrets Manager i valori dei token devono essere archiviati nello strumento Application Performance Monitoring (APM) come intestazione HTTP. Assicurati di ruotare il token regolarmente come best practice di sicurezza.

  • Saranno 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 Prezzi. AWS

  • Dopo aver testato l'integrazione, rimuovi le istruzioni logger.info () dalla TransformLambdaFunction (funzione Lambda) per evitare che i payload vengano visualizzati in Amazon Logs. CloudWatch

  • Distribuisci questo CloudFormation modello in ogni AWS account e regione da cui AWS Incident Detection and Response deve ricevere gli allarmi.

Preparazione del modello: CloudFormation

Nota: i passaggi 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

  2. APIGWUsagePlanIndividua nel modello. Rivedi i valori configurati per RateLimitBurstLimit, e Quota Limit che sono impostati su 20, 50 e 2000 per impostazione predefinita. Modifica i valori per soddisfare le tue esigenze.

  3. AuthorizerLambdaFunctionIndividua nel modello. Questa funzione Lambda funge da esempio di meccanismo di autenticazione. Estrae il valore di un token da un'intestazione chiamataauthorizationToken, che viene passata dall'APM. Puoi modificare questo codice per allinearlo alle politiche di sicurezza e ai requisiti APM della tua organizzazione.

  4. Individuali TransformLambdaFunction nel modello. Sostituisci il percorso del dizionario con il percorso del nome dell'allarme inviato nel payload JSON dall'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.

  2. Scegli Crea stack, con nuove risorse (standard).

    • Seleziona Scegli un modello esistente, Carica un file modello, Scegli file, quindi carica il CloudFormation modello salvato localmente.

  3. Specifica i dettagli dello stack:

    • Inserisci il nome dello stack (esempio, DynatraceIntegrationForIDR.)

    • APMNameParameter (esempio, Dynatrace.)

    • Scegli Avanti.

  4. Configura le opzioni dello stack:

    • Scorri fino alla fine della pagina e seleziona la casella CloudFormation per consentire la creazione di risorse IAM con nomi personalizzati.

  5. Revisione e creazione:

    • Verifica che i valori dei parametri siano configurati correttamente e scegli Invia.

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

  7. Lo CloudFormation stack crea le seguenti risorse assumendo 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 APMSecureToken segreta)

    • Risorse API Gateway:

      • Nome API: Dynatrace-AWSIncidentDetectionResponse-APIGW

      • Nome della fase: Dynatrace-Stage-Prod

      • Autorizzatori: Dynatrace-APIGW-Authorizer

      • Piano di utilizzo: APIGW_ Throttling_Plan

    • Funzioni Lambda:

      • Funzione di autorizzazione: Dynatrace-AWSIncidentDetectionResponse-Lambda-Authorizer

      • Funzione per la 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

  8. Registra l'URL del Webhook e il valore del token:

    • Apri la console API Gateway e scegli il tuo 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 richiamo. Configura questo URL nel tuo APM come destinazione per inviare webhook per eventi di allarme.

    • Apri la AWS Secrets Manager 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 implementato lo stack, testate l'integrazione inviando un payload di prova dal vostro APM:

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

  2. Cerca un'invocazione riuscita nei grafici delle metriche.

  3. Scegli View Amazon CloudWatch Logs per controllare i flussi di log relativi al payload di test o a eventuali errori.

Condivisione del tuo Event Bus ARN con AWS Incident Detection and Response

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

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

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

Diagramma che mostra un esempio di integrazione tramite API Gateway.

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.

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

  3. Effettua una delle seguenti operazioni:

    • (Consigliato) Crea un bus di eventi EventBridge personalizzato denominato$YourApmName-AWSIncidentDetectionResponse-EventBus.

    • (Alternativa) Utilizzate il bus di EventBridge eventi predefinito anziché un bus di eventi personalizzato.

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

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