Überwachung kanarischer Ereignisse mit Amazon EventBridge - Amazon CloudWatch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Überwachung kanarischer Ereignisse mit Amazon EventBridge

Die EventBridge Amazon-Veranstaltungsregeln können Sie benachrichtigen, wenn sich der Status der Kanaren ändert oder Läufe abgeschlossen werden. EventBridgeliefert eine Reihe near-real-time von Systemereignissen, die Änderungen an AWS Ressourcen beschreiben. CloudWatch Synthetics sendet diese Ereignisse nach EventBridge bestem Wissen und Gewissen an. Lieferung nach bestem Wissen bedeutet, dass CloudWatch Synthetics versucht, alle Ereignisse an zu senden EventBridge, aber in einigen seltenen Fällen kann es vorkommen, dass eine Veranstaltung nicht zugestellt wird. EventBridge verarbeitet alle empfangenen Ereignisse mindestens einmal. Außerdem empfangen Ihre Ereignis-Listener die Ereignisse möglicherweise nicht in der Reihenfolge, in der die Ereignisse aufgetreten sind.

Anmerkung

Amazon EventBridge ist ein Event-Bus-Service, mit dem Sie Ihre Anwendungen mit Daten aus einer Vielzahl von Quellen verbinden können. Weitere Informationen finden Sie unter Was ist Amazon EventBridge? im EventBridge Amazon-Benutzerhandbuch.

CloudWatch Synthetics gibt ein Ereignis aus, wenn ein Canary seinen Status ändert oder einen Lauf abschließt. Sie können eine EventBridge Regel erstellen, die ein Ereignismuster enthält, das allen von CloudWatch Synthetics gesendeten Ereignistypen entspricht, oder die nur bestimmten Ereignistypen entspricht. Wenn ein Canary eine Regel auslöst, EventBridge ruft er die in der Regel definierten Zielaktionen auf. Auf diese Weise können Sie als Reaktion auf eine Canary-Statusänderung oder den Abschluss eines Canary-Laufs Benachrichtigungen senden, Ereignisinformationen erfassen und Korrekturmaßnahmen ergreifen. Sie können beispielsweise Regeln für die folgenden Anwendungsfälle erstellen:

  • Untersuchen, wenn ein Canary-Lauf fehlschlägt

  • Untersuchen, wann ein Canary in den ERROR-Zustand gegangen ist

  • Den Lebenszyklus eines Canarys verfolgen

  • Überwachen des Erfolgs oder Misserfolgs von Canary-Läufen als Teil eines Workflows

Beispielereignisse von CloudWatch Synthetics

In diesem Abschnitt sind Beispielereignisse von CloudWatch Synthetics aufgeführt. Weitere Informationen zum Ereignisformat finden Sie unter Ereignisse und Ereignismuster in EventBridge.

Canary-Statusänderung

Bei diesem Ereignistyp können die Werte von current-state und previous-state die folgenden sein:

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" } }

Erfolgreiche Canary-Ausführung abgeschlossen

{ "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" } }

Fehlerhafte Canary-Ausführung abgeschlossen

{ "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" } }

Es ist möglich, dass Ereignisse doppelt sind oder nicht in der richtigen Reihenfolge werden. Um die Reihenfolge der Ereignisse zu bestimmen, verwenden Sie die time-Eigenschaft.

Voraussetzungen für die Erstellung von EventBridge Regeln

Bevor Sie eine EventBridge Regel für CloudWatch Synthetics erstellen, sollten Sie Folgendes tun:

  • Machen Sie sich mit Ereignissen, Regeln und Zielen in EventBridge vertraut.

  • Erstellen und konfigurieren Sie die Ziele, die durch Ihre EventBridge Regeln aufgerufen werden. Regeln können viele Arten von Zielen aufrufen, einschließlich:

    • SNSAmazon-Themen

    • AWS Lambda Funktionen

    • Kinesis-Streams

    • SQSAmazon-Warteschlangen

Weitere Informationen finden Sie unter Was ist Amazon EventBridge? und Erste Schritte mit Amazon EventBridge im EventBridge Amazon-Benutzerhandbuch.

Erstellen Sie eine EventBridge Regel (CLI)

Mit den Schritten im folgenden Beispiel wird eine EventBridge Regel erstellt, die ein SNS Amazon-Thema veröffentlicht, wenn der angegebene my-canary-name Canary einen Run us-east-1 abschließt oder seinen Status ändert.

  1. Erstellen Sie die -Regel.

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

    Alle Eigenschaften, die Sie im Muster auslassen, werden ignoriert.

  2. Fügen Sie das Thema als Regelziel hinzu.

    • Ersetzen topic-arn mit dem Amazon-Ressourcennamen (ARN) Ihres SNS Amazon-Themas.

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

    Damit Amazon EventBridge Ihr Zielthema aufrufen kann, müssen Sie Ihrem Thema eine ressourcenbasierte Richtlinie hinzufügen. Weitere Informationen finden Sie unter SNSAmazon-Berechtigungen im EventBridge Amazon-Benutzerhandbuch.

Weitere Informationen finden Sie unter Ereignisse und Ereignismuster EventBridge im EventBridge Amazon-Benutzerhandbuch.