Amazon Lambda 和 Amazon X-Ray - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Lambda 和 Amazon X-Ray

您可以使用 Amazon X-Ray 跟踪 Amazon Lambda 函数。Lambda 运行 X-Ray 进程守护程序并使用有关函数调用和运行该函数的详细信息记录分段。如需进一步检测,您可以将 X-Ray SDK 与您的函数绑定,以便记录传出调用以及添加注释和元数据。

如果您的 Lambda 函数由另一个已检测服务调用,则 Lambda 会跟踪已采样的请求,无需任何额外配置。上游服务可以是经过检测的 Web 应用程序或另一个 Lambda 函数。您的服务可以直接使用已检测的 Amazon SDK 客户端调用该函数,或者通过使用已检测的 HTTP 客户端调用 API Gateway API 来调用该函数。

Amazon X-Ray 支持跟踪使用 Amazon Lambda 和 Amazon SQS 的事件驱动型应用程序。使用 CloudWatch 控制台查看使用 Amazon SQS 排队并由下游 Lambda 函数处理的每个请求的互联视图。上游消息创建者的跟踪会自动链接到下游 Lambda 使用器节点的跟踪,从而创建应用程序的端到端视图。有关更多信息,请参阅跟踪事件驱动型应用程序

注意

如果您为下游 Lambda 函数启用了跟踪,则还必须为调用下游函数的根 Lambda 函数启用跟踪,以便下游函数生成跟踪。

如果您的 Lambda 函数按计划运行,或者由未检测的服务调用,您可以将 Lambda 配置为通过活动跟踪采样和记录调用。

在 Amazon Lambda 函数上配置 X-Ray 集成
  1. 打开Amazon Lambda控制台

  2. 从左侧导航栏中,选择函数

  3. 选择您的函数。

  4. 配置选项卡中,向下滚动到其他监控工具卡片。您也可以通过选择左侧导航窗格中的监控和操作工具来找到此卡片。

  5. 选择编辑

  6. AmazonX-Ray 下,启用活动跟踪

在运行时,通过对应的 X-Ray SDK,Lambda 也运行 X-Ray 进程守护程序。

Lambda 上的 X-Ray SDK
  • X-Ray SDK for G – Go 1.7 和更新版本的运行时

  • X-Ray SDK for Java – Java 8 运行时

  • X-Ray SDK for Node.js – Node.js 4.3 和更高版本的运行时

  • X-Ray SDK for Python – Python 2.7、Python 3.6 和更新版本的运行时

  • X-Ray SDK for .NET – .NET Core 2.0 和更新版本的运行时

要在 Lambda 上使用 X-Ray SDK,请在每次创建新版本时将其与您的函数代码绑定。您可以用检测运行在其他服务上的应用程序的相同方法来检测您的 Lambda 函数。主要差别在于您不使用 SDK 来检测传入请求、做出采样决策和创建分段。

检测 Lambda 函数和 Web 应用程序的另一个差别在于,Lambda 创建并发送到 X-Ray 的分段无法通过函数代码进行修改。您可以创建子分段并在其上记录注释和元数据,但无法将批注和元数据添加到父分段。

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的使用 Amazon X-Ray