前段时间热播的电视剧《开端》想必不少人都看过的,其新颖的拍摄手法和不落俗套的剧情着实颇具亮点。

(图片来自sohu.com)

为什么要说到这部剧呢?因为这部剧可以更好的帮我们理解什么是系统的可观测性,让你从一大堆技术概念中解脱出来。

我们都知道,为了保障一个软件系统的正常运行,通常我们都会为它增加监控手段,这里边主要有两类监控:黑盒监控与白盒监控。

什么是黑盒监控与白盒监控?

黑盒监控是指对服务器的监控,重点关注磁盘空间、CPU 使用率、内存使用率、平均负载等领域,这些是业内大多数人认为要监控的标准系统指标。

(图片来自pandorafms.com)

白盒监控是对在服务器上运行的应用程序的监控,可能是从Web 服务器收到的 HTTP 请求数量到应用程序生成的响应代码时间等的任何内容。

只有监控是不够的

在剧情里,主角们发现异常后多次进行警告和报警,但是问题始终没有完美解决。因为这个系统很复杂,甚至于牵扯到之前的一个系统问题(作案嫌疑人之女的交通事故)。仅仅是针对当前状态的监控与告警,是无法让这个系统快速的从故障中恢复,更别说进行一次有效的迭代提升质量了。

所幸,剧情中的循环就类似我们的代码一样,它可以重来让我们充分的debug。一次次的重置就像一次次的上线一样,那么问题来了,无论是剧情里还是现实中循环终究是有限制的,所以我们需要尽快找到解决问题的办法。

剧情里的可观测性

如果我们把公交车看成一个应用系统服务器,那个爆炸就是系统宕机的话,我们就会发现,这简直就是一部实现系统可观测性的好教材。

当男女主角身在公交车内时,对应的就是系统的白盒监控状态;当提前下车时,他们就和那些警察一样处于黑盒监控状态。

在两种状态相互交替下,他们会用心观查每个乘客的细节:每个人的位置、双肩包被紧紧抱住、行李箱非常扎眼、蛇皮袋被视若珍宝、高压锅用来装肉等等,这些是什么?聪明的你一定想到了,这些就是应用系统的部分指标数据(Metrics)。

(图片来自smzdm.com)

主角们记录的精确到几点几分的动作/行为,不仅忠实的还原了当时的情况,同时也为排查问题助了一臂之力,这不就是系统的日志数据(Logs)么。

随着剧情的推进,他们获取了更重要的数据,包括每个人物的关系,以及不同循环里事件的发展路径,这些也是对破案最为关键的信息,其实对应的就是系统的追踪数据(Traces)。

到此,构建可观测性的三大类数据支撑已经完备,我们也不难发现追踪数据(Traces)才是定位问题和解决问题的核心。

可观测性能定位根本问题

剧情最后,在主角们多轮艰苦卓绝的努力下,问题终于得到了圆满的解决。但是,我们该庆幸么?不,我们该反思。如果从一开始主角们就知道人物的关系和事件的先后顺序,破案还会这么困难么?答案自然是否定的。

回到我们的软件系统中,潜在复杂性的来源是永无止境的,监控可能变得异常复杂,以至于监控本身变得很脆弱、难以维护。因此,一套好的监控系统应该是简单并有效的,提供源自基于时间序列的设备、已知故障模式以及黑盒测试的关键业务和系统指标,而不是提供成百上千无太大意义的指标,意图“监控一切”的做法很多时候都是一种反面教材。

(图片来自dockone.io)

可观测性则不同,它旨在提供对系统行为的高度精细的洞察以及丰富的上下文,非常适合指导调试并真正解决系统的问题。由于无法预测系统可能遇到的每一种故障模式,或预测系统可能出现异常的每一种可能方式,因此我们构建的可观测性是用证据而非推测进行调试系统,这很重要。

总结

可观测性并不是在取代监控,它也不是一种我们通常理解的工具形态。准确的讲,它是一种属性的范畴,甚至在很多时候是种能力的体现形式,越复杂的系统越需要这种属性或能力。

但是话说回来,可观测性也并非万能的,它可以引导开发人员找到准确的答案,但不能保证让他们100%找到答案。这个过程当中依旧需要当事人对系统、网络等有着良好的理解甚至直觉,才能让定位问题变得轻松并高效。

  • 在数字时代的浩瀚云端,应用监控平台如同一双智慧的眼睛,守望着云端应用的运行状态,保障着云计算的稳健发展。作为领跑者之一,基调听云领跑潮流,不断创新,致力于为用户提供更为强大、智能的应用监控解决方案。让我们一同踏上这场智能监控的征程,畅游于应用监控平台的无限可能。

    2023-11-17

    继续阅读
  • APM监控可以监控应用程序的每个环节,从客户端到服务端再到数据库,甚至是第三方服务的调用。通过实时监控这些环节,我们可以更快速地定位问题,并及时采取措施解决它们。更重要的是,这样的监控可以帮助我们提高业务的可用性和性能,提升用户体验,从而促进公司的业务发展。

    2023-05-31

    继续阅读
  • 随着信息技术的迅猛发展,大量企业已经实现了数字化转型,并将关键业务流程移至云端。这使得应用性能管理(apm)成为企业必不可少的一环。本文将为大家介绍apm应用性能管理企业的概念、作用以及如何选择适合自己的apm解决方案。

    2023-08-29

    继续阅读
  • 随着信息技术的高速发展和企业数字化转型的推进,应用程序已经成为企业不可或缺的一部分。然而,随之而来的是应用性能的挑战,这包括了保持应用程序的高效、稳定和用户友好性。在这个背景下,应用性能管理服务商崭露头角,为企业提供了一种宝贵的支持,以确保其应用程序在竞争激烈的市场中脱颖而出。

    2023-09-04

    继续阅读
  • 在今天的数字时代,网站和应用程序的性能对用户体验至关重要。用户希望快速加载的页面和流畅的交互,而web前端性能监控​是确保这一目标实现的关键。了解关键指标有哪些,对优化web前端性能而言至关重要。

    2023-09-22

    继续阅读