Problembehandlung bei fehlgeschlagenem Canary
Wenn Ihr Canary fehlschlägt, gehen Sie wie folgt vor:
Allgemeine Problembehebung
-
Verwenden Sie die Canarydetailseite, um weitere Informationen zu erhalten. Wählen Sie in der CloudWatch-Konsole im Navigationsbereich Canaries und dann den Namen des Canarys aus, um die Seite mit den Canary-Details zu öffnen. Überprüfen Sie auf der Registerkarte Verfügbarkeit die Metrik SuccessPercent, um festzustellen, ob das Problem konstant oder zeitweilig ist.
Wählen Sie auf der Registerkarte Verfügbarkeit einen fehlgeschlagenen Datenpunkt aus, um Screenshots, Protokolle und Schrittberichte (sofern verfügbar) für diese fehlgeschlagene Ausführung anzuzeigen.
Wenn ein Schrittbericht verfügbar ist, weil Schritte Teil des Skripts sind, überprüfen Sie, welcher Schritt fehlgeschlagen ist, und sehen Sie sich die zugehörigen Screenshots an, um das Problem anzuzeigen, das Ihren Kunden auftritt.
Sie können auch die HAR-Dateien überprüfen, um festzustellen, ob eine oder mehrere Anforderungen fehlschlagen. Sie können tiefer graben, indem Sie Protokolle verwenden, um fehlgeschlagene Anforderungen und Fehler anzuzeigen. Schließlich können Sie diese Artefakte mit den Artefakten eines erfolgreichen Canary-Laufs vergleichen, um das Problem zu ermitteln.
Standardmäßig erfasst CloudWatch Synthetics Screenshots für jeden Schritt in einem UI-Canary. Ihr Skript ist jedoch möglicherweise so konfiguriert, dass Screenshots deaktiviert werden. Während des Debuggings möchten Sie möglicherweise Screenshots erneut aktivieren. In ähnlicher Weise möchten Sie für API-Canarys möglicherweise HTTP-Anforderungs- und Antwort-Header und Texte während des Debuggings sehen. Informationen zum Einschließen dieser Daten in den Bericht finden Sie unter executeHttpStep(stepName, requestOptions, [callback], [stepConfig]).
Wenn Sie eine kürzlich bereitgestellte Anwendung hatten, rollen Sie sie zurück und debuggen Sie sie später.
Stellen Sie manuell eine Verbindung zu Ihrem Endpunkt her, um zu sehen, ob Sie das gleiche Problem reproduzieren können.
Themen
Canary schlägt nach dem Update der Lambda-Umgebung fehl
CloudWatch-Synthetics-Canarys sind als Lambda-Funktionen in Ihrem Konto implementiert. Diese Lambda-Funktionen unterliegen regelmäßigen Lambda-Laufzeit-Updates, die Sicherheitsupdates, Fehlerbehebungen und andere Verbesserungen enthalten. Lambda ist bestrebt, Laufzeitaktualisierungen bereitzustellen, die mit vorhandenen Funktionen abwärtskompatibel sind. Wie beim Software-Patching gibt es jedoch seltene Fälle, in denen sich eine Laufzeitaktualisierung negativ auf eine vorhandene Funktion auswirken kann. Wenn Sie denken, dass Ihr Canary von einem Lambda-Laufzeit-Update betroffen ist, können Sie den manuellen Modus für Lambda-Laufzeitmanagement (in unterstützten Regionen) verwenden, um die Lambda-Laufzeitversion vorübergehend zurückzusetzen. Dadurch bleibt Ihre Canary-Funktion funktionsfähig und die Unterbrechung wird minimiert. Gleichzeitig wird Zeit bereitgestellt, um die Inkompatibilität zu beheben, bevor Sie zur neuesten Laufzeitversion zurückkehren.
Wenn Ihr Canary nach einem Lambda-Laufzeit-Update ausfällt, ist die beste Lösung ein Upgrade auf eine der neuesten Synthetics-Laufzeiten. Weitere Informationen zu den neuesten Laufzeiten finden Sie unter Synthetics Laufzeitversionen.
Als alternative Lösung können Sie in Regionen, in denen Lambda-Laufzeitverwaltungskontrollen verfügbar sind, einen Canary auf eine ältere von Lambda verwaltete Laufzeit zurücksetzen, indem Sie den manuellen Modus für die Laufzeitverwaltungskontrollen verwenden. Sie können den manuellen Modus entweder mithilfe der AWS CLI oder mithilfe der Lambda-Konsole einrichten, indem Sie die unteren Schritte in den folgenden Abschnitten ausführen.
Warnung
Wenn Sie die Laufzeiteinstellungen in den manuellen Modus ändern, erhält Ihre Lambda-Funktion keine automatischen Sicherheitsupdates, bis sie wieder in den automatischen Modus zurückversetzt wird. Während dieses Zeitraums kann Ihre Lambda-Funktion für Sicherheitslücken anfällig sein.
Voraussetzungen
Installieren Sie jq
Installieren Sie die neueste Version der AWS CLI. Weitere Informationen finden Sie unter Anweisungen zu AWS CLI installieren und aktualisieren.
Schritt 1: Die Lambda-Funktion ARN abrufen
Führen Sie den folgenden Befehl aus, um das EngineArn-Feld aus der Antwort abzurufen. Dieser EngineArn ist der ARN der Lambda-Funktion, die dem Canary zugeordnet ist. Sie verwenden diesen ARN in den folgenden Schritten.
aws synthetics get-canary --name my-canary | jq '.Canary.EngineArn'
Beispielausgabe für EngingArn:
"arn:aws:lambda:us-west-2:123456789012:function:cwsyn-my-canary-dc5015c2-db17-4cb5-afb1-EXAMPLE991:8"
Schritt 2: Die letzte gute Lambda-Laufzeitversion ARN abrufen
Um zu verstehen, ob Ihr Canary von einem Lambda-Laufzeit-Update betroffen war, überprüfen Sie, ob Datum und Uhrzeit der ARN-Änderungen der Lambda-Laufzeit-Version in Ihren Protokollen dem Datum und der Uhrzeit entsprechen, zu der Sie Auswirkungen auf Ihren Canary festgestellt haben. Wenn sie nicht übereinstimmen, verursacht Ihr Problem wahrscheinlich kein Lambda-Laufzeit-Update.
Wenn Ihr Canary von einem Lambda-Laufzeit-Update betroffen ist, müssen Sie den ARN der funktionierenden Lambda-Laufzeit-Version identifizieren, die Sie zuvor verwendet haben. Folgen Sie den Anweisungen unter Identifizieren von Laufzeitversionsänderungen, um den ARN der vorherigen Laufzeit zu ermitteln. Notieren Sie den ARN der Laufzeitversion und fahren Sie mit Schritt 3 fort, um die Laufzeitverwaltungskonfiguration festzulegen.
Wenn Ihr Canary noch nicht von einem Lambda-Umgebungsupdate betroffen ist, können Sie den ARN der Lambda-Laufzeitversion finden, die Sie derzeit verwenden. Führen Sie den folgenden Befehl aus, um die RuntimeVersionArn der Lambda-Funktion aus der Antwort abzurufen.
aws lambda get-function-configuration \ --function-name "arn:aws:lambda:us-west-2:123456789012:function:cwsyn-my-canary-dc5015c2-db17-4cb5-afb1-EXAMPLE991:8" | jq '.RuntimeVersionConfig.RuntimeVersionArn'
Beispielausgabe für RuntimeVersionArn:
"arn:aws:lambda:us-west-2::runtime:EXAMPLE647b82f490a45d7ddd96b557b916a30128d9dcab5f4972911ec0f"
Schritt 3: Aktualisierung der Lambda-Laufzeitverwaltungskonfiguration
Sie können entweder die AWS CLI oder die Lambda-Konsole verwenden, um die Laufzeitverwaltungskonfiguration zu aktualisieren.
So stellen Sie den manuellen Modus für die Konfiguration der Lambda-Laufzeitverwaltung mit dem AWS CLI ein
Geben Sie den folgenden Befehl ein, um die Laufzeitverwaltung der Lambda-Funktion in den manuellen Modus zu ändern. Achten Sie darauf, den Funktionsnamen und den Qualifier durch den ARN der Lambda-Funktion bzw. die Versionsnummer der Lambda-Funktion zu ersetzen, indem Sie die in Schritt 1 ermittelten Werte verwenden. Ersetzen Sie auch die Runtime-Version-ARN durch den Versions-ARN, den Sie in Schritt 2 ermittelt haben.
aws lambda put-runtime-management-config \ --function-name "arn:aws:lambda:us-west-2:123456789012:function:cwsyn-my-canary-dc5015c2-db17-4cb5-afb1-EXAMPLE991" \ --qualifier8\ --update-runtime-on "Manual" \ --runtime-version-arn "arn:aws:lambda:us-west-2::runtime:a993d90ea43647b82f490a45d7ddd96b557b916a30128d9dcab5f4972911ec0f"
So versetzen Sie einen Canary mithilfe der Lambda-Konsole in den manuellen Modus
Öffnen Sie die AWS Lambda-Konsole unter https://console.aws.amazon.com/lambda/
. Wählen Sie die Registerkarte Versionen, wählen Sie den Link mit der Versionsnummer, der Ihrem ARN entspricht, und wählen Sie die Registerkarte Code.
Scrollen Sie nach unten zu Laufzeit-Einstellungen, erweitern Sie Laufzeitverwaltungskonfiguration und kopieren Sie den ARN der Laufzeitversion.
Wählen Sie Laufzeitverwaltungskonfiguration bearbeiten, wählen Sie Manuell und fügen Sie den zuvor kopierten Laufzeitversion-ARN in das Feld Laufzeitversion-ARN ein. Wählen Sie dann Speichern.
Mein Canary wird blockiert von AWS WAF
Um Canary-Verkehr durch AWS WAF zuzulassen, erstellen Sie eine Bedingung für den Abgleich von AWS WAF-Zeichenfolgen, die eine von Ihnen angegebene benutzerdefinierte Zeichenfolge zulässt. Weitere Informationen finden Sie in der AWS WAF-Dokumentation unter Arbeiten mit Bedingungen für den Abgleich von Zeichenfolgen.
Es wird dringend empfohlen, anstelle von Standardwerten Ihre eigene benutzerdefinierte Benutzeragent-Zeichenfolge zu verwenden. Das bietet eine bessere Kontrolle über das AWS WAF-Filtern und erhöht die Sicherheit.
Gehen Sie wie folgt vor, um eine benutzerdefinierte Benutzeragent-Zeichenfolge festzulegen:
Für Playwright-Laufzeiten können Sie Ihre AWS WAF-genehmigte benutzerdefinierte Benutzeragent-Zeichenfolge mithilfe der Synthetics-Konfigurationsdatei anhängen. Weitere Informationen finden Sie unter CloudWatch-Synthetics-Konfigurationen.
Für Puppeteer- oder Selenium-Laufzeiten können Sie mithilfe der unterstützten Bibliotheksfunktionen Ihre benutzerdefinierte Benutzeragent-Zeichenfolge hinzufügen. Informationen zu Puppeteer-Laufzeiten finden Sie unter async addUserAgent(page, userAgentString);. Informationen zu Selenium-Laufzeiten finden Sie unter add_user_agent (user_agent_str).
Warten auf das Erscheinen eines Elements
Wenn Sie nach der Analyse Ihrer Protokolle und Screenshots sehen, dass Ihr Skript darauf wartet, dass ein Element auf dem Bildschirm angezeigt wird und eine Zeitüberschreitung auftritt, überprüfen Sie den entsprechenden Screenshot, um zu sehen, ob das Element auf der Seite angezeigt wird. Überprüfen Sie Ihren xpath, um sicherzustellen, dass er richtig ist.
Informationen zu Puppetteer-bezogenen Problemen finden Sie auf der GitHub-Seite von Puppeteer
Knoten ist entweder nicht sichtbar oder kein HTMLElement für page.click()
Wenn ein Knoten nicht sichtbar ist oder kein HTMLElement für page.click() ist, überprüfen Sie zuerst den xpath, den Sie zum Klicken auf das Element verwenden. Wenn sich Ihr Element unten auf dem Bildschirm befindet, passen Sie das Ansichtsfenster an. CloudWatch Synthetics verwendet standardmäßig ein Ansichtsfenster von 1920 x 1080. Sie können beim Starten des Browsers oder mithilfe der Puppeteer-Funktion page.setViewport ein anderes Ansichtsfenster festlegen.
Artifacts können nicht in S3 hochgeladen werden, Ausnahme: S3-Bucket-Speicherort kann nicht abgerufen werden: Zugriff verweigert
Sollte Ihr Canary aufgrund eines Amazon-S3-Fehlers ausfallen, bedeutet dies, dass CloudWatch Synthetics aufgrund von Berechtigungsproblemen keine Screenshots, Protokolle oder Berichte hochladen konnte, die für den Canary erstellt wurden. Überprüfen Sie, ob Folgendes der Fall ist:
Prüfen Sie, ob die IAM-Rolle des Canarys die
s3:ListAllMyBuckets-Berechtigung, dies3:GetBucketLocation-Berechtigung für den richtigen Amazon-S3-Bucket und dies3:PutObject-Berechtigung für den Bucket besitzt, in dem der Canary seine Artefakte speichert. Wenn der Canary eine visuelle Überwachung durchführt, benötigt die Rolle auch dies3:GetObject-Berechtigung für den Bucket. Dieselben Berechtigungen sind auch in der Endpunkt-Richtlinie von Amazon VPC S3 Gateway erforderlich, wenn der Canary in einer VPC mit einem VPC-Endpunkt bereitgestellt wird.Wenn der Canary einen kundenverwalteten AWS KMS-Schlüssel für die Verschlüsselung anstelle des AWS-verwalteten Standardschlüssels (Standard) verwendet, hat die IAM-Rolle des Canary möglicherweise nicht die Berechtigung, mit diesem Schlüssel zu verschlüsseln oder zu entschlüsseln. Weitere Informationen finden Sie unter Verschlüsseln von Canary-Artefakten.
Ihre Bucket-Richtlinie lässt möglicherweise den Verschlüsselungsmechanismus nicht zu, den der Canary verwendet. Wenn Ihre Bucket-Richtlinie beispielsweise vorschreibt, einen bestimmten Verschlüsselungsmechanismus oder KMS-Schlüssel zu verwenden, müssen Sie denselben Verschlüsselungsmodus für Ihren Canary auswählen.
Führt der Canary eine visuelle Überwachung durch, finden Sie unter Aktualisieren des Artefaktspeicherortes und der Verschlüsselung bei Verwendung der visuellen Überwachung weitere Informationen dazu.
Fehler: Protokollfehler (Runtime.CallFunctionOn): Ziel geschlossen.
Dieser Fehler wird angezeigt, wenn nach dem Schließen der Seite oder des Browsers einige Netzwerkanforderungen vorhanden sind. Möglicherweise haben Sie vergessen, auf einen asynchronen Vorgang zu warten. Nachdem Sie Ihr Skript ausgeführt haben, schließt CloudWatch Synthetics den Browser. Die Ausführung eines asynchronen Vorgangs nach dem Schließen des Browsers kann dazu führen, dass target closed error.
Canary ist fehlgeschlagen. Fehler: Kein Datenpunkt – Canary zeigt Timeout-Fehler
Dies bedeutet, dass Ihr Canarylauf das Timeout überschritten hat. Die Ausführung von Canary wurde gestoppt, bevor CloudWatch Synthetics erfolgreich prozentuale CloudWatch-Metriken veröffentlichen oder Artefakte wie HAR-Dateien, Protokolle und Screenshots aktualisieren konnte. Wenn Ihr Timeout zu niedrig ist, können Sie es erhöhen.
Standardmäßig ist ein Canary-Timeout-Wert gleich seiner Häufigkeit. Sie können den Timeout-Wert manuell so einstellen, dass er kleiner oder gleich der Canary-Frequenz ist. Wenn Ihre Canaryfrequenz niedrig ist, müssen Sie die Frequenz erhöhen, um das Timeout zu erhöhen. Sie können sowohl die Häufigkeit als auch den Timeoutschreitungswert unter Zeitplan anpassen, wenn Sie einen Canary mithilfe der CloudWatch-Synthetics-Konsole erstellen oder aktualisieren.
Stellen Sie sicher, dass Ihr canary-Timeout-Wert nicht kürzer als 15 Sekunden ist, um Lambda-Kaltstarts und die Zeit zu ermöglichen, die zum Hochfahren der canary-Instrumentierung benötigt wird.
Canary-Artefakte können nicht in der CloudWatch-Synthetics-Konsole angezeigt werden, wenn dieser Fehler auftritt. Sie können CloudWatch Logs verwenden, um die Protokolle des Canary anzuzeigen.
So verwenden Sie CloudWatch Logs zum Anzeigen der Protokolle für einen Canary
Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/
. Wählen Sie im linken Navigationsbereich Log groups (Protokollgruppen) aus.
Suchen Sie die Protokollgruppe, indem Sie den Canary-Namen in das Filterfeld eingeben. Protokollgruppen für Canarys haben den Namen /aws/lambda/cwsyn-
CanaryName-RandomID.
Versuch, auf einen internen Endpunkt zuzugreifen
Wenn Sie möchten, dass Ihr Canary auf einen Endpunkt in Ihrem internen Netzwerk zugreifen kann, empfehlen wir, CloudWatch Synthetics für die Verwendung von VPC einzurichten. Weitere Informationen finden Sie unter Ausführen eines Canarys in einer VPC.
Probleme beim Upgrade und Downgrade der Canary-Laufzeitversion
Wenn Sie den Canary kürzlich von der Laufzeitversion syn-1.0 auf eine neuere Version aktualisiert haben, liegt möglicherweise ein Problem mit der ursprungsübergreifenden Anforderungsfreigabe (CORS) vor. Weitere Informationen finden Sie unter Problem mit Cross-Origin Request Sharing (CORS).
Wenn Sie den Canary kürzlich auf eine ältere Laufzeitversion herabgestuft haben, stellen Sie sicher, dass die von Ihnen verwendeten CloudWatch-Synthetics-Funktionen in der älteren Laufzeitversion verfügbar sind, auf die Sie herabgestuft haben. Die Funktion executeHttpStep ist beispielsweise ab der Laufzeitversion syn-nodejs-2.2 verfügbar. Informationen zur Verfügbarkeit von Funktionen finden Sie unter Ein Canary-Skript schreiben.
Anmerkung
Wenn Sie planen, die Laufzeitversion für einen Canary zu aktualisieren oder herunterzustufen, empfehlen wir, zuerst den Canary zu klonen und die Laufzeitversion im geklonten Canary zu aktualisieren. Nachdem Sie überprüft haben, dass der Klon mit der neuen Laufzeitversion funktioniert, können Sie die Laufzeitversion Ihres ursprünglichen Canary aktualisieren und den Klon löschen.
Problem mit Cross-Origin Request Sharing (CORS)
Wenn in einem UI-Canary einige Netzwerkanforderungen mit 403 oder net::ERR_FAILED fehlschlagen, prüfen Sie, ob für den Canary die aktive Ablaufverfolgung aktiviert ist, und verwendet auch die Puppeteer-Funktion page.setExtraHTTPHeaders, um Header hinzuzufügen. Wenn dies der Fall ist, können die fehlgeschlagenen Netzwerkanforderungen durch Cross-Origin Request Sharing (CORS) Einschränkungen verursacht werden. Sie können bestätigen, ob dies der Fall ist, indem Sie die aktive Ablaufverfolgung deaktivieren oder die zusätzlichen HTTP-Header entfernen.
Warum passiert das?
Wenn aktive Ablaufverfolgung verwendet wird, wird allen ausgehenden Anforderungen ein zusätzlicher Header hinzugefügt, um den Aufruf zu verfolgen. Das Ändern der Anforderungsheader durch Hinzufügen eines Ablaufverfolgungs-Headers oder das Hinzufügen zusätzlicher Header mithilfe von Puppeteer page.setExtraHTTPHeaders führt zu einer CORS-Prüfung für XMLHttpRequest (XHR)-Anfragen.
Wenn Sie das aktive Tracing nicht deaktivieren oder die zusätzlichen Header entfernen möchten, können Sie Ihre Webanwendung aktualisieren, um den ursprungsübergreifenden Zugriff zu ermöglichen, oder Sie können die Websicherheit deaktivieren, indem Sie das Flag disable-web-security beim Starten des Chrome-Browsers in Ihrem Skript verwenden.
Sie können von CloudWatch Synthetics verwendete Startparameter überschreiben und zusätzliche disable-web-security-Flag-Parameter übergeben, indem Sie die Startfunktion von CloudWatch Synthetics verwenden. Weitere Informationen finden Sie unter Für Node.js-Canary-Skripte verfügbare Bibliotheksfunktionen, die Puppeteer verwenden.
Anmerkung
Sie können die von CloudWatch Synthetics verwendeten Startparameter überschreiben, wenn Sie Laufzeitversion syn-nodejs-2.1 oder höher verwenden.
Probleme mit der Race-Bedingung des Canary
Um die beste Erfahrung mit CloudWatch Synthetics zu erzielen, stellen Sie sicher, dass der für die Canarys geschriebene Code idempotent ist. Andernfalls kann es in seltenen Fällen bei Canary-Ausführungen zu Race-Bedingungen kommen, wenn der Canary bei verschiedenen Ausführungen mit derselben Ressource interagiert.
Fehlerbehebung für ein Canary in einer VPC
Wenn nach dem Erstellen oder Aktualisieren eines Canarys auf einem VPC Probleme auftreten, kann einer der folgenden Abschnitte Ihnen helfen, das Problem zu beheben.
Neues Canary im Fehlerzustand oder Canary kann nicht aktualisiert werden
Wenn Sie ein Canary zur Ausführung in einer VPC erstellen und dieses sofort in einen Fehlerzustand geht oder Sie ein Canary nicht so aktualisieren können, dass es in einer VPC ausgeführt wird, verfügt die Rolle des Canarys möglicherweise nicht über die korrekten Berechtigungen. Um auf einer VPC ausgeführt werden zu können, muss ein Canary über die Berechtigungen ec2:CreateNetworkInterface, ec2:DescribeNetworkInterfaces und ec2:DeleteNetworkInterface verfügen. Diese Berechtigungen sind alle in der von AWSLambdaVPCAccessExecutionRole verwalteten Richtlinie enthalten. Weitere Informationen finden Sie unter Ausführungsrolle und Benutzerberechtigungen.
Wenn dieses Problem beim Erstellen eines Canarys aufgetreten ist, müssen Sie das Canary löschen und ein neues erstellen. Wenn Sie die CloudWatch-Konsole verwenden, um das neue Canary zu erstellen, wählen Sie unter Access Permissions (Zugriffsberechtigungen) die Option Create a new role (Neue Rolle erstellen). Es wird eine neue Rolle erstellt, die alle für die Ausführung des Canary erforderlichen Berechtigungen enthält.
Wenn dieses Problem auftritt, wenn Sie ein Canary aktualisieren, können Sie das Canary erneut aktualisieren und eine neue Rolle bereitstellen, die über die erforderlichen Berechtigungen verfügt.
Fehler „No test result returned“ (Kein Testergebnis zurückgegeben)
Wenn ein Canary den Fehler „No test result returned (Kein Testergebnis zurückgegeben)“ anzeigt, kann eines der folgenden Probleme die Ursache sein:
Wenn Ihre VPC keinen Internetzugriff hat, müssen Sie VPC-Endpunkte verwenden, um dem Canary Zugriff auf CloudWatch und Amazon S3 zu gewähren. Sie müssen die Optionen für die DNS resolution (DNS-Auflösung) und den DNS hostname (DNS-Hostnamen) in der VPC aktivieren, damit diese Endpunktadressen korrekt aufgelöst werden können. Weitere Informationen finden Sie unter Verwenden von DNS mit Ihrer VPC und Verwenden von CloudWatch und CloudWatch Synthetics mit Schnittstellen-VPC-Endpunkten.
Canaries müssen in privaten Subnetzen innerhalb einer VPC ausgeführt werden. Um dies zu überprüfen, öffnen Sie die Seite Subnets (Subnetze) in der VPC-Konsole. Überprüfen Sie die Subnetze, die Sie bei der Konfiguration des Canarys ausgewählt haben. Wenn diese einen Pfad zu einem Internet-Gateway (igw-) haben, sind sie keine privaten Subnetze.
Informationen zur Behebung dieser Probleme finden Sie in den Protokollen für das Canary.
So zeigen Sie die Protokollereignisse von einem Canary an:
Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Wählen Sie im Navigationsbereich Log groups (Protokollgruppen) aus.
Wählen Sie den Namen der Protokollgruppe des Canarys. Der Name der Protokollgruppe beginnt mit
/aws/lambda/cwsyn-.canary-name
Fehlerbehebung bei Canary mit automatischer Wiederholung
Um zu verstehen, warum Ihr Canary ausfällt, oder um bestimmte fehlgeschlagene Versuche zu analysieren, befolgen Sie diese Schritte zur Fehlerbehebung.
Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/
. Wählen Sie im Navigationsbereich Application Signals, Synthetics-Canarys aus.
Wählen Sie Canary.
Unter der Registerkarte Verfügbarkeit können Sie die Ausführungsdetails auf eine der folgenden Arten überprüfen:
Auswahl eines bestimmten Punkts im Diagramm von Canary-Ausführungen
Wählen Sie unter Probleme einen Datensatz aus. Beachten Sie, dass Wiederholungsversuche markiert sind und dieselben Zeitstempel wie die geplanten Ausführungen haben
Zusätzliche Informationen finden Sie unter Schritte, Screenshot, Protokolle, HAR-Datei oder Traces (sofern die aktive Ablaufverfolgung aktiviert ist).
Unter Canary-Artefakte und Amazon-S3-Speicherort können Sie auf das Artefakt zugreifen und über die verfügbaren Links zu den Amazon-S3-Ordnern oder -Buckets navigieren.
Das Diagramm Canary-Ausführungen verwendet verschiedenfarbige Punkte, um den jeweiligen Status anzuzeigen:
Blaue Punkte – Zeigen erfolgreiche geplante Ausführungen mit einem gleichbleibenden Wert von 100% an
Rote Punkte – Zeigen das Scheitern beider geplanter Ausführungen sowie aller Wiederholungsversuche an, wobei der Wert 0% angegeben ist
Orange Punkte – Zeigen entweder 0% oder 100% an. 0% bedeutet, dass der Versuch nach erfolglosen vorherigen Versuchen wiederholt wurde, und 100% bedeutet, dass nach einem erneuten Versuch ein Erfolg erzielt wurde