亚马逊AWS官方博客
用于自动检测应用程序的 Amazon CloudWatch Application Signals(预览版)
分布式系统面临的挑战之一是它们由许多相互依赖的服务构成,当您尝试监控它们的性能时,这会增加一定程度的复杂性。为了确定哪些服务和 API 出现高延迟或可用性降低,需要手动汇总遥测信号。由于指标、跟踪、日志、真实用户监控和综合监控方面的体验不一致,这可能需要耗费时间和精力来确定系统出现的任何问题的根本原因。
您希望为客户提供持续可用和高性能的应用程序。同时,确保实现这一点的监测必须高效、具有成本效益,并且不存在无差别的繁重负担。
Amazon CloudWatch Application Signals 可帮助您根据应用程序性能的最佳实践自动检测应用程序。无需手动操作,没有自定义代码,也没有自定义控制面板。您将获得预先构建的标准化控制面板,其中显示了与应用程序性能相关的最重要指标,例如请求量、可用性、延迟等。此外,您还可以在应用程序上定义服务级别目标(SLO),以监控对您的业务最重要的特定操作。举例来说,SLO 可以是设定一个目标,即在 28 天滚动间隔时间内,99.9% 的情况下网页应在 2000 ms 内呈现。
Application Signals 可自动关联指标、跟踪、日志、真实用户监控和综合监控之间的遥测数据,以加快故障排查并减少应用程序中断。通过提供在应用程序背景下分析性能的集成体验,Application Signals 将重点放在支持最关键业务功能的应用程序上,从而提高工作效率。
我个人最喜欢的是 Application Signals 让团队之间的协作成为可能。我在这篇文章的开头提到,分布式系统由许多相互依赖的服务构成。在服务地图上(我们将在本文后面介绍),如果您作为服务所有者发现由其他服务引起的问题,可以向其他服务的所有者发送链接,以高效地协作完成分类任务。
Application Signals 入门
通过启用新 Amazon CloudWatch 可观测性 EKS 插件在 Amazon EKS 控制台中创建新 Amazon EKS 集群时,您可以轻松收集应用程序和容器遥测数据。另一种选择是直接在 Amazon CloudWatch 控制台中启用现有 Amazon EKS 集群或其他计算类型。
通过 Amazon EKS 插件或适用于其他计算类型的自定义选项启用 Application Signals 后,Application Signals 会自动发现服务并生成一组标准的应用程序指标,例如 API 和依赖项的请求量和延迟峰值或可用性下降等。
发现的所有服务及其黄金指标(请求量、延迟、故障和错误)随后将自动显示在服务页面和服务地图上。服务地图让您可以直观地深入评估服务的运行状况、其操作、依赖项以及操作和依赖项之间的所有调用路径。
在 Application Signals 中启用的服务列表也将与所有服务和依赖项的运行指标一起显示在服务控制面板中,以便轻松发现异常。如果 EKS 集群属于在 AppRegistry 中标记的应用程序,则会自动填充应用程序列。托管于列会自动检测服务请求在哪个 EKS 容器组、集群或命名空间组合中运行,您可以选择其中一个直接转到容器洞察,以获取 CPU 或内存利用率等详细的容器指标。
使用 Application Signals 进行团队协作
现在,扩展到我在本文开头提到的团队协作。假设您查阅服务控制面板进行完整性检查,发现其中一项名为 pet-clinic-frontend
的服务存在两个 SLO 问题。贵公司维护着一组 SLO,您可以通过此视图来了解应用程序在实现目标方面的表现。对于在 AppRegistry 中标记的服务,所有团队都拥有应用程序定义和所有权的中心视图。继续导航到服务地图可为您提供有关此服务运行状况的更多详细信息。
此时您决定将 pet-clinic-frontend
服务的链接发送给您在 AppRegistry 中找到的 Sarah。Sarah 是这项服务的待命人员。该链接可让您高效地与 Sarah 协作,因为该链接经过精心设计,可直接出现在分类视图上,该视图会根据您对问题的发现进行情境化处理。Sarah 注意到,许多请求的 POST/api/客户/所有者
延迟已增加到 2k ms,作为服务所有者,她深入研究了根本原因。
点击延迟图可返回与操作、指标和时刻直接对应的相关跟踪列表,这有助于 Sarah 找到可能导致延迟增加的确切踪迹。
Sarah 使用 Amazon CloudWatch Synthetics 和 Amazon CloudWatch RUM,并启用了 X-Ray 主动跟踪集成,以自动查看与该服务相关的 Canary 和页面列表。现在,这种集成视图可帮助 Sarah 从多个角度了解应用程序的性能,并在单个视图中快速排除异常问题。
现已推出
Amazon CloudWatch Application Signals 现已提供预览版,您可以立即在以下 AWS 区域中开始使用:美国东部(弗吉尼亚州北部)、美国东部(俄亥俄州)、美国西部(俄勒冈州)、欧洲地区(爱尔兰)、亚太地区(悉尼)和亚太地区(东京)。
要了解更多信息,请访问 Amazon CloudWatch 用户指南。您可以将问题提交给 AWS re:Post for Amazon CloudWatch,也可以通过普通的 AWS Support 联系人提交。
– Veliswa