

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

# 使用 Serverless Framework 在現有的 Lambda 函式上啟用 Lambda Insights
<a name="Lambda-Insights-Getting-Started-serverless"></a>

使用無伺服器架構在現有的 Lambda 函數上啟用 Lambda Insights 如需無伺服器架構的詳細資訊，請參閱 [serverless.com](https://www.serverless.com/)。

這是透過無伺服器的 Lambda Insights 外掛程式完成的。如需詳細資訊，請參閱 [serverless-plugin-lambda-insights](https://www.npmjs.com/package/serverless-plugin-lambda-insights)。

如果您尚未安裝最新版本的無伺服器命令列介面，您必須先進行安裝或升級。如需詳細資訊，請參閱[開始使用無伺服器架構開放原始碼 & AWS](https://www.serverless.com/framework/docs/getting-started/)。

**若要使用無伺服器架構在現有的 Lambda 函數上啟用 Lambda Insights 函數**

1. 在無伺服器目錄中執行下列命令，以安裝 Lambda Insights 的無伺服器外掛程式：

   ```
   npm install --save-dev serverless-plugin-lambda-insights
   ```

1. 在您的 `serverless.yml` 檔案中，將外掛程式新增至 `plugins` 區段，如下所示：

   ```
   provider:
     name: aws
   plugins:
     - serverless-plugin-lambda-insights
   ```

1. 啟用 Lambda Insights。
   + 您可以將下列屬性新增至無伺服器 .yml 檔案，個別啟用每個函數的 Lambda Insights

     ```
     functions:
       myLambdaFunction:
         handler: src/app/index.handler
         lambdaInsights: true #enables Lambda Insights for this function
     ```
   + 您可以新增以下自訂區段，從而為 `serverless.yml` 檔案內的所有函數啟用 Lambda Insights：

     ```
     custom:
       lambdaInsights:
         defaultLambdaInsights: true #enables Lambda Insights for all functions
     ```

1. 輸入下列命令，重新部署無伺服器服務：

   ```
   serverless deploy
   ```

   這會重新部署所有函數，並針對您指定的那些函數啟用 Lambda Insights。其會新增 Lambda Insights 層並使用 `arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy` IAM 政策連接必要的許可，進而啟用 Lambda Insights。