AI帮我理清了什么是可观测性

AI帮我理清了什么是可观测性

近年来又有各种新名词,比如突然间可观测性,作为多年监控系统开发人员,突然键有点迷惑了。以下是我跟AI的一段对话,突然豁然开朗了。

我:

请描述可观测性和监控系统的区别

AI:

可观测性和监控系统之间的主要区别如下:
可观测性(Observability)是指从系统中获取遥测数据(指标、日志、跟踪等)的能力,以洞察系统内部状态和行为。可观测性关注的是收集遥测数据以理解系统,而不仅仅是监控它。
监控(Monitoring)是基于可观测性系统持续收集遥测数据,并根据预定义的阈值和规则主动发出告警通知的系统。监控系统的目的是发现系统问题和异常情况并通知运维人员。
总结一下:

  • 可观测性是观察系统内部状态和行为的基础能力。监控系统建立在可观测性之上。
  • 可观测性更关注主动收集数据理解系统。监控更关注根据规则检测问题并告警。
  • 可观测性提供了原始遥测数据。监控系统在此基础上做分析和告警。
  • 可观测性是一种广泛的实践。监控是可观测性在运维领域的具体应用。
  • 好的可观测性能力是构建监控系统的基础。监控系统依赖可观测性提供的数据。
    所以简单来说,可观测性是基础,监控是在此基础上进行问题检测和告警的具体应用。两者互为依赖和补充。

我:

能不能这么理解,可观测性是更为基础的能力,而监控是利用可观测性获取数据,而形成更具实际运用的场景

AI:

您的理解是正确的。
可观测性是更基础的能力,它提供了从系统中获取遥测数据的机制。这些遥测数据可以包括指标、日志、跟踪等,用于洞察系统内部状态。
监控系统则是在可观测性提供的数据基础上,构建了具体的场景应用。它利用可观测性获取的数据,定义告警规则和阈值,然后持续分析数据并在满足规则时发出告警。
所以可观测性是构建监控的基础,而监控是可观测性在实际运维场景中的应用。它将可观测性的数据转化为监控系统的输入,并产生监控告警作为输出。
这样理解是正确的,可观测性和监控是不同层次的能力,可观测性提供基础数据,监控进行分析告警。两者互为依赖和补充,共同提高系统的运维管理能力。

我:

那为什么在运维监控领域现在大谈特谈可观测性,这是不是一种实践的倒退

AI:

目前将可观测性作为重点讨论的原因不是实践的倒退,而是由于以下几个因素:

  1. 复杂分布式系统的兴起,传统监控方式受到挑战。这类系统动态性强,组件复杂,需要从根本上提高可观测性能力。
  2. 监控本身存在一些痛点,如告警疲劳、无法根因分析等。这需要从源头提升可观测性,获得更多更好的遥测数据。
  3. 云原生和微服务架构推崇可观测性设计理念。需要各组件提供统一的遥测数据接口。
  4. 新技术如Prometheus和OpenTelemetry可以大幅提高遥测数据的收集能力。
  5. AI运维、精益运维等新理念需要可观测性提供大量可解释的遥测数据。
  6. Kubernetes等新技术的出现,需要重新思考监控策略。

综上,重视可观测性是根据实践发展的需要,而不是倒退。它为构建更智能、更精细的监控系统和运维模式奠定基础。可观测性和监控将持续协同发展。
所以说,当前实践的重心在可观测性上,是对整个监控体系发展的积极推进,而不是倒退。它是适应新技术和新需求的必然选择,也是未来的发展方向。

总而言之,可观测性强调的是跟广泛地应用数据透出能力;而更多地指标、日志、跟踪能更好地促进监控的落地和实施。