合成監控 ( Canary) - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

合成監控 ( Canary)

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

Canary 是以 Node.js、Python 或 Java 編寫的指令碼。它們會在您的帳戶中建立使用 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 提供服務的end-to-end檢視,協助您更有效地找出效能瓶頸並識別受影響的使用者。您利用 CloudWatch Synthetics 建立的 Canary 會顯示在追蹤地圖上。如需詳細資訊,請參閱 X-Ray 追蹤地圖

CloudWatch Synthetics 目前適用於所有商業 AWS 區域和 GovCloud 區域。

注意

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