
350
|
第
13
章
可观察性:监控、日志和跟踪
大多数人并不介意这一点,因为他们会为报表配置一个相当短的时间窗口,通常在
30
分钟到一天之内,我很少遇到有团队会检查前一天及之前发生的事情。但是我
喜欢观察较长的时间,因为这样可以让我了解长期的变化趋势,例如工作日的流量
通常比周末高多少?
夏季几个月的新用户相比全年有多少?访问量的下降是因为
正常的节假日,还是因为今年的市场环境不好?
像这样的问题让我困扰,但是大
多数的监控工具却无法回答。
确实,许多问题都是突然发生的,并且短期的监控报表足以发出提醒。但是对于长
期的监控,我建议自己维护一个指标列表,形式可以很简单(例如每日汇总的电子
表格),但是可以观察到长期的变化趋势。这听起来可能有点过分,尤其你已经花
费了大量精力去搭建一个
ELK
或者类似的工具,但是对我来说这样做依然有它的
价值。我曾经通过这种方式,发现了一个在两个月内缓慢增长的性能问题,虽然现
象很不明显,但是增长速度却是指数级的。我们当然希望能够在问题一开始的时候
就发现它,但是如果没有关注长期的趋势,很难想象它会造成的后果。
可视化
设计一个具有可观察性的系统,并收集适当的指标和日志数据,是了解应用程序和系统
的一个良好的开端。但是同样重要的是,你需要将这些数据转换为对系统和业务的洞察
能力,并且推动其不断改进。如何实现这一点取决于你的目标受众,是业务人员、运维
人员还是开发人员。由于本书篇幅所限,本节会介绍一些常见的实现方式,详细内容还
请阅读更多书籍和网络资料。
业务可视化
在创建业务所需的可视化时 ...