可以为 Lambda 函数启用 Application Signals。这样,函数就会向 Application Signals 发送指标,可以使用这些指标来监控应用程序的运行状况,并根据业务目标跟踪其长期性能。
启用后,Application Signals 使用通过 Lambda 层提供的增强型 AWS Distro for OpenTelemetry(ADOT)库自动检测 Lambda 函数。此 Lambda 层会打包并部署 Application Signals 自动检测所需的库。
除了支持 Application Signals 外,此 Lambda 层还是 Lambda OpenTelemetry 支持的组件,可提供跟踪功能。
目录
入门
有三种方法可以为 Lambda 函数启用 Application Signals。
为 Lambda 函数启用 Application Signals 后,该函数的遥测数据需要几分钟才能显示在 Application Signals 控制台中。
使用 CloudWatch Application Signals 控制台
使用 Lambda 控制台
手动将 Application Signals 层添加到 Lambda 函数运行时。
每一种方法都会将 AWS Distro for OpenTelemetry 层添加到函数。
使用 CloudWatch Application Signals 控制台
按照以下步骤使用 Application Signals 控制台为 Lambda 函数启用 Application Signals。
使用 Application Signals 控制台为 Lambda 函数启用 Application Signals
通过 https://console.aws.amazon.com/cloudwatch/
打开 CloudWatch 控制台。 在导航窗格中,选择 Application Signals、服务。
在服务列表区域中,选择启用 Application Signals。
选择 Lambda 磁贴。
选择要为 Application Signals 启用的每个函数,然后选择完成。
使用 Lambda 控制台
按照以下步骤使用 Lambda 控制台为 Lambda 函数启用 Application Signals。
使用 Lambda 控制台为 Lambda 函数启用 Application Signals
通过 https://console.aws.amazon.com/lambda/
打开 AWS Lambda 控制台。 在导航窗格中,选择函数,然后选择要启用的函数名称。
选择配置选项卡,然后选择监控和操作工具。
选择编辑。
在 CloudWatch Application Signals 和 X-Ray 部分中,选择使用 Application Signals 自动收集应用程序跟踪和标准应用程序指标和使用 X-Ray 自动收集 Lambda 服务跟踪来实现端到端可见性。
选择保存。
手动启用 Application Signals
按照以下步骤为 Lambda 函数手动启用 Application Signals。
为 Lambda 函数手动启用 Application Signals
将 Application Signals Lambda 层添加到 Lambda 运行时。要查找层 ARN,请参阅 Application Signals Lambda 层 ARN。
添加环境变量
AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-instrument
将 AWS 托管式 IAM 策略 CloudWatchLambdaApplicationSignalsExecutionRolePolicy 策略附加到 Lambda 执行角色。
(可选)我们建议您启用 Lambda 主动跟踪来获得更好的跟踪体验。有关更多信息,请参阅使用 AWS X-Ray 可视化 Lambda 函数调用。
手动禁用 Application Signals
按照以下步骤为 Lambda 函数手动禁用 Application Signals。
要为 Lambda 函数手动禁用 Application Signals,请从 Lambda 运行时中删除 Application Signals Lambda 层,然后删除 AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-instrument
环境变量。
Application Signals Lambda 层 ARN
下表列出了每个支持 Application Signals Lambda 层的区域所使用的 ARN。
区域 | ARN |
---|---|
美国东部(弗吉尼亚州北部) |
|
美国东部(俄亥俄州) |
|
美国西部(加利福尼亚北部) |
|
美国西部(俄勒冈州) |
|
非洲(开普敦) |
|
亚太地区(香港) |
|
亚太地区(海得拉巴) |
|
亚太地区(雅加达) |
|
亚太地区(墨尔本) |
|
亚太地区(孟买) |
|
亚太地区(大阪) |
|
亚太地区(首尔) |
|
亚太地区(新加坡) |
|
亚太地区(悉尼) |
|
亚太地区(东京) |
|
加拿大(中部) |
|
欧洲地区(法兰克福) |
|
欧洲地区(爱尔兰) |
|
欧洲地区(伦敦) |
|
欧洲地区(米兰) |
|
欧洲地区(巴黎) |
|
欧洲地区(西班牙) |
|
欧洲地区(斯德哥尔摩) |
|
欧洲(苏黎世) |
|
以色列(特拉维夫) |
|
中东(巴林) |
|
中东(阿联酋) |
|
南美洲(圣保罗) |
|
启用事务搜索
可以使用事务搜索来增强 Lambda 的可观测性,这样无需采样即可捕获 Lambda 函数调用的所有跟踪跨度。此功能允许收集函数的 100% 跨度,而不受跟踪上下文传播中 sampled
标志的影响。这可确保不会对下游依赖服务产生额外影响。通过在 Lambda 上启用事务搜索,您可以全面了解自己的函数性能,并可以解决很少发生的问题。要开始使用,请参阅 Transaction Search。