高效排查和解决问题,改进应用程序运行状况,提供更好的客户体验
三个基本的可观测性信号是指标、日志(半结构化数据)和跟踪(跨所有依赖项从开始到结束的请求流程)。这些信号是监控环境的输出,例如容器、微服务和应用程序。目标是为 DevOps 和站点可靠性工程师提供集成体验,以隔离关键事件并使用所有可观测性信号将问题隔离到在任何位置运行的容器化应用程序和微服务。Amazon OpenSearch Service 将日志和跟踪数据结合到单个解决方案中。
可观测性操作
Amazon OpenSearch Service 提供了新功能,以帮助解决您的可观测性问题。使用开放接口收集、路由和转换遥测数据(包括 OpenTelemetry、Fluentd、Fluent Bit、Logstash、Data Prepper 等)。您可以使用本地功能搜索和分析大量半结构化数据。您可以使用 OpenSearch 控制面板的异常检测可观测性功能进行可视化、监控和警报,并使用查询界面竖线处理语言(PPL)对数据进行交互式分析和可视化。
Amazon OpenSearch Service 服务跨四个维度处理可观测性、跟踪分析、日志分析和应用程序性能监控(APM)问题:
收集:首先,您需要收集数据以进行分析。收集包括从多个来源收集、补充、筛选、转换和规范化数据。
检测:客户通常不会在问题开始时立即发现问题,从问题开始形成到您得知之间通常存在延迟。您希望尽量减少这个延迟。检测应该是主动的和多方面的(如遥测警报)。异常检测是一个关键工具,也是一项将相关警报链接在一起以减少警报疲劳的功能。检测的一个核心组件也是可视化和监控,Amazon OpenSearch Service 使用名为 OpenSearch Dashboard 的组件来实现这一点。 您甚至可以使用 PPL 等工具交互式分析数据。
调查:调查是人们在操作事件中花费最多时间的地方,调查通常需要多人参与。这是平均事件发生时间(MTTI)和平均恢复时间(MTTR)的最大贡献因素。突破混乱并了解应该关注什么仍然是一项艰巨的任务。使用日志、指标和跟踪帮助您在 AWS、本地或其他云端快速进行根本原因分析,同时跨指标、日志和跟踪进行关联。使用 OpenSearch Dashboard 笔记本协作进行调查并记录您的分析。
修复:确定故障原因后,您需要进行修复。没有什么比试图解决问题然后让情况变得更糟更坏的结果了。不要忘记进行事后分析,才能确定如何从一开始就防止失败。记录建议的更改,以防止问题再次发生。您的目标应该是确保不再发生相同的问题;但如果发生了,您也可以自动识别并修复。
工作原理:OpenSearch Service
对于日志分析,有多个任务用于构建摄取管道。创建器是后端服务器、AWS 服务、Web 服务器等,包括 OpenTelemetry、适用于 OpenTelemetry 的 AWS Distro、Jaeger 和 Zipkin。收集器从源移动数据,可能在本地转换数据。对于 AWS 本地服务,您可以使用 Amazon Kinesis 代理或 Amazon CloudWatch 代理。对于开放源,常用的收集器是 Elastic Beats、Fluentd、Fluentbit 或 OpenTelemetry 收集器。聚合器缓冲来自收集器的信息,这在很大程度上减少了与 Amazon OpenSearch Service 的总连接数量。Amazon OpenSearch Service 然后会索引并分析聚合器的结果。要可视化和监控结果,您可以使用 OpenSearch Dashboards 或 Kibana。
应用程序性能监控
有时,应用程序性能监控(APM)是可观测性的第一个成熟度等级。只有 APM 是不够的。在您的应用程序监控控制面板全是绿色的情况下,您的应用程序实际上是否按预期执行? 您的客户是否获得了他们所需的用户体验? 您的应用程序有何用途? 您的应用程序的哪些部分达到了扩展限制? 您在哪个地理区域看到了最快的增长? 您可以可视化和规划哪些趋势? 如果您可以收集指标,您就可以确信在部署新代码或更改基础架构时,您可以看到这些更改的影响。可观测性推动 APM 回答这些其他问题。
客户
可观测性资源
博客和文档
AWS 最新资讯博客
新的可观测性界面和日志分析
Amazon OpenSearch Service 现在包含了可观测性界面和日志监控功能,可为开发人员和 DevOps 工程师提供所需的洞察,以提高问题诊断速度并减少应用程序停机时间。
AWS 文档
适用于 Amazon OpenSearch Service 的 Trace Analytics
了解如何使用 Trace Analytics,它是 OpenSearch 可观测性插件的一部分,用于分析来自分布式应用程序的跟踪数据。
研讨会
Amazon OpenSearch Service 的可观测性功能使您不仅进行简单的监控,除了了解正在发生的事件,还了解它们发生的原因。在本次研讨会中,学习如何检测、收集和分析指标、跟踪并记录数据,从用户前端到服务后端以及介于两者之间的所有内容。将这些与 Amazon OpenSearch Service、适用于 OpenTelemetry 的 AWS Distro、FluentBit 和 Data Prepper 结合使用。
AWS 参考架构图
视频
播客
常见问题
问:什么是 Trace Analytics?
Trace Analytics 是 Amazon OpenSearch Service 的一项新增功能,可让开发人员和 IT 运营人员发现并修复分布式应用程序中的性能问题,加快解决问题。Trace Analytics 使用 OpenTelemetry 进行构建,后者是云原生计算基金会(CNCF)的一个项目,它提供一组 API、库、代理和收集器服务,用于捕获分布式跟踪和指标,让客户在利用 Trace Analytics 时无需重新检测应用程序。Trace Analytics 由 OpenSearch 提供支持,该项目是开源的,可供所有人免费下载和使用。
问:为什么应该使用 Trace Analytics?
开发人员和 IT 运营人员需要使用 Trace Analytics 来发现并修复分布式应用程序中的性能问题。通过将跟踪数据添加到 Amazon OpenSearch Service 现有的日志分析功能,客户可以使用相同的服务来隔离性能问题的来源并诊断根本原因。此外,借助对 OpenTelemetry 标准的支持,Trace Analytics 支持与 Jaeger 和 Zipkin SDK(两个常用的开源分布式跟踪系统)进行集成,使开发人员可以继续使用这些开发工具包,而无需重新检测应用程序。
问:Trace Analytics 与 Amazon OpenSearch Service 有何关系/Trace Analytics 如何使用 Amazon OpenSearch Service?
Trace Analytics 是 Amazon OpenSearch Service 的一项集成功能。可供所有客户免费使用。Trace Analytics 的用户界面基于 OpenSearch Dashboards 和 Kibana,用于可视化和浏览跟踪数据,并且集成了 Amazon OpenSearch Service 的主要功能,例如异常检测、警报、细粒度访问控制和企业安全性。在解决应用程序性能问题时,Trace Analytics 补充了客户对 Amazon OpenSearch Service 的使用,用于搜索和分析日志数据。
问:Trace Analytics 支持哪种数据源?
Trace Analytics 目前支持从兼容开源 OpenTelemetry Collector 的应用程序库和开发工具包中收集跟踪数据,包括 Jaeger、Zipkin 和 X-Ray SDK。Trace Analytics 还集成了 AWS Distro for OpenTelemetry,它是 OpenTelemetry API、开发工具包和代理/收集器的发行版,也是 AWS 经过生产使用测试且提供支持的 OpenTelemetry 组件的高性能安全发行版。客户可以使用 AWS Distro for OpenTelemetry 收集多个监控解决方案的跟踪数据和指标,包括收集 Amazon OpenSearch Service 和 AWS X-Ray 的跟踪数据以及收集 Amazon CloudWatch 的指标。
问:如何开始使用 Trace Analytics?
要开始使用 Trace Analytics,请按照此处的文档执行操作。