Escrever um script do canário - Amazon CloudWatch

Escrever um script do canário

As seções a seguir explicam como escrever um script de canário e como integrar um canário a outros serviços da AWS e com dependências e bibliotecas externas.

Alterar um script existente do Selenium para ser usado como canário do Synthetics

É possível modificar rapidamente um script existente para Python e Selenium a ser usado como canário. Para obter mais informações sobre o Selenium, consulte www.selenium.dev/

Neste exemplo, começaremos com o seguinte script Selenium:

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

As etapas de conversão são as seguintes.

Para converter um script Selenium para ser usado como canário
  1. Altere a instrução import para usar o Selenium a partir do módulo aws_synthetics:

    from aws_synthetics.selenium import synthetics_webdriver as webdriver

    O módulo Selenium a partir de aws_synthetics garante que o canário poderá emitir métricas e logs, gerar um arquivo HAR e trabalhar com outros recursos do CloudWatch Synthetics.

  2. Crie uma função de manipulador e chame seu método Selenium. O manipulador é a função de ponto de entrada para o script.

    Se estiver usando syn-python-selenium-1.0, a função do manipulador deverá ser nomeada handler. Se estiver usando syn-python-selenium-1.1 ou posterior, a função poderá ter qualquer nome, mas deverá ser o mesmo nome usado no script. Além disso, se você estiver usando syn-python-selenium-1.1 ou posterior, poderá armazenar scripts em qualquer pasta e especificar essa pasta como parte do nome do manipulador.

    def handler(event, context): basic_selenium_script()

Agora, o script é atualizado para ser um canário do CloudWatch Synthetics. Veja a seguir o script atualizado:

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

Como alterar um script existente do Puppeteer Synthetics para autenticar certificados não padrão

Um caso de uso importante dos canários Synthetics é monitorar seus próprios endpoints. Se você quiser monitorar um endpoint que não esteja pronto para tráfego externo, esse monitoramento poderá, às vezes, significar que você não tenha um certificado adequado assinado por uma autoridade de certificação terceirizada confiável.

Duas soluções possíveis para esse cenário são as seguintes:

Você não está limitado a essas duas opções ao usar os canários CloudWatch Synthetics. Você pode estender esses recursos e adicionar sua lógica de negócios estendendo o código canário.

nota

Os canários Synthetics executados em runtimes do Python têm o sinalizador --ignore-certificate-errors habilitado de forma inata, portanto, esses canários não devem ter problemas para acessar sites com configurações de certificado não padrão.