Ein Canary-Skript schreiben - 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.

Ein Canary-Skript schreiben

In den folgenden Abschnitten wird erklärt, wie man ein Canary-Skript schreibt und wie man ein Canary-Skript in andere AWS Dienste und mit externen Abhängigkeiten und Bibliotheken integriert.

Ändern eines vorhandenen Selenium-Skripts zur Verwendung eines Synthetics-Canarys

Sie können schnell ein vorhandenes Skript für Python und Selenium ändern, um als Canary verwendet zu werden. Weitere Informationen zu Selenium finden Sie unter www.selenium.dev/.

In diesem Beispiel beginnen wir mit dem folgenden Selenium-Skript:

from selenium import webdriver def basic_selenium_script(): browser = webdriver.Chrome() browser.get('https://example.com') browser.save_screenshot('loaded.png') basic_selenium_script()

Für die Konvertierung sind die folgenden Schritte durchzuführen.

So konvertieren Sie ein Selenium-Skript für die Verwendung als Canary
  1. Ändern Sie die import-Anweisung, um Selenium aus dem aws_synthetics-Modul zu verwenden:

    from aws_synthetics.selenium import synthetics_webdriver as webdriver

    Das Selenium-Modul von aws_synthetics stellt sicher, dass der Canary Metriken und Protokolle ausgeben, eine HAR-Datei generieren und mit anderen CloudWatch Synthetics-Funktionen arbeiten kann.

  2. Erstellen Sie eine Handler-Funktion und rufen Sie Ihre Selenium-Methode auf. Der Handler ist die Eintrittsfunktion für das Skript.

    Wenn Sie syn-python-selenium-1.0 verwenden, muss die Handler-Funktion den Namen handler haben. Wenn Sie syn-python-selenium-1.1 oder neuer verwenden, kann die Funktion einen beliebigen Namen haben. Dieser Name muss jedoch mit dem Namen im Skript übereinstimmen. Wenn Sie syn-python-selenium-1.1 oder neuer verwenden, können Sie Ihre Skripte außerdem in einem beliebigen Ordner ablegen und diesen Ordner als Teil des Handlernamens angeben.

    def handler(event, context): basic_selenium_script()

Das Skript wurde jetzt aktualisiert und ist jetzt ein CloudWatch Synthetics-Kanarienvogel. Nachfolgend finden Sie das aktualisierte Skript:

from aws_synthetics.selenium import synthetics_webdriver as webdriver def basic_selenium_script(): browser = webdriver.Chrome() browser.get('https://example.com') browser.save_screenshot('loaded.png') def handler(event, context): basic_selenium_script()

Änderung eines vorhandenen Puppeteer Synthetics-Skripts zur Authentifizierung von nicht standardmäßigen Zertifikaten

Ein wichtiger Anwendungsfall für Synthetics Canaries ist die Überwachung Ihrer eigenen Endgeräte. Wenn Sie einen Endpunkt überwachen möchten, der nicht für externen Datenverkehr bereit ist, kann diese Überwachung manchmal bedeuten, dass Sie kein richtiges Zertifikat haben, das von einer vertrauenswürdigen Zertifizierungsstelle eines Drittanbieters signiert wurde.

Zwei mögliche Lösungen für dieses Szenario lauten wie folgt:

Sie sind nicht auf diese beiden Optionen beschränkt, wenn Sie CloudWatch Synthetics Canaries verwenden. Sie können diese Funktionen erweitern und Ihre Geschäftslogik hinzufügen, indem Sie den Canary-Code erweitern.

Anmerkung

Synthetics Canaries, die auf Python-Laufzeiten laufen, haben das --ignore-certificate-errors Flag von Haus aus aktiviert, sodass diese Canaries keine Probleme haben sollten, Websites mit nicht standardmäßigen Zertifikatkonfigurationen zu erreichen.