在 AWS Lambda 中启用 X-Ray 支持

Enabling X-Ray support in AWS Lambda

我想获取 Lambda 函数的一些 X 射线跟踪。通过阅读文档,我似乎可以在配置中启用主动跟踪,并且它应该自动记录它而无需任何新代码部署正确吗?

只有当我想要自定义子段时,我才会在 lambda 函数中明确地进行一些 X-Ray 调用吗?

是的,你是对的,但有以下警告:

  1. 您需要在 Lambda 控制台中选中 启用主动跟踪 复选框。从您在控制台中的功能 > 配置 选项卡 > 高级 dropdown/section > 检查启用主动跟踪 复选框 > 保存.
  2. 执行上述步骤后,控制台会提示函数执行的IAM策略将被修改。如果您在创建函数时使用的是控制台创建的角色,您可能需要手动修改角色。创建一个新策略并将其附加到角色,创建一个内联策略附件,或编辑具有 SID 的角色的现有策略(这是一个示例 - 在 IAM 策略中谨慎使用 globs):

    {
        "Sid": "AllowXRay",
        "Resource": "*",
        "Action": [
            "xray:PutTraceSegments",
            "xray:PutTelemetryRecords"
        ],
        "Effect": "Allow"
    }
    

完成这些步骤后,我能够在 XRay 控制台中看到我的函数的完整痕迹。