与 Lambda 执行日志集成

通过与 Site24x7 的Lambda 扩展集成,实现对 Lambda 环境的实时可观察性。扩展作为 Lambda 函数运行时进程之外的伴随进程运行,因此您可以配置执行环境。

Site24x7 与 Lambda 扩展的集成可帮助您在调用之前、期间和之后插入执行周期。日志是从 Lambda 函数而不是 CloudWatch 日志中获取的,并被推送到 Site24x7 AppLogs 以进一步诊断它们。

当 JSON 访问策略添加了权限lambda:UpdateFunctionConfiguration时,会自动完成集成。

Site24x7 是 AWS 审核的 Lambda 服务就绪计划合作伙伴

AWS-reviewed Lambda Service Ready Program partner

内容

先决条件

对于 AWS 控制台,您需要:

  • AWS 账户 ID。
  • Site24x7 监控的 Lambda 函数。

对于 Site24x7 控制台,您需要:

  • 拥有一个有效且活跃的 AWS 账户。
  • 将您的 AWS 账户与 Site24x7 集成。了解更多
  • 授予lambda:UpdateFunctionConfiguration权限,使我们能够自动将您的账户与 Lambda Extensions 集成。
  • 如果没有,您可以按照以下步骤手动设置集成:

使用扩展 ARN 与 Lambda 扩展集成

要使用扩展 ARN 手动将 Site24x7 与 Lambda 扩展集成,您需要:

  1. 登录到您的 Site24x7 帐户。
  2. 导航到Cloud > AWS > 全部账户汇总 > Lambda 监视器
  3. 选择要与 Lambda 扩展集成的监视器(Lambda 函数)的名称。
  4. 导航到Lambda 执行日志选项卡,您将在其中看到文本字段Log Config KeyLambda Extension ARN及其值。
  5. 登录 AWS 管理控制台,在页面顶部的搜索栏中输入“AWS Lambda”。
  6. 导航到函数 并搜索由 Site24x7 监控的 Lambda 函数。

    AWS Lambda functions to configure.

  7. 选择该功能后,选择图层,然后添加图层
  8. 选择层下,选择指定 ARN。将 Site24x7 控制台中提供的 Lambda 扩展 ARN 粘贴到指定 ARN文本字段中。单击添加

    AWS Lambda functions to add layers.

  9. 收到成功消息后,导航到监控函数的配置选项卡,然后从左侧导航栏中选择环境变量
  10. 选择添加环境变量
  11. 默认情况下,要输入的 Key 是logTypeConfig,Value 是Site24x7 控制台的Log Config Key字段中提供的编码字符串。单击保存。 您将收到一条成功消息。

    Add environment variables for AWS Lambda functions.

  12. 在 Site24x7 控制台中重新加载Lambda 执行日志选项卡以查看成功的集成

使用 .ZIP 存档将 Site24x7 与 Lambda 扩展集成

当您使用 .ZIP 文件进行集成时,必须始终将SITE24X7_LAMBDA_LOG_EXTENSIONlogTypeConfig添加为键。要使用容器映像部署函数,请下载 .ZIP 文件并将扩展文件包含在容器映像的 /opt/extensions 文件夹中。了解更多

要使用 .ZIP 存档将 Site24x7 与 Lambda 扩展集成,您需要:

  1. 登录到您的 Site24x7 帐户。
  2. 导航到云 > AWS > 所有账户摘要 > Lambda 监视器。
  3. 选择要与 Lambda 扩展集成的监视器(Lambda 函数)的名称。
  4. 导航到Lambda 执行日志选项卡,您将在其中看到使用 ZIP 文件集成选项卡,其中包含文本字段Log Config KeyS3 URL以及用于选择区域的下拉列表。
  5. 将共享的S3 URL(基于所选区域)复制并粘贴到浏览器中,然后下载 ZIP 文件。下载的 ZIP 文件包含扩展名。
  6. 登录 AWS 管理控制台,在页面顶部的搜索栏中输入 AWS Lambda。
  7. 导航到图层并单击创建图层
  8. 填写名称字段,然后上传您在步骤 5 中下载的 ZIP 文件。您还可以粘贴 Site24x7 控制台中提供的 S3 URL。单击创建。您将收到一条成功消息。

    Create AWS Lambda layers to integrate lambda extensions.

  9. 创建层后,您可以通过将层包含在 Site24x7 中监控的函数中来添加 Lambda 扩展。复制您在创建层后获得的版本 ARN,并将其粘贴到监控的 Lambda 函数的添加层屏幕中的指定 ARN文本字段中。单击添加
  10. 在监控函数的配置选项卡下,从左侧导航栏中选择环境变量。单击编辑
  11. 编辑环境变量页面中,单击添加环境变量,然后输入键和值。键必须是SITE24X7_LAMBDA_LOG_EXTENSION,值可以是任意值。单击保存

    Create environment variables to integrate AWS Lambda extensions.

  12. 在 Site24x7 控制台中重新加载Lambda 执行日志选项卡以查看成功的集成。

升级 Lambda 扩展版本

(i) ARN 方法

要升级使用 ARN 方法集成的 Lambda 扩展的版本,您需要:

  1. 按照步骤 1 到 3使用 ARN 方法将 Site24x7 与 Lambda 扩展集成。
  2. 导航到Lambda 执行日志选项卡,您会在其中看到顶部的黄色框。单击Upgrade Lambda Log Extension时,将出现一个弹出窗口。选择Upgrade using Extension ARN,其中两个文本字段Log Config KeyLambda Extension ARN将可用。
  3. 使用Log Config KeyLambda Extension ARN的新值,按照步骤 5 到 11创建层,并添加环境变量。
  4. 在 Site24x7 控制台中重新加载Lambda 执行日志选项卡以查看成功的集成。

(ii) .ZIP 存档

要升级使用 .ZIP 存档方法集成的 Lambda 扩展的版本,您需要:

  1. 按照步骤 1 到 3使用 .ZIP 存档将 Site24x7 与 Lambda 扩展集成。
  2. 导航到Lambda 执行日志选项卡,您会在其中看到顶部的黄色框。单击升级 Lambda 日志扩展后,将出现一个弹出窗口。选择使用 ZIP 文件升级,其中将提供文本字段S3 URL
  3. 使用这个新的 S3 URL,按照步骤 5 到 11创建一个层,并添加环境变量。
  4. 在 Site24x7 控制台中重新加载Lambda 执行日志选项卡以查看成功的集成。

性能影响

Lambda 扩展可能会影响您的 Lambda 函数的性能,因为它们与您的代码共享相同的资源。这些共享资源包括 CPU、内存、网络带宽和存储。为了监控 lambda 扩展的性能开销,我们考虑使用扩展时估计额外时间(在您的代码完成运行之后)的指标PostRuntimeExtensionsDuration 。

由于函数执行持续时间和 Lambda 扩展的内存使用量增加,AWS 的 Lambda 函数将产生额外费用。

示例:

要了解 Lambda 扩展对函数的代码大小、执行时间和延迟的性能影响,请考虑以下两种情况:

案例 1:没有 Lambda 扩展的函数执行结果。

Lambda function performance without Lambda Extensions.

案例 2:使用 Lambda 扩展的函数执行结果。

Lambda function performance with Lambda Extensions.