如何使用 AWS Xray 跨多个 lambda 和 SQS 连接跟踪
How to use AWS Xray to connect traces across multiple lambda and SQS
我们正在尝试使用 AWS Xray 通过多项服务来跟踪事件。我们通过复选框在 lambda 中启用了 Xray,并添加了 python (v2) SDK。这为我们提供了每个 lambda 的良好信息,但它们没有关联。这是我们的模型:
- 事件点击 SNS
- 触发 Lambda 以预处理写入 SQS
- SQS 中的事件
- 另一个 Lambda 获取事件并处理,写入另一个 SNS
我们可以通过 patch_all()
看到 python 正在调用的 python 库。
我希望看到端到端的连接,但我不知道如何关联这些组件。现在我们将 Lambda 视为独立的部分,与 SQS 无关。
目前 X-Ray 不支持上述用例并积极致力于此。目前我们无法分享 ETA 何时可用。
详情请看
https://forums.aws.amazon.com/thread.jspa?messageID=873142󕊶
虽然 Rusty 正确地说它目前不受官方支持,但您可以通过在 Lambda 函数内创建一个新的 AWS-Xray 段并使用来自 SQS 消息的传入 TraceID 自行解决此问题。这将为您的 lambda 调用生成两个段。一种是 Lambda 自己创建的,另一种是您创建的以扩展现有跟踪。这对于您的用例是否可以接受是您必须自己决定的事情!
如果您使用 Python,您可以使用 aws-xray-lambda-segment-shim。
如果你正在使用 NodeJS,你可以关注 this guide on dev.to.
如果您使用的是 .NET,那么这里有一些示例 GitHub issue。
我们正在尝试使用 AWS Xray 通过多项服务来跟踪事件。我们通过复选框在 lambda 中启用了 Xray,并添加了 python (v2) SDK。这为我们提供了每个 lambda 的良好信息,但它们没有关联。这是我们的模型:
- 事件点击 SNS
- 触发 Lambda 以预处理写入 SQS
- SQS 中的事件
- 另一个 Lambda 获取事件并处理,写入另一个 SNS
我们可以通过 patch_all()
看到 python 正在调用的 python 库。
我希望看到端到端的连接,但我不知道如何关联这些组件。现在我们将 Lambda 视为独立的部分,与 SQS 无关。
目前 X-Ray 不支持上述用例并积极致力于此。目前我们无法分享 ETA 何时可用。
详情请看 https://forums.aws.amazon.com/thread.jspa?messageID=873142󕊶
虽然 Rusty 正确地说它目前不受官方支持,但您可以通过在 Lambda 函数内创建一个新的 AWS-Xray 段并使用来自 SQS 消息的传入 TraceID 自行解决此问题。这将为您的 lambda 调用生成两个段。一种是 Lambda 自己创建的,另一种是您创建的以扩展现有跟踪。这对于您的用例是否可以接受是您必须自己决定的事情!
如果您使用 Python,您可以使用 aws-xray-lambda-segment-shim。
如果你正在使用 NodeJS,你可以关注 this guide on dev.to.
如果您使用的是 .NET,那么这里有一些示例 GitHub issue。