排障先从哪下手

服务出故障,顺着日志排障通常先【0】。 贯穿本节的运维模型(判题机纯 Python、无网,这是它的确定模型,见 spine.py):服务上线后靠日志/指标/健康/告警盯住它。 从日志定位:每行 {"level":..,&

开始练习 →

请求 id 有什么用

每条日志带上同一个请求 id,排障时能【0】。 贯穿本节的运维模型(判题机纯 Python、无网,这是它的确定模型,见 spine.py):服务上线后靠日志/指标/健康/告警盯住它。 从日志定位:每行 {"level":

开始练习 →

为什么要按时间窗看

排障时圈定一个时间窗来看日志,是为了【0】。 贯穿本节的运维模型(判题机纯 Python、无网,这是它的确定模型,见 spine.py):服务上线后靠日志/指标/健康/告警盯住它。 从日志定位:每行 {"level":.

开始练习 →

首个错误在第几行

按模型,四行里第 2 行是 ERROR,root_line(lines) 交回几? 贯穿本节的运维模型(判题机纯 Python、无网,这是它的确定模型,见 spine.py):服务上线后靠日志/指标/健康/告警盯住它。 从日志定位:每行 {

开始练习 →

补全:首个错误的行号

补全 root_line:第一条 ERROR 在第几行(从 1 数)。 贯穿本节的运维模型(判题机纯 Python、无网,这是它的确定模型,见 spine.py):服务上线后靠日志/指标/健康/告警盯住它。 从日志定位:每行 {"

开始练习 →

补全:首个出错的请求

补全 first_bad:第一条 ERROR 是哪个请求(req)引发的。 贯穿本节的运维模型(判题机纯 Python、无网,这是它的确定模型,见 spine.py):服务上线后靠日志/指标/健康/告警盯住它。 从日志定位:每行 {&quo

开始练习 →

补全:出过错的请求

补全 failed_reqs:出过 ERROR 的请求 id(去重排序)。 贯穿本节的运维模型(判题机纯 Python、无网,这是它的确定模型,见 spine.py):服务上线后靠日志/指标/健康/告警盯住它。 从日志定位:每行 {&quo

开始练习 →

补全:时间窗内几行

补全 in_window:时间戳 ts 落在 [lo, hi] 里的日志有几行。 贯穿本节的运维模型(判题机纯 Python、无网,这是它的确定模型,见 spine.py):服务上线后靠日志/指标/健康/告警盯住它。 从日志定位:每行 {&

开始练习 →

告警阈值是干嘛的

一排采样,中间一条线是阈值 偶尔冒头不报,连着超线才报 给某个指标设一条告警阈值,是为了【0】。 贯穿本节的运维模型(判题机纯 Python、无网,这是它的确定模型,见 spine.py):服务上线后靠日志/指标/健康/告警盯住它。 告警阈

开始练习 →

为什么要连续超才报

一排采样,中间一条线是阈值 偶尔冒头不报,连着超线才报 很多告警要「持续超 N 次才报」,是为了【0】。 贯穿本节的运维模型(判题机纯 Python、无网,这是它的确定模型,见 spine.py):服务上线后靠日志/指标/健康/告警盯住它。

开始练习 →