可观测性

获得洞察力并提高应用程序、用户和基础设施的性能

什么是可观测性?

“我的系统正常运行还是已停止?”“终端用户察觉到变快还是变慢?”“我们应建立哪些 KPI 和 SLA 以及如何了解它们是否符合这些指标?” 当您以云端的速度和规模运行时,您无法容忍盲目行动:您需要能够回答像上面那样的各种运行和业务问题。您需要能够在问题出现时指出问题(理想的情况是在其中断客户体验之前),快速地响应,并尽可能快速地解决。为了获得这种洞察力,您需要可观测的系统。

监控和可观测性

“可观测性”描述您对系统中所发生情况的理解程度,常见的手段是收集指标、日志或轨迹。在云中,由于系统极其复杂,可能难以保证可观测性。无论是在数据中心还是在云中,为了实现卓越运营和业务目标,您都需要了解系统的运行情况。可观测性解决方案使您能够收集和分析来自应用程序和基础设施的数据,以便您了解它们的内部状态,并就应用程序可用性和性能问题获得警示,排查故障并予以解决,从而改善终端用户体验。 

可观测性和监控有什么区别?

尽管术语“监控”有时其定义与可观测性不同,但监视是一种使系统可观测的活动,与跟踪和记录等活动配合执行。您经常会看到监控、跟踪和记录被描述为“可观测性的三大支柱”。 但是,还有其他工具可帮助您获得可观测性,例如 Profiler 和 AI/Ops,这将在下方讨论。

可观测性对我有什么帮助?

可观测性让您能够检测和调查问题。

检测

及时检测问题(最好在它影响终端用户之前)是可观测性的第一步。检测应该是主动的和多方面的,包括在突破性能阈值时发出告警、综合测试和异常检测。一个常用的性能指标是平均检测时间 (MTTD)。您可以借助许多活动和工具提高 MTTD:


监控

监控工具记录一段时间内的性能统计数据,以便识别使用模式。监控代理按设定的时间间隔记录选定的指标,并以时间序列格式存储结果数据。

应用程序性能监控

应用程序性能监控 (APM) 可让您监控端到端的客户体验,从浏览器和移动设备到应用程序堆栈的各个层。APM 从前端监控开始 — 从浏览器或移动设备测量和监控客户的体验。APM 的核心是应用程序发现、跟踪和诊断,它能够识别应用程序的哪个部分导致性能问题并快速查明原因。

提示

当出现问题时,您需要及时的提示。但是,过于敏感的检测会导致告警疲劳,因此提示管理也很关键。

AI/Ops 和异常检测

新一代工具现在将人工智能和机器学习的力量用于可观测性,使用机器学习模型来识别异常的应用程序行为并在它们导致潜在的中断或服务中断之前发现关键问题。

基础设施监控

基础设施监控让您可以关联基础设施堆栈中的指标和日志,以了解和解决性能问题的根本原因。

数字化体验监控

数字体验监控 (DEM) 通过从终端用户的浏览器、移动应用程序或语音交互中收集活动,提供对终端用户与系统互动体验的洞察。合成事务涉及创建脚本以在与系统交互时模拟终端用户的行为,以便即使在没有实际负载的情况下也可以对其进行监视和测试。真实用户监控 (RUM) 会监控网站或 API 接收来自世界各地不同节点请求的可用性,同时结合自动化 A/B 测试。

分析

分析工具定期采集测量样本。例如,中央处理单元 (CPU) 通常通过获取 CPU 上代码路径的定时间隔样本来分析。

遥测

遥测是系统的仪表(通常通过监控代理),以便其可以收集有关这些系统如何执行的数据。一旦遥测就位,系统就会开始生成可以监控的数据。但是,公司内的不同团队可能使用不同的工具,这导致必须包含在公司代码库中的监控代理激增,或者如果您决定使用不同或额外的工具,则必须重新检测。OpenTelemetry 项目使得仅检测一次应用程序并将相关指标和轨迹发送到多个监控解决方案成为可能。

侦查

调查是运营事件中最耗时的阶段。当出错时,可能很难理解应该最优先修复什么。同时使用多个可观测性源可以帮助您快速调查以了解根本原因,但要有效地做到这一点,您需要跨指标、日志和轨迹关联数据。 


跟踪

跟踪记录系统事件,例如来自客户端的 HTTP 请求。在分布式跟踪中,捕获的有关事件的详细信息包括跨多个服务/应用程序的请求路径,以及有关请求的指标,例如每个步骤的延迟。

可视化工具

可观测性,尤其是在云规模级,会产生海量的数据,难以通过人工完成解析。可视化工具通过在可观测性数据与直观的图形显示之间搭建桥梁,帮助用户弄明白这些数据。

我何时需要使用可观测性?

了解应用程序运行状况和性能以改善客户体验

可观测性的主要目标是随时随地了解系统中正在发生的情况,使您能够确保终端用户获得可达到的最佳体验。您想快速地检测问题、高效地调查这些问题,并尽快地纠正问题以最大限度地减少停工时间以及对客户造成的其他中断;这方面一项常用的指标是平均恢复时间 (MTTR)。

提高开发人员的工作效率

传统调试方法 – 通过分析日志,或检测代码中的断点 – 枯燥、重复且耗时,并且不能针对生产应用程序或者利用微服务或无服务器架构建立的应用程序很好地扩展。为了在分布式应用程序中分析性能,开发人员需要相关指标和轨迹以识别任何来源的用户影响,并尽快找到中断或费用高昂的代码路径。在完成这些任务的过程中,当他们需要向工具箱添加新的可观测性工具时无需重新检测其代码。合适的可观测性工具套件可以帮助开发人员更好更快地进行编码和测试。

提高运营有效性和效率

可观察性可以帮助您发现云机群的性能改进,从而降低成本。例如,在数十万或数百万个实例中,一个应用程序 CPU 使用量的微小性能改进最终可以节省数百万美元。同样,通过使用可观测性来了解和预测您未来的容量需求,您可以利用预订和现货定价节省大量成本。

AWS 提供哪些可观测性解决方案?

AWS 服务

我们的 AWS 原生可观测性解决方案是从头开始开发的,用于观察其他 AWS 服务、以云规模运行并提供企业级安全性。

自动从您的 AWS 应用程序中摄取操作数据,并应用由 Amazon.com 和 AWS 多年卓越运营所训练出的机器学习模型,以识别异常的应用程序行为并在它们导致中断或服务中断之前发现关键问题。

跨多个应用程序和系统执行分布式跟踪,以帮助发现系统中的延迟并针对它进行改进。

自动从您的 AWS 应用程序中摄取操作数据,并应用由 Amazon.com 和 AWS 多年卓越运营所训练出的机器学习模型,以识别异常的应用程序行为并在它们导致中断或服务中断之前发现关键问题。

使用火焰图找出应用程序中 CPU 密集程度最高的代码路径,并优化您的代码以提高性能,降低基础设施成本。

开源

我们提供的服务基于流行的开源可观察性软件并与之完全兼容。您可以继续使用您已经在其中进行了投资的熟悉工具,同时无需处理大规模扩展和实现安全性所要完成的繁重工作。

这是 AWS 支持的 OpenTelemetry 项目发行版,安全且可随时投入生产。凭借该工具,您只需检测应用程序一次即可将相关的指标和轨迹发送至多个 AWS 和合作伙伴的监控解决方案中。

基于 Prometheus 并与之兼容的托管监控服务,Prometheus 是针对容器环境优化的流行开源监控和提示解决方案。使用 Prometheus 查询语言 (PromQL) 监控容器化工作负载的性能。

基于 Grafana 的完全托管式服务,Grafana 是流行的开源分析平台。无论指标存储在何处,都可以查询、可视化、提示和理解指标。创建、探索和共享可观测性控制面板。

Amazon OpenSearch Service 可让您轻松执行交互式日志分析、实时应用程序监控、网站搜索等工作。OpenSearch 是一款开源的分布式搜索和分析套件,衍生自 Elasticsearch。Amazon OpenSearch Service 提供最新版本的 OpenSearch,支持 19 个版本的 Elasticsearch(1.5 到 7.10 版本),并支持由 OpenSearch Dashboards 和 Kibana(1.5 到 7.10 版本)提供的可视化功能。

客户案例

Mapbox

Mapbox

Mapbox 是一种用于定制地图的开源地图平台,每月的使用人数超过 3 亿人。Mapbox 使用 Amazon CloudWatch 从多个数据源提取信息—包括本机 AWS 指标、自定义指标以及日志—并监控和显示关键工作负载和资源优化。

“我们一直在寻求将所有监控、日志记录、指标和报警合并到单一工具中。CloudWatch 帮助我们减轻了建立、配置和学习第三方系统的运营负荷。我们的团队使用 CloudWatch 广泛地监控多种重要工作负载的错误率和状态代码。我们还使用 CloudWatch 自动完成 Auto Scaling 操作,使我们能够优化支持我们 Amazon ECS 集群的 Amazon EC2 实例类型的成本。CloudWatch Events 让我们能够向团队提供利用率和定价信息,使他们能够审计账户安全性、对合规性和安全性使用案例触发 AWS Lambda 操作,并为使用云的资源建立计划。CloudWatch 可实现更高级的自动化,扩展所有个体的容量。”

Emily McAfee,平台工程经理 - Mapbox

Pushpay

Pushpay

Pushpay 的目标是通过巩固社区、联系和归属,将人们聚到一起。我们构建世界级的散发和移动应用程序发布解决方案,以帮助组织壮大其社区。

“我们当前的日志分析解决方案产生设置和维护开销,并有不同的保留要求,代价高昂,无法让我们的工程团队在开发和测试环境中都能获取和查询日志。通过 CloudWatch Logs Insights,我们现在能够在 CloudWatch Logs 查询日志,降低了运营复杂性。按查询付费让我们能够灵活地按自己的步伐扩展,我们的工程师可以立即开始使用和查询日志,而不必像使用当前的解决方案那样等待设置、集成和提取完成。我们还从查看指标和日志中受益,能够更快地排查故障。Logs Insights 是一种高效且实惠的解决方案,让工程师们能够监控其应用程序并深入研究日志,全都从单一 AWS 控制台进行。”

Peter Goodman,网站可靠性工程总监 - Pushpay

SendGrid

SendGrid

SendGrid 是一家云电子邮件提供商,每个月为超过 69,000 个付费客户发送超过 400 亿封电子邮件。SendGrid 早在其迁移到 AWS 时就采用了 Amazon CloudWatch,目的就是为了获得系统可视性、操作见解,并进行资源优化。

“CloudWatch 让我们能够从各种 AWS 服务收集指标,例如 Amazon EC2、Amazon Kinesis、Amazon DynamoDB 和 Amazon API Gateway,以及从 AWS Lambda 函数收集日志。我们很高兴能够实现原生集成,而不需要自行管理的堆栈或第三方 SaaS 供应商。这有助于我们非常快速地启动报警、自动扩展和容量规划。由于能够快速简洁地满足我们的主要使用案例,CloudWatch 成了我们的首选解决方案。”

Joshua Barratt,II 级架构师 - SendGrid

亲身了解可观测性

观看互动式和沉浸式的 One Observability 研讨会,并亲自动手使用 Amazon CloudWatchAWS X-Ray。在研讨会上,您将部署一个复杂的微服务应用程序,并在现代环境中设置监控和可观测性。您将清楚地了解日志、指标、容器和无服务器监控以及跟踪技术。

启动研讨会 
最新资讯
日期(最新到最老)
  • 日期(最新到最老)
1
未找到任何结果。
博客
日期
  • 日期
1
未找到符合条件的博客。

找出在 AWS 中进行管理和监管的其他使用案例

Page-Illo_AWS-Management-Governance_Open and Custom Resource Provisioning
预置与编排 »

构建、预置和共享资源

Page-Illo_AWS-Management-Governance_Automated Configuration Compliance and Auditing
配置、合规性与审计 »

审计并修复资源配置

Page-Illo_AWS-Management-Governance_Centralized and Automated Operations Management
集中运营管理 »

管理云运营

Page-Illo_AWS-Management-Governance_Governance at Scale
企业管治和控制 »

建立集中管理的多账户 AWS 安全环境