
77
第 8 章
通过事件分析实现可观测性
在本部分的前两章中,我们了解了遥测的基础知识。这些基础知识是创建可以使用可观
测性工具正确调试的数据集所必需的。虽然拥有正确的数据是一个基本要求,但可观测
性却是通过从该数据中了解系统的状态来衡量的。本章将探讨应用于可观测性数据的调
试技术,以及它们与传统监控技术的区别。
首先,我们将仔细研究使用传统监控和应用程序性能监控工具调试问题的常见技术。
如前几章所强调的,传统方法是假定工程师对先前已知的故障模式相当熟悉。在本章
中,该方法将进一步展开,以便将其与无须对故障系统十分了解的可观测性调试方法相
对比。
然后,我们将研究基于可观测性的调试技术如何实现自动化,并考虑人类和计算机在创
建有效的调试工作流中所扮演的角色。结合这些因素,你将了解可观测性工具如何帮助
你分析遥测数据以识别传统工具无法检测到的问题。
这种由假设驱动的调试方式
—
形成假设,然后探索数据以确认或否认之前的假设
—
不仅比依赖直觉和模式匹配更科学,而且它也使调试行为大众化。与传统的调试技术相
反(传统的调试技术利于那些对系统最熟悉和有经验的人快速找到答案),可观测性调试
有利于那些对生产代码检查充满好奇或最勤奋的人。有了可观测性,即使对系统知之甚
少的人也应该能够介入并调试问题。
8.1 从已有条件调试
在可观测性出现之前,系统和应用程序调试主要是基于你对系统的了解进行的。当查看
技术团队中最高级成员进行故障排查的方式时,可以观察到这一点。当他们知道哪些问
题是该问的并且本能地知道分析的正确位置时,这似乎非常神奇 ...