View a markdown version of this page

Inserisci allarmi dagli APM con integrazione diretta con Amazon SNS - Guida per l'utente di 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 con integrazione diretta con Amazon SNS

Se il tuo APM supporta l'invio di allarmi ad argomenti di Amazon SNS, puoi seguire questa guida per inserire i tuoi allarmi APM in AWS Incident Detection and Response.

Puoi distribuire il CloudFormation modello fornito o configurare manualmente questa 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

È 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 con l'integrazione di Amazon SNS.

Nota
  • 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

  • Questo CloudFormation modello deve essere distribuito in ogni AWS account e regione da cui AWS Incident Detection and Response deve importare gli allarmi.

  • Gli esempi forniti in questo documento si riferiscono a Grafana, tuttavia questo modello può essere utilizzato per qualsiasi APM che abbia un'integrazione diretta con Amazon Simple Notification Service.

  • Per motivi di sicurezza, AWS consiglia di rimuovere logger.info() le istruzioni da TransformLambdaFunction per evitare che il payload venga registrato in Amazon CloudWatch Logs.

Prerequisiti per la distribuzione di questo modello: CloudFormation

  • È necessario creare un argomento Amazon Simple Notification Service per ricevere eventi di allarme dal tuo APM. Crea un argomento SNS nella console di Amazon Simple Notification Service.

  • Il TransformLambdaFunction contenuto del modello deve essere modificato per ["detail"]["incident-detection-response-identifier"] impostarlo sul valore desiderato in base all'APM utilizzato.

Completamento dei prerequisiti:

  1. Apri la console Amazon SNS, quindi seleziona Argomenti. Copia l'ARN dell'argomento SNS creato per ricevere eventi di allarme dal tuo APM.

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

  2. Scarica e apri il modello CloudFormation

    • TransformLambdaFunctionIndividua il file nel modello

      • Sotto def lambda_handler(event, context) event["detail"]["incident-detection-response-identifier"] impostato sul percorso json in cui appare il nome dell'allarme nel payload JSON del record SNS.

        • Qualsiasi evento inviato TransformLambdaFunction tramite SNS ha una struttura di payload principale come. event["Records"][n]["Sns"]["Message"] L'effettiva origine del payload dalla sorgente (APM) è racchiusa all'interno della struttura principale.

        • Esempio per Grafana: event["Records"][n]["Sns"]["Message"]["alerts"][n]["labels"]["alertname"]

Distribuzione del modello CloudFormation :

  1. Accedi alla CloudFormation console nell'account e nella regione in cui devi configurare l'integrazione.

  2. Vai a CloudFormation.

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

  3. Specificate i dettagli dello stack:

    • Inserisci il nome di uno stack Esempio: <your-apm-name>IntegrationForIDR

    • Specificare i valori dei parametri ottenuti durante il completamento dei prerequisiti

      • APMNameParameterEsempio: Grafana

      • Esempio di parametro TriggerSNS: arn:aws:sns:eu-west-1:012345678912:<your-apm-name>-sns

    • Scegli Next (Successivo).

  4. Configura le opzioni dello stack:

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

  5. Revisione e creazione:

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

  6. Lo CloudFormation stack distribuirà 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 supponendo che i valori di esempio siano stati inseriti nei parametri di Grafana e siano stati eseguiti nella Regione. EU-WEST-1

    • CustomEventBus: Grafana-AWSIncidentDetectionResponse-EventBus

    • Abbonamento SNS: 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: - [stringa_casuale]

Test di integrazione

Dopo che lo CloudFormation stack è stato distribuito correttamente, puoi convalidare l'integrazione inviando un payload di test dal tuo APM. Una volta inviato il payload di test dal tuo APM:

  1. Vai alla console Lambda e seleziona la APMNameParameter-AWSIncidentDetectionResponse-Lambda-Transform funzione. Quindi, scegli la scheda Monitor.

  2. Una chiamata riuscita deve essere osservata nei grafici metrici.

  3. Seleziona Visualizza Amazon CloudWatch Logs. Puoi verificare dagli eventi di registro nei flussi di log per confermare che il payload di test inviato dal tuo APM sia presente o se sono stati riscontrati errori.

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

  1. Accedi alla EventBridge console Amazon. Seleziona Event bus.

  2. Registra l'ARN del bus di eventi personalizzato distribuito come parte dello CloudFormation stack, ad esempio:. arn:aws:events:eu-west-1:012345678912:event-bus/Grafana-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 con Amazon SNS.
  1. Apri la console Amazon SNS e crea un argomento SNS nella console di Amazon Simple Notification Service denominata [apm_name]-sns per ricevere eventi di allarmi dal tuo APM. Nota l'ARN dell'argomento SNS creato.

  2. Effettua una delle seguenti operazioni:

    • (Consigliato) Crea un bus di eventi EventBridge personalizzato denominato. [apm_name]-AWSIncidentDetectionResponse-EventBus

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

    AWS Incident Detection and Response installerà una regola gestita (AWSHealthEventProcessorEventSource-DO-NOT-DELETE) sul bus di eventi personalizzato o predefinito tramite AWSServiceRoleForHealth_EventProcessor SLR. L'origine della regola sarà il bus degli eventi personalizzato o predefinito, la destinazione della regola sarà AWS Incident Detection and Response e la regola corrisponderà allo schema per l'acquisizione di eventi APM di terze parti.

  3. Crea una funzione Lambda denominata $YourApmName-AWSIncidentDetectionResponse-LambdaFunction per trasformare i tuoi payload SNS.

  4. Imposta l'argomento SNS come trigger per la tua funzione $YourApmName-AWSIncidentDetectionResponse-LambdaFunction Lambda.

    • Nella pagina «Aggiungi trigger», cerca «SNS».

    • Aggiungi l'ARN del tuo argomento SNS dedicato creato nel passaggio 1.

    • Scegli «Aggiungi».

  5. Segui la documentazione APM per configurare una destinazione SNS per i tuoi payload APM che devono essere acquisiti da AWS Incident Detection and Response.

AWS Incident Detection and Response installerà una regola gestita (AWSHealthEventProcessorEventSource-DO-NOT-DELETE) sul bus di eventi personalizzato o predefinito tramite AWSServiceRoleForHealth_EventProcessor SLR. L'origine della regola sarà il bus degli eventi personalizzato o predefinito, la destinazione della regola sarà AWS Incident Detection and Response e la regola corrisponderà allo schema per l'acquisizione di eventi APM di terze parti.