在 2023 年 11 月,我们宣布了 ,这是一种内置的应用程序性能监控(APM)解决方案,旨在解决监控托管于 、 和 的分布式应用程序性能复杂性。ApplicationSignals 能够自动关联指标、跟踪和日志的遥测数据,加快故障排查流程,并减少应用程序中断的情况。通过提供集成的性能分析工具,ApplicationSignals 帮助你专注于支持业务关键功能的应用,从而提高生产效率。
今天我们宣布,Application Signals 已支持 AWS Lambda,消除了手动设置和评估 Lambda 函数健康状况所需的复杂性。通过 ,你现在可以收集应用程序的黄金指标(传入和传出的请求量、延迟、故障和错误)。
AWS Lambda抽象化了基础基础设施的复杂性,使你能够专注于应用程序的构建,而无需监控服务器健康。这使得你可以将注意力转向监控应用程序的性能和健康状况,这是确保应用程序在高峰时期保持最佳性能和可用性的必要条件。这需要深入了解性能洞察,例如交易量、延迟波动、可用性下降和关键业务操作及应用编程接口(API)中的错误。
过去,你需要花费大量时间在多个工具中关联分散的日志、指标和跟踪,以确定异常的根本原因,从而增加了恢复时间(MTTR)和运营成本。此外,使用自定义代码或通过开源(OSS)库手动进行仪器化构建自己的 APM 解决方案耗时费力,且往往导致冷启动时间增加和管理大量 Lambda 函数时的部署挑战。现在,你可以使用 Application Signals无缝监控和排查无服务器应用程序的健康和性能问题,而无需开发人员任何手动仪器化或代码更改。
通过 Application Signals 预构建的标准化仪表板,你可以仅需几次点击就能识别性能异常的根本原因,并深入查看关键业务操作和 API的性能指标。这帮助你可视化应用程序拓扑,展示函数及其依赖项之间的互动。此外,你还可以为应用程序定义 ,以监控对你最重要的特定操作。举个例子,SLO 的一个目标可以是设定网页应该在 2000 毫秒内渲染 99.9% 的时间,且在过去的 28 天滚动周期内达成。
Application Signals 自动使用增强版的 AWS Distro for OpenTelemetry (ADOT) 库对你的 Lambda函数进行仪器化。这将提供更好的性能,例如降低冷启动延迟、内存占用和函数调用持续时间,帮助你快速监控应用程序。
我有一个现有的 Lambda 函数 appsignals1,并将在 Lambda 控制台中配置 Application Signals以收集该应用程序的各种遥测数据。
在函数的配置选项卡中,我选择 监控和操作工具 ,以启用 应用信号 和 Lambda 服务跟踪 。
删除)
我有一个名为 myAppSignalsApp 的应用,该 Lambda 函数被
。我已定义一个 SLO,以监控对我最重要的特定操作,设定的目标是该应用在 1 天的滚动周期内
99.9%的时间内执行不超过 10 毫秒。
应用信号发现函数后需 5-10 分钟的时间。你需要刷新 服务 页面,以查看服务的状态。
现在我在 服务 页面,可以查看所有已被 Application Signals 发现的 Lambda 函数列表。所有发出的遥测都会在这里显示。
我可以随后从 服务地图 中可视化整个应用程序拓扑,快速识别服务各个操作和依赖关系中的异常,使用新收集的请求量、延迟、故障和错误指标。为了排查问题,我可以点击任何时间点的应用指标图,发现与该指标相关的跟踪和日志,从而快速识别对最终用户造成影响的问题是孤立于个别任务还是部署造成的。
Amazon CloudWatch Application Signals for Lambda 现已正式推出,您可以在所有 Lambda 和 Application Signals 可用的 AWS 区域内立即开始使用。现阶段,Application Signals 适用于使用 Python 和 Node.js 的 Lambda 函数,我们将继续在不久的将来增加对其他 Lambda 运行时的支持。
想了解更多信息,请访问 和 。你也可以通过 提交你的问题,或通过你的常规 AWS 支持联系方式进行咨询。
–

Veliswa Boya是一名高级开发者倡导者,来自南非,与撒哈拉以南非洲的开发者社区密切合作。她在技术领域履行过多种角色,从开发人员到分析师、架构师到云工程师,现在是一名开发者倡导者。Veliswa特别享受与那些新进入技术领域和刚开始使用 AWS 的人一起工作。
Leave a Reply