

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

# 使用 Amazon CloudWatch Application Signals 監控應用程式效能
<a name="monitoring-application-signals"></a>

Amazon CloudWatch Application Signals 是應用程式效能監控 (APM) 解決方案，可讓開發人員和操作人員監控使用 Lambda 建置之無伺服器應用程式的運作狀態和效能。您可以從 Lambda 主控台一鍵啟用 Application Signals，且無需將任何設備測試代碼或外部相依關係新增至 Lambda 函數。啟用 Application Signals 後，您可以在 CloudWatch 主控台中檢視收集的所有指標和追蹤。此頁面說明如何為應用程式啟用和檢視 Application Signals 遙測資料。

**Topics**
+ [Application Signals 與 Lambda 的整合方式](#monitoring-application-signals-how)
+ [定價](#monitoring-application-signals-pricing)
+ [支援的執行期](#monitoring-application-signals-runtimes)
+ [在 Lambda 主控台中啟用 Application Signals](#monitoring-application-signals-console)
+ [使用 Application Signals 儀表板](#monitoring-application-signals-dashboard)

## Application Signals 與 Lambda 的整合方式
<a name="monitoring-application-signals-how"></a>

Application Signals 會使用透過 [Lambda 層](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html)提供的增強型 [AWS Distro for OpenTelemetry (ADOT)](https://aws-otel.github.io/) 程式庫，自動檢測您的 Lambda 函數。Application Signals 會讀取層收集的資料，並為您的應用程式產生關鍵效能指標的儀表板。

可以在 Lambda 主控台中[啟用 Application Signals](#monitoring-application-signals-console)，一鍵連接此層。從主控台啟用 Application Signals 時，Lambda 會代表您執行下列動作：
+ 更新函數的執行角色以包含 `CloudWatchLambdaApplicationSignalsExecutionRolePolicy`。[此政策](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLambdaApplicationSignalsExecutionRolePolicy.html)提供用於 Application Signals 的 AWS X-Ray 和 CloudWatch 日誌群組的寫入存取權。
+ 將層新增至您的函數，以自動檢測函數並擷取遙測資料，例如請求、可用性、延遲、錯誤和故障。若要確定 Application Signals 正常運作，請從函數中移除現有的任何 X-Ray SDK 設備測試代碼。自訂 X-Ray SDK 設備測試代碼可能會干擾層提供的設備測試。
+ 將 `AWS_LAMBDA_EXEC_WRAPPER` 環境變數新增至您的函數，並將其值設定為 `/opt/otel-instrument`。此環境變數會修改函數的啟動行為以利用 Application Signals 層，這是進行適當設備測試的必要動作。如果此環境變數已存在，則請確定它已設定為所需的值。

## 定價
<a name="monitoring-application-signals-pricing"></a>

對 Lambda 函數使用 Application Signals 會產生成本。如需定價資訊，請參閱 [Amazon CloudWatch pricing](https://aws.amazon.com/cloudwatch/pricing/)。

## 支援的執行期
<a name="monitoring-application-signals-runtimes"></a>

Application Signals 與 Lambda 的整合適用於下列執行時期：
+ .NET 8
+ Java 11
+ Java 17
+ Java 21
+ Python 3.10
+ Python 3.11
+ Python 3.12
+ Python 3.13
+ Node.js 18.x
+ Node.js 20.x
+ Node.js 22.x

## 在 Lambda 主控台中啟用 Application Signals
<a name="monitoring-application-signals-console"></a>

您可以使用[支援的執行時期](#monitoring-application-signals-runtimes)，在任何現有的 Lambda 函數上啟用 Application Signals。下列步驟說明如何在 Lambda 主控台中一鍵啟用 Application Signals。

**若要在 Lambda 主控台中啟用 Application Signals**

1. 開啟 Lambda 主控台中的[函數頁面](https://console.aws.amazon.com/lambda/home#/functions)。

1. 選擇函數。

1. 選擇 **Configuration** (組態) 索引標籤。

1. 在左側功能表中選擇**監控和操作工具**。

1. 在**其他監控工具**窗格上選擇**編輯**。

1. 在 **CloudWatch Application Signals 和 AWS X-Ray** 以及 **Application Signals** 下，選擇**啟用**。

1. 選擇**儲存**。

如果這是第一次為函數啟用 Application Signals，則您還必須在 CloudWatch 主控台中為 Application Signals 執行一次性服務探索設定。完成此一次性服務探索設定後，Application Signals 會自動探索您在所有區域中啟用 Application Signals 的任何其他 Lambda 函數。

**注意**  
調用更新的函數之後，服務資料最多可能需要 10 分鐘才會開始顯示在 CloudWatch 主控台的 Application Signals 儀表板中。

## 使用 Application Signals 儀表板
<a name="monitoring-application-signals-dashboard"></a>

啟用函數的 Application Signals 之後，可以在 CloudWatch 主控台中視覺化應用程式指標。可以透過下列步驟，從 Lambda 主控台快速檢視關聯的 Application Signals 儀表板：

**若要檢視函數的 Application Signals 儀表板**

1. 開啟 Lambda 主控台中的[函數頁面](https://console.aws.amazon.com/lambda/home#/functions)。

1. 選擇函數。

1. 選擇 **Monitor** (監控) 索引標籤。

1. 選擇**檢視 Application Signals** 按鈕。系統會直接帶您檢視 CloudWatch 主控台中服務的 Application Signals 概觀。

例如，下列螢幕擷取畫面會顯示 10 分鐘時間範圍內函數的延遲、請求數、可用性、故障率和錯誤率指標。

![\[\]](http://docs.aws.amazon.com/zh_tw/lambda/latest/dg/images/monitoring-application-signals-dashboard.png)


若要充分利用與 Application Signals 的整合，可以為應用程式建立服務層級目標 (SLO)。例如，可以建立延遲 SLO 以確定應用程式快速回應使用者請求，以及追蹤運行時間的可用性 SLO。SLO 可協助您在效能下降或中斷影響使用者之前偵測到它們。如需詳細資訊，請參閱《Amazon CloudWatch 使用者指南》中的[服務層級目標 (SLO)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-ServiceLevelObjectives.html)。