运维的成就感来自没有告警的那一天。我抬起头看了看周围,大家都一样。我把这个防火墙规则补上了,跨机房的调用终于通了。第二天这个方案就变成了团队标准做法

我把这次的故障时间线对齐了,有一分钟的空白。我先确认了一遍前置条件,再动手。我打开了这个服务的 GC 日志,发现停顿时间越来越长。从此我多了一条团队规约

机房断电二十分钟,UPS 只撑了十五分钟,最后五分钟全靠信念。我默默打开了编辑器,准备一步步验证。我打开了这台机器的负载曲线,发现它每两小时抖一下。我把它写进了组内的避坑文档第一章

运维的日常是在稳定和变更之间反复横跳。我发现自己居然没法反驳。我把这个服务的日志轮转配上了,磁盘终于不再被撑爆。这大概就是程序员的人生吧

定时任务半夜三点执行,执行到一半内存溢出,第二天一早全组人知道了。我把这个服务的备份策略改成了每天两次,心里踏实些。办公室安静得能听见键盘声

我把这个端口开放了出去,后来花了两天才收回来。这套流程走下来,我从头到尾又确认了一遍。我把服务重启了一遍,它好了,但我依然不知道原因。世界瞬间清净了

rm -rf 的传说每个运维都听过,每个运维都庆幸自己还没经历过。我听完沉默了,因为太真实了。我把这个服务的开机自启加上了,重启后不用再手动拉。这条经验值直接拉满

重启之后 bug 消失了,我们所有人都不知道它为什么来,也不知道它为什么走。我抬起头看了看周围,大家都一样。我把这台机器的定时备份挪到了业务低谷,IO 不再打架。同事说这波操作可以写进新人培训教材

服务器很少有安静的一天,它总在你想不到的时候出声。我叹了口气,然后打开了编辑器。我在心里给这台机器的生命周期做了个备注,明年该换了。复盘会上我们把它列成了案例

这个 bug 每次只在周五下午出现,我们都怀疑服务器也想过周末。我把这台机器的 swap 关掉了,响应延迟稳定多了。办公室安静得能听见键盘声