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 使用者节点的跟踪,从而创建应用程序 end-to-end 视图。有关更多信息,请参阅跟踪事件驱动的应用程序

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

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

  2. 从左侧导航栏中选择 “功能”。

  3. 选择您的函数。

  4. 在 “配置” 选项卡上,向下滚动到 “监控工具” 卡,然后选择 “编辑”。

  5. AmazonX-Ray 下,启用主动追踪

在使用相应的 X-Ray 开发工具包的运行时,Lay 还会运行 X-Ray (X-Ray Lambda ay (

Lambda aX-Ray 开发工具包
  • 适用于 Go 的 X-Ray 开发工具包

  • 适用于 Java 的 X-Ray 开发工具包 — Jav

  • 适用于 Node.js 的 X-Ray 开发工具包 — Node.js 4.3 及更高版本的运行时

  • 适用于 Python 的 X-Ray 软件开发工具包 — Python 2.7、Python 3.6 和

  • SDK for .NET X-Ray 开发工具包 — .NET Core 2.0

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

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

有关更多信息,请参阅《Amazon Lambda开发者指南》中的 “使用Amazon X-R ay”。