科普:阐释什么是可观测性

快猫运营团队 2024-10-10 06:36:17

可观测性(Observability)

什么是可观测性(Observability)?

可观测性这一术语源自控制理论,衡量的是通过系统外部输出推断其内部状态的能力。

在IT运维领域,可观测性则是指能够获取并理解基础设施、编排平台、服务应用等各层面的详细信息,从而全面监控并诊断系统行为中的异常情况。过程依赖于日志、指标、链路等可观测性数据的关联分析,旨在预防、发现、定位和解决问题,提升业务效能。

可观测性采取白盒化思路,贯穿应用开发的整个生命周期,通过构建包含指标、日志、链路等数据的观测模型,实现故障诊断、根因分析和快速恢复,为系统健康运行保驾护航。

在云原生环境下,业务应用成为核心。可观测性放大了传统监控的范围,将研发纳入其中,形成了一种主动观测与关联分析的能力体系。以“上帝视角”展现系统状态,使得运维人员能够更直观地理解并管理复杂的云原生系统。

可观测性的来源与发展

可观测性一词虽然近年来才在IT领域流行,但其根源可追溯至几十年前的控制理论。2018年,随着CNCF(云原生计算基金会)在其全景图中引入Observability分组,可观测性逐渐取代监控,成为云原生领域的热门话题。

Gartner在其《2023年十大战略技术趋势》中强调可观测性的重要性,认为它能使企业利用数据特征获得竞争优势。InfoQ的《中国软件技术发展洞察和趋势预测报告2023》同样指出,可观测性技术正处于早期采用者阶段,未来前景广阔。

与监控系统的区别和联系

随着信息技术的发展,可观测性的概念被引入到软件系统和 IT 领域。在传统的 IT 监控中,主要关注系统的性能指标和故障报警,而可观测性则更加强调对系统内部状态的全面了解和洞察。

在现代复杂的分布式系统和云原生环境中,可观测性变得尤为重要。由于系统的复杂性和动态性,仅仅依靠传统的监控手段难以满足对系统状态的深入了解和故障排查的需求。可观测性通过收集和分析日志、指标、链路追踪等多维度的数据,为开发人员和运维人员提供了更全面的系统视图,帮助他们快速定位问题、优化性能,并更好地理解系统的行为和业务的运行状况。

如何构建可观测性?

从数据的角度来看,可观测性体系的构建核心包括两部分,一个是数据底座的建设,一个是数据底座上层的数据串联和分析。

数据底座的建设

通常大家会认为可观测性有三大支柱:

  • 监控指标(Metrics):反映系统状态和趋势的可聚合性数据,如CPU使用率、内存使用率、API接口成功率和延迟等。
  • 事件日志(Logging):记录系统运行中发生的事件及其上下文信息,有助于诊断问题。
  • 链路追踪(Tracing):记录请求在分布式系统中的端到端旅程,帮助定位跨服务调用的性能瓶颈和故障点。

实际上,我们可以把所有有助于观测系统状态的数据都纳入到可观测性的范畴中,比如:

  • 事件(Events):变更事件、告警事件、运营事件等。
  • Profiling:性能分析数据。
  • 应用主动暴露的信息:比如应用程序通过 HTTP 接口暴露了一些内部运行状态数据。不止是 Prometheus 协议的 metrics 数据。

数据串联和分析

实现数据统一和关联是可观测性建设的关键。通过标准化和结构化处理数据,建立统一的数据模型和分析平台,使不同来源的数据能够无缝集成和相互关联。

但是,通常企业会有很多零散的可观测性系统,比如指标系统 Zabbix、Prometheus、Nightingale、各类云监控,日志系统 ELK、Loki、ClickHouse、Doris,链路追踪系统 Jaeger、Zipkin、SkyWalking、ARMS 等。如何将这些系统的数据整合起来,形成一个统一的数据视图,是构建可观测性体系的关键挑战。

如果想用一个统一的系统替换现有的旧系统,通常非常困难,因为这些系统都有自己的优势和适用场景。因此,我们更多的是通过数据的集成和关联,实现数据的统一视图,从而实现可观测性的目标。

可观测性能解决什么问题?

可观测性在多个方面展现出其独特价值:

  1. 快速排障:作为IT系统的“眼睛”,可观测性帮助团队快速发现问题根源并采取行动。
  2. 整合数据孤岛:通过接入各个零散的系统,做关联分析,提升数据治理效能。当然,如果你是从零开始,则更简单,直接使用现成的统一可观测性平台即可,无需做数据整合。
  3. 提升业务敏捷性:为全业务运营流程提供可观测性支持,实现高效运维和运营。哪里需要数据,哪里很可能就需要可观测性。

快猫星云 Flashcat 可观测性建设实践

快猫星云 Flashcat 作为一款云原生可观测性平台,提供了全面的指标、日志、链路追踪的能力,支持多维度数据的关联分析,帮助用户快速定位问题、优化性能,提升系统的可靠性和稳定性。和其他统一的可观测性平台不同,Flashcat 不但自身提供三大支柱数据底座的建设能力,也可以接入大部分企业已有的各类零散的可观测性系统。它很重视各类数据源的接入能力,目前已经内置支持接入的数据源如下图所示。

Flashcat数据源

跟很多客户交流之后发现,几乎没有哪个公司是从零开始建设可观测性体系的,换句话说,大家都有各类零散的旧系统,如果要推翻,那就是否定了前人的决策,很难推动。因此,Flashcat 采取了一种渐进式的方式,通过数据的集成和关联,实现数据的统一视图,从而实现可观测性的目标。

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云
OpenSource
开源版
Flashcat
Flashcat
FlashDuty
Flashduty