Elastic 可观察性 - 适用于当今 “永远在线” 世界的解决方案

911 阅读15分钟

作者:Bahubali Shetti

当今世界,我们的生活很大程度上由应用程序控制。 无论是用于商业用途还是个人用途,我们都希望这些应用程序 “始终在线” 并能够立即做出响应。 这些高期望对开发人员和运营人员提出了巨大的要求。

管理这些应用程序需要 SRE (Site Reliability Engineer - 网站可靠性工程师)不仅要分析来自应用程序的大量数据,还要分析其运行的基础架构中的大量数据。 此外,SRE 确保在其操作流程中使用(或构建)适当的工具。 因此,管理呈指数级增长的数据、解决日常问题以及不断使用工具和操作流程会留出有限的时间来了解业务绩效。

借助 Elastic Observability,SRE 不仅可以整合和分析所有遥测数据,还可以结合业务数据来帮助推动卓越运营、提高生产力并获得有价值的见解。

Elastic Observability 建立在 Elastic Stack 之上,Elastic Stack 是一种经过验证的基于搜索的解决方案,被全球客户用于任务关键型应用程序。 Elastic Observability 利用 10 年的机器学习 (ML) 开发经验,帮助 SRE 在一个解决方案中跨云原生和分布式系统进行监控、聚合和洞察。 Elastic Observability 大规模管理高基数和高维度数据,以帮助打破孤岛并将应用程序、基础设施和用户遥测数据汇集在一起,以在单个平台上实现端到端的可观察性。

作为一个单一的平台,Elastic 帮助 SRE 关联无限的遥测数据,包括指标、日志和跟踪,利用搜索的力量打破孤岛并将数据转化为洞察力。 作为一个全栈可观察性解决方案,从基础设施监控到日志监控和应用程序性能监控 (APM) 的一切都可以在单一、统一的体验中找到。

Elastic Observability 提供对 AWS、Microsoft Azure 和 Google Cloud 等云环境的可见性,以及为无缝数据摄取而构建的集成。 Elastic 可观察性还支持云原生和微服务技术,如 Kubernetes 和无服务器,以确保采用。 凭借其开源根源,Elastic 支持最新和流行的开源项目,如 OpenTelemetry,它正在标准化可观察性摄取。

Elastic Stack 的强大功能和灵活性使 SRE 能够全面了解从应用程序到基础设施的全貌,同时还能帮助他们管理业务绩效。

借助 Elastic 可观察性实现卓越运营

作为 SRE,你必须通过从多个位置收集的遥测数据来管理复杂的分布式环境:业务洞察力、应用程序(前端和后端组件)、基础设施,甚至 DevOps 工具。

虽然获取数据很重要,但真正需要回答的是具体的运营问题,例如:客户体验是否下降? 应用程序的吞吐量、延迟等是多少? 我的基础设施优化了吗? 我们花钱太多了吗? 开发流水线是否优化? 可观察性遥测数据可以帮助回答这些问题等等。

Elastic 提供以下功能来帮助从多个位置提取和聚合数据,包括业务洞察力:

  • Elastic Synthetic Monitoring - 监控客户旅程并了解 Web/前端性能对用户体验的影响。 在你的客户之前,从外部角度获得对网站性能和可用性的完整可见性和发现问题。
  • 具有原生 OpenTelemetry 支持的 Elastic APM - 深入了解你的云原生和分布式应用程序(从微服务到无服务器架构),并快速识别和解决问题的根本原因。 无缝采用 APM 来自动识别异常、映射服务依赖关系并简化对异常值和异常行为的调查。 通过本机 OpenTelemetry 支持对流行语言的广泛支持来优化你的应用程序代码。
  • Elastic 集成 - Elastic 拥有超过 350 个开箱即用的集成,可让数据摄取和连接到其他数据源变得容易。 一旦你的数据在 Elasticsearch 中,你可以在几分钟内可视化并获得初步见解。 这些集成可帮助你从应用程序服务、云服务提供商 (AWS/Azure/GCP)、Kubernetes、无服务器、数据库、Kafka、RabbitMQ、开发工具(Jenkins、Snyk、Github)、Salesforce(测试版)等获取数据 .
  • 自定义数据摄取 - Elastic 还允许你引入自定义数据,并在 Elastic 中处理、存储和分析这些数据。
  • Universal Profiling™ - 分析一切。 到处。 一次全部。 通过基于 eBPF 技术的无摩擦、始终在线的分析,让整个系统了解复杂的云原生环境。 无需任何工具即可优化应用程序、服务和基础架构的所有级别的性能。

这些功能与 Elastic Observability 的搜索、机器学习和分析相结合,将帮助 SRE 查明并找到我们之前提到的问题的答案。 然而,了解总体运营绩效(例如你的趋势如何、你的运营效率是否高以及是否达到业务目标)更难获得甚至完成。 SRE 没有时间,也无法轻松地聚合、合并遥测数据并将其与业务洞察相关联,以提供完整的运营图景。

为了应对这一挑战,Elastic 发布了 SLO/SLI (Sevice Level Objective/Sevice Level Indicator)监控功能,以帮助 SRE 管理和洞察业务绩效。

Elastic 的新 SLO 功能将帮助您:

  • 使用自定义配置定义你的 SLO - 允许你选择延迟、可用性或创建基于自定义 KQL 的 SLO。 此外,你可以管理基于事件或基于时间片的预算、滚动或基于日历的时间窗口来衡量你的 SLO。
  • 监控和跟踪你的 SLO - 了解你的所有 SLO 值、当前预算、运行状况指示、警报。 甚至可以深入了解特定的 SLO 以获取详细信息并了解趋势。 你甚至可以在上下文中转向 APM 和 Elastic 可观察性的其他部分。
  • 对你的 SLO 发出警报 - 通过定义预算消耗率或使用预先填充的消耗率阈值默认值来对 SLO 违规发出警报。

Elastic 的 SLO 功能处于测试阶段,因此请联系你的销售代表以获取访问权限。

卓越运营应考虑的另一个目标是成本。 Elastic 可观察性可以通过其时间序列数据库 (TSDB) 帮助实现成本效益。 虽然 Elastic 的 TSDB 不仅有助于提供跨指标、日志和跟踪的单一视图,以及通过分析获得更好的洞察力,它还通过缩减采样和降低遥测数据的存储成本来提高存储效率。 Elastic 不仅收集和聚合大量遥测数据,而且还极其高效地存储这些数据,以改进和实现你的运营成本指标。

通过数据上下文和机器学习提高团队生产力

最终,你希望提高工作效率并减少开心时光的平均等待时间 (mean time to happy hour - MTTH) 。 你想专注于产品和运营 —— 问题总是,怎么做?

基本上,SRE 可以使用多种工具。 团队通常有简单或复杂的警报,使用仪表板来帮助可视化和聚合数据(并不断更改这些以满足他们的需要),并利用机制来发现和简单地分析他们的数据。

然而,这些当前的基线方法已经足够了。 它们并不总能帮助您管理两个主要的 SRE 问题:

  • 提高可预测性 —— 事后发现问题是常态,但能够预防甚至预测问题是预防潜在问题的理想选择。 但是如何以及用什么?
  • 减少 MTTx  —— 无论是修复、响应还是故障的平均时间,作为 SRE,你的最终目标不仅是发现问题,而且是修复并确保客户体验得到改善。

Elastic 可观察性超越了基础知识,可帮助你提高可预测性和减少 MTTx。 这两个高级功能是:

上下文中的所有可观察性数据

Elastic 不仅为您提供收集的数据,还提供额外的上下文信息。 几个例子:

集成的完整堆栈视图 - 提供结合基础设施遥测查看应用程序遥测的能力。 在 Elastic APM 中,在分析 trace 时,你不仅可以看到特定于 trace 的指标和日志,还可以看到相关的 Kubernetes pod/container 指标和日志。

 

可行的见解 - 当警报发生时,你只会收到一条简单的消息,然后发现过程就会开始。 Elastic 最近发布了一项功能,可以提供额外的上下文以减少手动发现的需要。 你可能会在一个位置获得所有正确的诊断信息。

 

 

集成和自动化的关联和异常检测 - Elastic 已将 ML 的输出集成到多种功能中,因此你无需运行即可查看分析。 例如,你可以在 APM 中查看每个服务的异常检测。 或者单击一个按钮并查看 APM 中跟踪分布的延迟相关性。

 

市场领先的 AIOps

Elastic 凭借其在机器学习领域 10 年的发展,不仅允许你使用自己的模型,而且它是真正为你工作而构建的。 以下是 Elastic Observability 使用内置机器学习模型的开箱即用功能的几个示例,包括数据帧分析和自然语言处理 (NLP):

  • 异常检测 - Elastic 可帮助你开箱即用地发现数据中的模式,而无需构建或修改任何机器学习模型。 使用时间序列建模来检测单个或多个时间序列、人口数据和基于历史数据的预测趋势中的异常。 你还可以通过对消息进行分组来检测日志中的异常,并通过查看与基线偏差相关的异常影响因素或字段来发现根本原因。
  • 日志尖峰分析和内置日志分类 - Elastic 持续扫描和分析日志,以帮助你了解日志尖峰何时与正常基线有显着偏差,并了解日志的分组(分类)以帮助你通过简化日志分析来分析问题。
  • APM 中跟踪分布的自动错误和延迟关联 - Elastic APM 关联功能自动显示 APM 数据集的属性,这些属性与高延迟或错误交易相关,并且对整体服务性能影响最大。

这些功能都是预构建的一键式功能,无需了解 ML,因为我们在 ML 功能中拥有的建模、数据框分析和 NLP 有助于支持这些基于 ML 的功能。 这些基于 ML 的功能通过减少查找根本原因分析的时间来支持日志分析、APM 和基础设施遥测数据。

Elastic Observability 的上下文数据特征和 AIOps 特征的结合将帮助你作为 SRE 提高可预测性并减少 MTTx(无论是平均修复时间、响应时间还是故障时间)。 作为 SRE,你的最终目标是专注于改善你的业务和生产力,而这两个关键能力将帮助你实现这一目标。

通过开放数据和分析获得洞察力

凭借在开源领域的深厚历史,Elastic 不仅不断增加对开源项目的支持,而且 Elastic 还不断创新,使你能够在我们的开放平台中引入自己的数据并根据需要进行分析。

持续的开源支持
Elastic 对开源的持续支持现在包括(但不限于):

  • 原生 Open Telemetry 支持
  • Istio 对弹性代理的支持
  • Prometheus 对 Elastic Agent 的支持

弹性通用架构
Elastic 提供通过 Elastic Common Schema (ECS) 引入数据模型的能力。 ECS 是一种开源规范,它为引入 Elasticsearch 的数据定义了一组通用的文档字段。 ECS 让你可以灵活地收集、存储和可视化任何数据。 这包括来自你的应用程序和基础架构的指标、日志、跟踪、内容和事件。

ECS 旨在支持统一的数据建模,使你能够使用交互式和自动化技术集中分析来自不同来源的数据。 ECS 既提供了专门构建的分类法的可预测性,又提供了适应自定义用例的包容性规范的多功能性。 ECS 允许你规范化事件数据,以便你可以更好地分析、可视化和关联 Elastic 中表示的数据。

此 ECS 有助于最大限度地减少修改或 ETL 数据以将其引入 Elastic 的需要。 这大大减少了你修改流程和现有工具的需要,而不是仅仅将数据发送到 Elastic。

我们相信,这种对开源项目以及自定义数据和模型支持的持续支持使 Elastic 可观察性能够顺利集成到你的操作流程中,而无需修改它以适应供应商提供的内容。

自定义机器学习模型
Elastic Observability 的机器学习,除了本博客前面讨论的预建开箱即用功能外,还提供:

  • 预构建的无监督学习和预配置模型,可识别可观察性和安全问题(异常和离群值检测),而无需担心如何训练 AI 模型
  • 预构建的数据框架分析,它使用监督模型来帮助分类和回归分析
  • 自然语言模型有助于分析摄入的信息并识别模式,例如 PII 数据识别,当与脚本结合使用时,可以编辑这些敏感信息
  • 引入你自己的模型以帮助按照你想要的方式分析和可视化数据的能力

通过支持最流行和最常用的开源 ML 框架,Elastic Observability 是内部拥有高级机器学习团队的组织的首选平台。 这些组织投入了大量时间和金钱来开发自己的模型,以帮助分析数据并针对他们的需求和日常运营开发定制的见解。 借助 Elastic 的机器学习,你可以轻松地将这些自定义模型添加到 Elastic Observability 中。

以下是使用公开可用模型的两个示例:

结论

虽然对可观察性的需求显而易见,但更大的挑战是为今天和明天找到合适的平台。 虽然开箱即用的可观察性功能很重要,但定制和构建长期为你的组织服务的平台的能力有时会被忽视。 鉴于组织通常在其本地和云环境中拥有独特的数字足迹,因此随着时间的推移适应和发展的灵活性对于任何企业可观察性解决方案都至关重要。

可观察性的核心是统一你的可观察性数据,然后对您的应用程序和系统的性能进行实时和历史洞察,其总体目标是建立卓越运营,从而带来更强大、更稳健的客户体验。

Elastic 可观察性通过在为开放数据和闪电般快速分析而构建的平台之上提供高级 AIOps 和机器学习,为你的未来做好准备。 当今现代应用程序的复杂、分布式特性需要始终在线(并生成 TB 级遥测数据),需要可观察性来为您的未来提供灵活性和强大功能。

正如我们在上面展示的那样,Elastic 的强大功能和灵活性使你能够全面了解从应用程序到基础设施的情况,同时还可以帮助他们管理业务绩效。 希望你已经了解 Elastic 如何提供帮助:

  • 通过在管理 SLO 的同时结合生产和业务数据来提高你的运营效率
  • 通过更好的功能和使用机器学习来提高团队生产力,以增加你在设计和改进业务上的时间
  • 通过我们采用开源的开放方法以及自带数据和分析模型的能力,无需更改即可集成到你的日常 SRE 运营流程中

你在等什么? 试用 Elastic Cloud 并注册一个帐户,看看 Elastic Observability 的使用和集成是多么容易和简单。

原文:An observability solution for today’s “always-on” world | Elastic Blog