

# 使用无服务器框架对现有 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。
   + 您可以通过将以下属性添加到 serverless.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。