基础设施、云与 DevOps · 综合

监控与可观测性:在客户之前知道有东西坏了

一句话: 三类信号——指标、日志和链路追踪——以及它们必须回答的一个问题:现在发生了什么,为什么。

度量什么

从四个开始:请求速率、错误率、尾部响应时间,以及资源饱和度。再加一个业务指标——每小时订单数、注册数、发送量——它会抓到基础设施看不见的故障。

平均响应时间会骗人。看95和99百分位;愤怒的用户在那里。

有用的日志

结构化的,带一个贯穿整个系统的请求标识,并且不含不必要的个人信息。自由文本的日志是档案,不是排查工具。

不会让人麻木的告警

对用户能感受到的症状告警,而不是对每一个技术异常告警。每条告警都要包含发生了什么、影响是什么、第一步该做什么。没有对应动作的告警——删掉。告警疲劳是错过真实故障的头号原因。

深入一层

加上分布式链路追踪,展示一个请求在各组件之间的路径和各段耗时。在拆分开的系统里,这是在不靠猜的前提下回答「为什么这花了三秒」的唯一方法,并且能把排查从几小时缩短到几分钟。