合成監控 ( Canary) - Amazon CloudWatch

合成監控 ( Canary)

您可以使用 Amazon CloudWatch Synthetics 來建立 Canary (這是在排程上執行的可設定指令碼),來監控端點和 API。Canary 遵循相同的路由並執行與客戶相同的動作,即使您的應用程式沒有任何客戶流量,也能持續驗證您的客戶體驗。透過使用 Canary,您可以在客戶之前發現問題。

Canary 是以 Node.js、Python 或 Java 撰寫的指令碼。Canary 會使用 Node.js、Python 或 Java 作為執行時期,在您的帳戶中建立 Lambda 函式。Canary 透過 HTTP 和 HTTPS 通訊協定運作。Canary 使用包含 CloudWatch Synthetics 程式庫的 Lambda 圖層。程式庫包含 NodeJS、Python 和 Java 的 CloudWatch Synthetics 實作。

Node.js 和 Python 執行時期中的 Canary 提供透過 Playwright、Puppeteer 或 Selenium Webdriver 程式化存取無周邊瀏覽器的功能。支援多個瀏覽器,包括無周邊 Google Chrome 瀏覽器和 Mozilla Firefox。如需 Playwright 的詳細資訊,請參閱 Playwright。如需 Puppeteer 的詳細資訊,請參閱 Puppeteer。如需 Selenium 的詳細資訊,請參閱 Selenium。Selenium 上的 Canary 僅支援 Chrome 瀏覽器。Java 中的 Canary 專為彈性監控任何類型的服務或應用程式而設計,不包含瀏覽器支援或架構。

Canary 會檢查端點的可用性和延遲,並可儲存 UI 的載入時間資料和螢幕擷取畫面。它們會監控您的 REST API、URL 和網站內容,並且可以檢查來自網路釣魚、程式碼插入和跨網站指令碼的未經授權變更。

CloudWatch Synthetics 與 Application Signals 整合,可探索並監控您的應用程式服務、用戶端、Synthetics Canaries 和服務相依性。使用 Application Signals 查看服務清單或視覺化地圖,根據您的服務等級目標 (SLO) 檢視運作狀態指標,並深入了解相關的 X-Ray 追蹤以取得更詳細的疑難排解。若要在 Application Signals 中查看您的 Canaries,請開啟 X-Ray 作用中追蹤。您的 Canary 會顯示在與您的服務相連的應用程式地圖以及它們呼叫之服務的服務詳細資訊頁面中。

如需 Canary 的影片示範,請參閱以下內容:

您可以只執行一次 Canary,也可以定期執行。Canary 可以每分鐘執行一次。您可以使用 Cron 與 Rate 表達式來排程 Canary。

如需建立和執行 Canary 之前要考量之安全性問題的相關資訊,請參閱Synthetics Canary 的安全考量

根據預設,Canary 會在 CloudWatchSynthetics 命名空間中建立數個 CloudWatch 指標。這些指標具有 CanaryName 的維度。使用函數庫中 executeStep()executeHttpStep() 函數的 Canary 也具有 StepName 的維度。如需 Canary 函數庫的詳細資訊,請參閱適用於 Canary 指令碼的程式庫函數

CloudWatch Synthetics 可與 X-Ray 追蹤地圖完美整合,以使用 CloudWatch 搭配 AWS X-Ray 提供服務的端對端檢視,協助您更有效率地找出效能瓶頸,並找出受影響的使用者。您利用 CloudWatch Synthetics 建立的 Canary 會顯示在追蹤地圖上。如需詳細資訊,請參閱 X-Ray 追蹤地圖

CloudWatch Synthetics 目前在所有商業 AWS 區域和 GovCloud 區域可用。

注意

在亞太區域 (大阪),AWS PrivateLink 不受支援。在亞太區域 (雅加達),AWS PrivateLink 與 X-Ray 不受支援。