Écriture d'un script Canary - Amazon CloudWatch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Écriture d'un script Canary

Les sections suivantes expliquent comment écrire un script Canary et comment intégrer un script Canary à d'autres AWS services ainsi qu'à des dépendances et bibliothèques externes.

Modification d'un script Selenium existant pour l'utiliser en tant que script Canary Synthetics

Vous pouvez rapidement modifier un script existant pour Python et Selenium pour l'utiliser comme script Canary. Pour de plus amples informations sur Selenium, consultez www.selenium.dev/.

Pour cet exemple, nous commencerons par le script Selenium suivant :

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

Les étapes de conversion sont les suivantes.

Pour convertir un script Selenium à utiliser comme script Canary
  1. Modifier l'instruction import pour utiliser Selenium à partir du module aws_synthetics :

    from aws_synthetics.selenium import synthetics_webdriver as webdriver

    Le module Selenium de aws_synthetics garantit que le Canary peut émettre des métriques et des journaux, générer un fichier HAR et fonctionner avec d'autres fonctionnalités de CloudWatch Synthetics.

  2. Créez une fonction de gestionnaire et appelez votre méthode Selenium. Le gestionnaire est la fonction de point d'entrée du script.

    Si vous utilisez syn-python-selenium-1.0, la fonction du gestionnaire doit être nommée handler. Si vous utilisez syn-python-selenium-1.1 ou une version ultérieure, la fonction peut porter n'importe quel nom, mais il doit être identique à celui utilisé dans le script. De plus, si vous utilisez syn-python-selenium-1.1 ou une version ultérieure, vous pouvez stocker vos scripts dans n'importe quel dossier et spécifier ce dossier dans le nom du gestionnaire.

    def handler(event, context): basic_selenium_script()

Le script est maintenant mis à jour pour devenir un canari CloudWatch Synthetics. Voici le script mis à jour :

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()

Modification d'un script Puppeteer Synthetics existant pour authentifier des certificats non standard

L'un des principaux cas d'utilisation des canaris Synthetics est de vous permettre de surveiller vos propres terminaux. Si vous souhaitez surveiller un point de terminaison qui n'est pas prêt pour le trafic externe, cette surveillance peut parfois signifier que vous ne disposez pas d'un certificat approprié signé par une autorité de certification tierce de confiance.

Les deux solutions possibles à ce scénario sont les suivantes :

Vous n'êtes pas limité à ces deux options lorsque vous utilisez les canaris CloudWatch Synthetics. Vous pouvez étendre ces fonctionnalités et ajouter votre logique métier en étendant le code Canary.

Note

L'indicateur est activé par défaut pour les canaris Synthetics exécutés sur des environnements d'exécution Python. Ces canaris ne devraient donc pas --ignore-certificate-errors avoir de problèmes pour accéder à des sites dont les configurations de certificats ne sont pas standard.