View a markdown version of this page

Monitoraggio degli eventi delle Canarie con Amazon EventBridge - Amazon CloudWatch

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

Monitoraggio degli eventi delle Canarie con Amazon EventBridge

Le regole EventBridge degli eventi di Amazon possono notificarti quando i canarini cambiano stato o completano le corse. EventBridgefornisce un flusso quasi in tempo reale di eventi di sistema che descrivono i cambiamenti nelle risorse. AWS CloudWatch Synthetics invia questi eventi a nel migliore EventBridge dei modi. Con la massima efficienza possibile, CloudWatch Synthetics tenta di inviare tutti gli eventi a EventBridge, ma in alcuni rari casi un evento potrebbe non essere recapitato. EventBridge elabora tutti gli eventi ricevuti almeno una volta. Inoltre, i listener di eventi potrebbero non ricevere gli eventi nell'ordine in cui si sono verificati.

Nota

Amazon EventBridge è un servizio di bus di eventi che puoi utilizzare per connettere le tue applicazioni con dati provenienti da diverse fonti. Per ulteriori informazioni, consulta Cos'è Amazon EventBridge? nella Guida per EventBridge l'utente di Amazon.

CloudWatch Synthetics emette un evento quando un canarino cambia stato o completa una corsa. È possibile creare una EventBridge regola che includa un modello di evento che corrisponda a tutti i tipi di eventi inviati da CloudWatch Synthetics o che corrisponda solo a tipi di eventi specifici. Quando un canarino attiva una regola, EventBridge richiama le azioni target definite nella regola. In questo modo è possibile inviare notifiche, acquisire informazioni sugli eventi, intraprendere azioni correttive in risposta a una modifica dello stato del canary o al completamento di un'esecuzione del canary. Ad esempio, è possibile creare regole per i seguenti casi d'uso:

  • Indagare quando una corsa canary fallisce

  • Indagare quando un canary è entrato nello stato ERROR

  • Tracciamento del ciclo di vita di un canary

  • Monitoraggio della riuscita o del fallimento dell'esecuzione del canary in un flusso di lavoro

Eventi di esempio tratti da Synthetics CloudWatch

Questa sezione elenca gli eventi di esempio di Synthetics CloudWatch . Per ulteriori informazioni sul formato degli eventi, vedere Events and Event Patterns in. EventBridge

Modifica dello stato dei canary

In questo tipo di evento, i valori di current-state e previous-state possono essere i seguenti:

CREATING | READY | STARTING | RUNNING | UPDATING | STOPPING | STOPPED | ERROR

{ "version": "0", "id": "8a99ca10-1e97-2302-2d64-316c5dedfd61", "detail-type": "Synthetics Canary Status Change", "source": "aws.synthetics", "account": "123456789012", "time": "2021-02-09T22:19:43Z", "region": "us-east-1", "resources": [], "detail": { "account-id": "123456789012", "canary-id": "EXAMPLE-dc5a-4f5f-96d1-989b75a94226", "canary-name": "events-bb-1", "current-state": "STOPPED", "previous-state": "UPDATING", "source-location": "NULL", "updated-on": 1612909161.767, "changed-config": { "executionArn": { "previous-value": "arn:aws:lambda:us-east-1:123456789012:function:cwsyn-events-bb-1-af3e3a05-dc5a-4f5f-96d1-989EXAMPLE:1", "current-value": "arn:aws:lambda:us-east-1:123456789012:function:cwsyn-events-bb-1-af3e3a05-dc5a-4f5f-96d1-989EXAMPLE:2" }, "vpcId": { "current-value": "NULL" }, "testCodeLayerVersionArn": { "previous-value": "arn:aws:lambda:us-east-1:123456789012:layer:cwsyn-events-bb-1-af3e3a05-dc5a-4f5f-96d1-989EXAMPLE:1", "current-value": "arn:aws:lambda:us-east-1:123456789012:layer:cwsyn-events-bb-1-af3e3a05-dc5a-4f5f-96d1-989EXAMPLE:2" } }, "message": "Canary status has changed" } }

Esecuzione riuscita del canary completata

{ "version": "0", "id": "989EXAMPLE-f4a5-57a7-1a8f-d9cc768a1375", "detail-type": "Synthetics Canary TestRun Successful", "source": "aws.synthetics", "account": "123456789012", "time": "2021-02-09T22:24:01Z", "region": "us-east-1", "resources": [], "detail": { "account-id": "123456789012", "canary-id": "989EXAMPLE-dc5a-4f5f-96d1-989b75a94226", "canary-name": "events-bb-1", "canary-run-id": "c6c39152-8f4a-471c-9810-989EXAMPLE", "artifact-location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/events-bb-1-ec3-28ddbe266797/2021/02/09/22/23-41-200", "test-run-status": "PASSED", "state-reason": "null", "canary-run-timeline": { "started": 1612909421, "completed": 1612909441 }, "message": "Test run result is generated successfully" } }

Esecuzione non riuscita del canary completata

{ "version": "0", "id": "2644b18f-3e67-5ebf-cdfd-bf9f91392f41", "detail-type": "Synthetics Canary TestRun Failure", "source": "aws.synthetics", "account": "123456789012", "time": "2021-02-09T22:24:27Z", "region": "us-east-1", "resources": [], "detail": { "account-id": "123456789012", "canary-id": "af3e3a05-dc5a-4f5f-96d1-9989EXAMPLE", "canary-name": "events-bb-1", "canary-run-id": "0df3823e-7e33-4da1-8194-b04e4d4a2bf6", "artifact-location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/events-bb-1-ec3-989EXAMPLE/2021/02/09/22/24-21-275", "test-run-status": "FAILED", "state-reason": "\"Error: net::ERR_NAME_NOT_RESOLVED \"" "canary-run-timeline": { "started": 1612909461, "completed": 1612909467 }, "message": "Test run result is generated successfully" } }

È possibile che gli eventi vengano duplicati o non funzionino. Per determinare l'ordine degli eventi, utilizza la proprietà time.

Prerequisiti per la creazione di regole EventBridge

Prima di creare una EventBridge regola per CloudWatch Synthetics, è necessario effettuare le seguenti operazioni:

  • Acquisisci familiarità con eventi, regole e obiettivi in. EventBridge

  • Crea e configura gli obiettivi richiamati dalle tue EventBridge regole. Le regole possono richiamare molti tipi di target, tra cui:

    • Argomenti di Amazon SNS

    • AWS Lambda funzioni

    • Flussi Kinesis

    • Code Amazon SQS

Per ulteriori informazioni, consulta Cos'è Amazon EventBridge? e Guida introduttiva ad Amazon EventBridge nella Guida per EventBridge l'utente di Amazon.

Crea una EventBridge regola (CLI)

I passaggi dell'esempio seguente creano una EventBridge regola che pubblica un argomento di Amazon SNS quando il canarino indicato my-canary-name us-east-1 completa un'esecuzione o cambia stato.

  1. Crea la regola.

    aws events put-rule \ --name TestRule \ --region us-east-1 \ --event-pattern "{\"source\": [\"aws.synthetics\"], \"detail\": {\"canary-name\": [\"my-canary-name\"]}}"

    Eventuali proprietà omesse dal modello vengono ignorate.

  2. Aggiungi l'argomento come destinazione della regola.

    • Sostituiscilo topic-arn con l'Amazon Resource Name (ARN) del tuo argomento Amazon SNS.

    aws events put-targets \ --rule TestRule \ --targets "Id"="1","Arn"="topic-arn"
    Nota

    Per consentire EventBridge ad Amazon di chiamare l'argomento di destinazione, devi aggiungere una policy basata sulle risorse all'argomento. Per ulteriori informazioni, consulta le autorizzazioni di Amazon SNS nella Amazon User Guide. EventBridge

Per ulteriori informazioni, consulta Eventi e modelli di eventi EventBridge nella Amazon EventBridge User Guide.