最小可观测性:一个后端工程师的三件套
不追求大而全,追求「出事五分钟内定位范围」:日志先定字段再谈采集、指标只留能触发动作的、trace_id 关键路径必采、告警必须对应一个动作,外加从零落地的六步顺序。
共 19 篇 · 返回博客首页
不追求大而全,追求「出事五分钟内定位范围」:日志先定字段再谈采集、指标只留能触发动作的、trace_id 关键路径必采、告警必须对应一个动作,外加从零落地的六步顺序。
502 是后端不可达、504 是后端太慢,先看 error.log 关键行,再把 upstream_response_time 加进日志;附「现象↔原因↔一条命令验证」对照表。
换掉上次那个「导出 Excel」的玩具例子:这次用「给 IM 加群聊未读数与已读回执」走完整条流程——一页规格(含那条最重要的「不做」)、两种数据模型的写放大对比、四步可回滚迁移、逐文件实现与提示词、位点幂等的边界用例、上线开关与告警指标,以及 AI 帮到我三件事、坑我三件事。
connection refused 的五种可能(bind、protected-mode、maxclients、maxmemory、实例重启)与连接池打满的排查(connected_clients、blocked_clients、SLOWLOG、大 key)。
测试全绿但功能是坏的——AI 生成的测试有三种典型假象:断言恒真、把实现抄进断言、为了让测试通过而改测试。这篇给识别方法与三道检查,也说明 AI 在测试上真正强的地方。
一次证书过期故障的完整复盘:四种常见续期失败原因(换过 IP、80 被 301、webroot 路径、续期成功但没 reload),以及提前 30 天告警与 dry-run 进监控的预防措施。
DATETIME 与 TIMESTAMP 的时区语义、驱动 loc 参数造成的差 8 小时、utf8mb4 与 emoji、表名大小写敏感的迁移事故、only_full_group_by 与严格模式。
MCP 解决的是「AI 只能看我贴给它的东西」这个问题。我接了自己的文件目录、只读数据库、浏览器和搜索,三个场景每天都用得上。这篇写配置方式、真实用途,以及必须划清的安全边界。
从 ss -lntp 到 docker ps 的定位顺序,TIME_WAIT 与 LISTEN 的区别,以及一个隐蔽案例:端口配错导致健康检查打到别人的服务上、对方也返 200 造成「假健康」。
不是「万能咒语」,而是七个我几乎每天都会打的套路:给验收标准、给样例、先要方案、标注不确定、让它反驳我、固定输出格式、复述任务。每条都给出我实际会打的那几句话。