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 avvisarti quando i canarini cambiano stato o completano le esecuzioni. EventBridgefornisce un near-real-time flusso di eventi di sistema che descrivono i cambiamenti nelle AWS risorse. CloudWatch Synthetics invia questi eventi con EventBridge il massimo impegno. La consegna con il massimo impegno significa che CloudWatch Synthetics tenta di inviare tutti gli eventi EventBridge a, ma in alcuni rari casi un evento potrebbe non essere consegnato. 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 una varietà di fonti. Per ulteriori informazioni, consulta What is Amazon EventBridge? nella Amazon EventBridge User Guide.

CloudWatch Synthetics emette un evento quando un canarino cambia stato o completa una corsa. È possibile creare una EventBridge regola che includa uno schema di eventi 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 CloudWatch Synthetics

Questa sezione elenca gli eventi di esempio di CloudWatch Synthetics. Per ulteriori informazioni sul formato degli eventi, vedete Eventi e modelli di eventi 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, dovete fare quanto segue:

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

  • Crea e configura gli obiettivi richiamati dalle tue regole. EventBridge 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 What is Amazon EventBridge? e Guida introduttiva ad Amazon EventBridge nella Amazon EventBridge User Guide.

Creare una EventBridge regola (CLI)

I passaggi dell'esempio seguente creano una EventBridge regola che pubblica un argomento di Amazon SNS quando il canarino my-canary-name indicato completa un'esecuzione o us-east-1 cambia lo 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.

    • Sostituisci 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 indicare il tuo argomento di riferimento, devi aggiungere una politica basata sulle risorse all'argomento. Per ulteriori informazioni, consulta le autorizzazioni di Amazon SNS nella Amazon EventBridge User Guide.

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