可观察性
黑蓝背景
可观察性

可观察性提供对现代分布式应用程序的深入可见性,以实现更快的自动化问题识别和解决。

特色解决方案

IBM AIOps 和 IT 自动化


什么是可观测性?

一般来说,可观察性是指您根据所了解的外部输出对复杂系统内部状态或条件的理解程度。 一个系统的可观察性越高,您就能越快越准确地从已发现性能问题找到其根本原因,而不必进行额外的测试或编码。

云计算中,可观察性还指聚集、关联和分析分布式应用程序及其运行所用硬件的稳定性能数据流的软件工具和实践,以更高效地监控、故障排除和调试该应用程序,达到满足客户体验预期、服务级别协议 (SLA) 和其他业务要求的目的。

可观察性是一个相对较新的 IT 主题,通常会被误解为一个炒作概念,或者就是对一般系统监控和特定应用程序性能监控 (APM) 的“另一种说法”。 实际上,可观察性是 APM 数据收集的一种自然演变,旨在更好地适应云原生应用程序部署越来越快速、分布程度越来越高的动态本质。 可观察性不能取代监控 – 它能够实现更出色的监控和 APM。

(“可观察性”一词来自于控制理论,这是与根据系统反馈自动化控制动态系统相关的一个工程领域,例如,流经管道的水流、汽车上坡下坡的速度。)

特色产品

IBM Cloud Pak for Watson AIOps

IBM Observability by Instana


为什么我们需要可观察性?

在过去 20 年左右的时间里, IT 团队主要依靠 APM 来监控和故障排除应用程序。 APM 定期采样和聚集已知与应用程序性能问题相关的应用程序和系统数据,这称为遥测。 它根据关键性能指标 (KPI) 分析遥测数据,并结果汇总到仪表板中,以警示运营和支持团队应当解决以免发生问题的异常情况。

APM 已经足够监控和故障排除单体应用程序或传统的分布式应用程序,因为这类应用程序的新代码会定期发布,应用程序组件、服务器和相关资源之间的工作流和依赖关系十分明确或者很容易跟踪。

但如今,组织正在迅速采用现代开发实践(例如敏捷开发、持续集成持续部署 (CI/CD)、DevOps、多个编程语言)和云原生技术(如微服务Docker 容器、Kubernetes无服务器功能)。 因此,他们比以往更快地将更多服务推出市场。 但在这个过程中,他们在许多位置以许多不同的语言频繁采用新应用程序服务,而且使用时间差距巨大(无服务器功能只需几秒甚至千分之一秒),APM 一分钟采样一次数据的做法已经落后了。

行业需要的是更多更好的遥测技术,可以用来为每个应用程序用户请求或交易创建高保真、背景信息丰富、完全相关的记录。 进入可观察性。


可观察性如何工作?

可观察性平台与应用程序和基础架构组件内置的现有测量功能集成,并提供工具来为这些组件添加测量功能,从而持续地发现和收集性能遥测数据。 可观察性关注四个主要遥测类型:

  • 日志。 日志是细粒度的、带有时间戳的、完整且不可改变的应用程序事件记录。 在众多信息中,日志可以用来针对每个事件创建高保真的毫秒级记录,并补全相关背景信息,以供开发人员“回放”来进行故障排除和调试。
  • 指标。 指标(有时称为时间序列指标)是对一段时间内的应用程序和系统健康状况的基本测量,例如,应用程序在 5 分钟的时间内使用了多少内存或 CPU 容量,或者应用程序在用量峰值期间的延迟是多少。
  • 跟踪。 跟踪记录每个用户请求的端到端“旅程”,即从 UI 或移动应用,通过整个分布式架构,再回到用户的过程。
  • 依赖关系(也称为依赖关系映射)揭示每个应用程序组件对其他组件、应用程序和 IT 资源的依赖。

收集该遥测数据后,平台会实时将它们关联起来,以向 DevOps 团队、站点可靠性工程 (SRE) 团队和 IT 员工提供完整的、背景丰富的信息 - 即每一个事件的具体内容、发生地点和发生原因,这些信息可能表明、引起或用于解决应用程序性能问题。 

许多可观察性平台会自动发现系统中可能会出现的新的遥测源(如,对另一个软件应用程序的新 API 调用)。 而由于它们处理的数据远远超过标准的 APM 解决方案,因此许多平台包含 AIOps(面向运营的人工智能)功能,以从噪音(与问题无关的数据)中筛选出信号(表明真正问题的数据)。

 


可观察性的益处

可观察性的最大益处是,如果所有其他条件一样,与可观察性差的系统相比,可观察性强的系统更容易理解(笼统和细节层面均如此),更容易监控,更新新代码更简单、更安全,也更容易修复。 再具体一点,可观察性直接支持敏捷/DevOps/SRE 以更快速度交付更优质软件的目标,它使组织能够做到:

  • 发现和解决“不知道的未知问题”- 即您不知道存在的问题。 监控工具的一个主要限制是它们仅监测“知道的未知问题”- 即您已经知道要监测的意外条件。 可观察性会发现您可能从不知道或想过要监测的条件,然后跟踪它们与特定性能问题的关系,并提供背景信息以找出根本原因,加快解决问题。
  • 在开发中尽早捕捉和解决问题。 可观察性在软件开发流程早期阶段就融入监控。 DevOps 团队可以及时识别和修复新代码中的问题,以免它们影响客户体验或 SLA。
  • 自动扩展可观察性。 例如,您可以在 Kubernetes 集群配置中指定测量功能和数据聚集,并从该集群启动开始就收集遥测数据,直到集群关闭。
  • 启用自动化补救和自我复原应用程序基础架构。 将可观察性与 AIOps 机器学习和自动化功能相结合,以根据系统输出预测问题并加以解决,无需管理干预。

可观察性和 IBM Cloud®

通过收购 Instana,IBM 提供行业领先的 AI 自动化功能,以管理跨混合云环境的现代应用程序的复杂性,尤其是对更好地客户体验和更多应用程序的需求会影响业务和 IT 运营。

要实现企业范围和 IT 范围的自动化,首先要从可衡量的小型成功项目起步,然后可针对其他流程和组织的其他部分扩大规模和进行优化。

通过与 IBM 合作,您可以访问基于 AI 支持的自动化功能,包括预先构建的工作流程,使每个 IT 服务流程更加智能化,使团队能够专注于最重要的 IT 问题并加速创新。

采取下一步行动:

立即创建 IBM Cloud 账户以使用该产品

相关解决方案

AI 支持的自动化

从业务工作流程到 IT 运营,我们为您提供了 AI 支持的自动化。


Observability with Instana

探索面向混合云的领先企业可观察性平台。


IBM Cloud Pak for Watson AIOps

IBM Cloud Pak for Watson AIOps 是一种 IT 运营管理解决方案,使 IT 运营商将 AI 置于 ITOps 工具链的核心位置。