
30
|
第
2
章
用来诊断问题。在行业里,我们已经接受这是正常运维行为。但是,随着系统的复杂性
不断增加,超出了任何个人或团队能够直观理解各种动态组件的能力,引入超越这种被
动和限制性的方法的必要性变得很明显。
2.2 可观测性如何实现更好的调试
正如在上一节中看到的,监控是一种被动的方法,最适合用于检测已知的问题和解决过
去遇到过的情况;监控这种方法是以告警和中断的概念为中心的。相反,可观测性让你
沿着任何维度或各种组合的维度明确地发现任何问题的来源,而不需要事先预测问题可
能发生在哪里,以及问题是如何发生的;这种模式则以提问和理解为中心。
让我们从三个方面来比较检查监控和可观测性之间的差异:依靠惯例知识、发现隐藏的
问题,以及有信心诊断生产环境中的问题。我们将在接下来的章节中提供更深入的例
子来说明这些差异是如何以及为什么出现的。现在,我们将从理论上对这些差异进行
比较。
惯例知识是一个组织中的一些人可能知道但其他人不普遍知道的不成文信息。在基于监
控的方法中,团队经常围绕着“资历是知识的关键”这一理念:在团队中工作时间最长
的工程师通常是团队中最好的调试人员,也可能是最后可以解决问题的人。如果调试都
是依靠个人过去遇到问题的各种经验,那么这种偏好就不足为奇了。
相反,实践可观测性的团队倾向于一个完全不同的方式。使用可观测性工具,团队中最
好的调试人员往往变成了最好奇的工程师。实践观测能力的工程师有能力通过询问探索
性的问题来询问他们的系统,使用发现的答案来引导他们进行进一步的开放式询问(参
见第
8
章)。可观测性最需要的技能是能够跨越不同系统的诊断能力。 ...