主题
现场经验法则与"土办法"
本篇定位
30 条在生产现场反复验证过的经验法则与"土办法",按排障 / 操作 / 安全 / 沟通四组分类。它们不是教科书原理,是踩坑踩出来的肌肉记忆。 适合:贴在工位上、上线前夜读一遍、值班前过一遍。
一、排障类(8 条)
| # | 法则 | 为什么 / 怎么做 |
|---|---|---|
| 1 | 先看最近变更 | 故障八成和"昨晚谁动过"有关。开口第一句先问:最近改了什么、发了什么版。 |
| 2 | 监控没数据,先查时间同步 | 面板一片空白不一定是系统挂了,可能是机器时区/时钟漂移导致时间轴错位。先 timedatectl。 |
| 3 | 磁盘满先看 inode,再看块 | df -h 还有空间却写不进,多半是 df -i 的 inode 被海量小文件耗光。 |
| 4 | QPS 没涨却全员变慢,先怀疑资源被占住不释放 | 不是被打了,是连接/线程/句柄泄漏。重启能快速反向验证。 |
| 5 | 告警风暴里找最早那条,不找最响那条 | 最响的往往是受害者,最早触发的才是第一张骨牌。 |
| 6 | 一次只验证一个假设 | 同时改两处,你永远不知道哪个起效、哪个有害。 |
| 7 | 卡住 30 分钟没进展,拉第二个人对思路 | 单人钻牛角尖是排障最大的时间黑洞,换个视角往往一秒破局。 |
| 8 | 先止血后根治 | 凌晨只做可逆动作(扩容/重启/限流),根治留给白天清醒时。 |
二、操作类(8 条)
| # | 法则 | 为什么 / 怎么做 |
|---|---|---|
| 9 | 重启前先留现场 | 先保存日志、ss -s、df -h、jstack 快照。别一把重启把证据清没了。 |
| 10 | 删除前先移动观察 | 不确定能不能删的文件,先 mv 到临时目录放一天,没影响再真删。 |
| 11 | 通配符删除前先 echo | rm 前先 echo xxx* 看展开成什么,防止一个空格把 * 变成全删。 |
| 12 | 改配置先 -t / --test,再 reload 不 restart | nginx -t、nginx -s reload 不中断连接;restart 会抖一下。 |
| 13 | 改完配置打印最终生效值核对 | 用 nginx -T 之类把生效配置打出来,确认你改的就是这一份。 |
| 14 | 到硬止损时间没成,无条件回滚 | "再等等"是上线夜最贵的三个字,红线就是用来在恐慌里替你做决定的。 |
| 15 | 旧环境观察期内绝不下线 | 切完再看一个完整业务高峰,保持可秒级切回。 |
| 16 | 删正在写的日志用截断,不用 rm | : > app.log 截断即可;rm 会让握着句柄的进程不释放空间。 |
三、安全类(7 条)
| # | 法则 | 为什么 / 怎么做 |
|---|---|---|
| 17 | 不可逆操作前先确认备份可用 | 删库、清表、强制切主前,先确认备份真能恢复、回滚路径真验证过。 |
| 18 | 生产密钥不进代码、不进聊天记录 | 密钥统一放密钥管理,见密钥与证书管理;聊天里贴的密钥一律当已泄露。 |
| 19 | 高危命令加二次确认 | 批量删除/批量执行脚本内置白名单和 yes/no,别一条命令扫到所有机器。 |
| 20 | 权限最小化 | 应用用专用账号跑,别用 root 跑业务;能给读权限就不给写权限。 |
| 21 | 证书全部入库 + 到期告警 | 到期前 30/15/7 天报警,别让证书在深夜过期炸全站。 |
| 22 | 操作留痕 | 谁在生产登过、敲过什么命令,要有审计(堡垒机/history)。 |
| 23 | 公网服务前必须有网关/鉴权 | 新起的服务默认别裸奔公网,前面加 Nginx + 认证。 |
四、沟通类(7 条)
| # | 法则 | 为什么 / 怎么做 |
|---|---|---|
| 24 | 现场只一个人对外发声 | 所有人都在群里说话=没人说得清。指定一人同步"现在到哪一步"。 |
| 25 | 有结论再说,没结论别制造恐慌 | 报故障时带上"已定位为 X、正在止血、预期 N 分钟恢复",而不是只甩"出事了"。 |
| 26 | 决策说清理由,别只下指令 | "我建议回滚,因为根因不明且已过止损时间"——团队知道为什么,才会信任你的判断。 |
| 27 | 复盘对事不对人 | 找系统漏洞,不追责个人。文化见事故管理与无指责复盘。 |
| 28 | 别在群里甩半截日志 | 贴关键行 + 说清你怀疑什么,比甩 500 行让别人自己看高效。 |
| 29 | 跨组协作先说清楚边界 | 数据库的事找 DBA、网络的事找网络组,别自己越权动别人负责的层。 |
| 30 | 事后把"这次怎么处理的"沉淀下来 | 每次止血动作都写进剧本,下次值班直接抄,不临场想。模板见运维文档模板。 |
怎么用这 30 条
不用背。上线夜前扫一遍"操作类+安全类",值班前扫一遍"排障类",复盘时对照"沟通类"。用得多了,它们会变成你的条件反射。
相关速查
- 这些法则背后的完整推理方法:信息不全时的排障推理框架
- 真实踩坑案例集:典型踩坑实录(短案例集)
- 一次真实的告警风暴:值班惊魂:一次告警风暴的真实处置
- 上线/巡检/应急清单:运维 Checklist 大全