1

我们正在尝试使用 AWS Xray 通过多个服务跟踪事件。我们通过复选框在 lambda 中启用了 Xray,并添加了 python (v2) SDK。这为我们提供了每个 lambda 的良好信息,但它们没有连接。这是我们的模型:

  1. 事件点击 SNS
  2. 触发 Lambda 以预处理对 SQS 的写入
  3. SQS 中的事件
  4. 另一个 Lambda 获取事件和进程,写入另一个 SNS

我们可以通过patch_all().

我希望看到端到端的连接,但我不知道如何关联这些组件。现在,我们将 Lambda 视为独立的部分,而 SQS 则没有。

4

2 回答 2

2

目前 X-Ray 不支持上述用例,并积极致力于此。目前我们无法分享 ETA 何时可用。

有关更多详细信息,请参阅 https://forums.aws.amazon.com/thread.jspa?messageID=873142劶

于 2019-04-25T19:31:32.857 回答
1

尽管 Rusty 正确地说它目前不受官方支持,但您可以通过在 Lambda 函数内创建一个新的 AWS-Xray 段并使用来自 SQS 消息的传入 TraceID 自己解决这个问题。这将为您的 lambda 调用生成两个段。一个由 Lambda 本身创建,另一个由您创建以扩展现有跟踪。这对于您的用例是否可以接受是您必须自己决定的事情!

如果您使用 Python,则可以使用aws-xray-lambda-segment-shim来完成。
如果您正在使用 NodeJS,您可以按照dev.to 上的本指南进行操作
如果您正在使用 .NET,则此GitHub 问题上有一些示例。

于 2021-08-28T10:37:21.567 回答