

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

# 合成監控 ( Canary)
<a name="CloudWatch_Synthetics_Canaries"></a>

您可以使用 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](https://playwright.dev/)。如需 Puppeteer 的詳細資訊，請參閱 [Puppeteer](https://developer.chrome.com/docs/puppeteer/)。如需 Selenium 的詳細資訊，請參閱 [Selenium](https://www.selenium.dev/)。Selenium 上的 Canary 僅支援 Chrome 瀏覽器。Java 中的 Canary 專為彈性監控任何類型的服務或應用程式而設計，不包含瀏覽器支援或架構。

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

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

如需 Canary 的影片示範，請參閱以下內容：
+  [Amazon CloudWatch Synthetics 簡介](https://www.youtube.com/watch?v=MItluIsvfTo) 
+  [Amazon CloudWatch Synthetics 示範](https://www.youtube.com/watch?v=hF3NM9j-u7I) 
+  [使用 Amazon CloudWatch Synthetics 建立 Canary](https://www.youtube.com/watch?v=DSx65wW7lr0) 
+  [使用 Amazon CloudWatch Synthetics 進行視覺化監控](https://www.youtube.com/watch?v=_PCs-ucZz7E) 



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

如需建立和執行 Canary 之前要考量之安全性問題的相關資訊，請參閱[Synthetics Canary 的安全考量](servicelens_canaries_security.md)。

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

CloudWatch Synthetics 可與 X-Ray 追蹤地圖完美整合，以使用 CloudWatch 搭配 AWS X-Ray 提供服務的端對端檢視，協助您更有效率地找出效能瓶頸，並找出受影響的使用者。您利用 CloudWatch Synthetics 建立的 Canary 會顯示在追蹤地圖上。如需詳細資訊，請參閱 [X-Ray 追蹤地圖](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-servicemap.html)。

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

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

**Topics**
+ [CloudWatch Canary 的必要角色和許可](CloudWatch_Synthetics_Canaries_Roles.md)
+ [建立 Canary](CloudWatch_Synthetics_Canaries_Create.md)
+ [Groups (群組)](CloudWatch_Synthetics_Groups.md)
+ [在本地測試 Canary](CloudWatch_Synthetics_Debug_Locally.md)
+ [對失敗的 Canary 進行故障診斷](CloudWatch_Synthetics_Canaries_Troubleshoot.md)
+ [Canary 指令碼的範本程式碼](CloudWatch_Synthetics_Canaries_Samples.md)
+ [Canary 和 X-Ray 追蹤](CloudWatch_Synthetics_Canaries_tracing.md)
+ [在 VPC 上執行 Canary](CloudWatch_Synthetics_Canaries_VPC.md)
+ [加密 Canary 成品](CloudWatch_Synthetics_artifact_encryption.md)
+ [檢視 Canary 統計資料和詳細資訊](CloudWatch_Synthetics_Canaries_Details.md)
+ [Canary 公佈的 CloudWatch 指標](CloudWatch_Synthetics_Canaries_metrics.md)
+ [編輯或刪除 Canary](synthetics_canaries_deletion.md)
+ [啟動、停止、刪除或更新多個 Canary 的執行階段](synthetics_canaries_multi-action.md)
+ [使用 Amazon EventBridge 監控 Canary 事件](monitoring-events-eventbridge.md)
+ [執行安全 Canary 更新](performing-safe-canary-upgrades.md)