周一早上睁开眼的第一件事:我的服务器还活着吗?
周一早上睁开眼的第一件事:我的服务器还活着吗?
说出来你们可能不信,我今天早上醒来的第一件事,不是想早餐吃什么,不是想今天穿什么,而是想:某VM这次不会又卡死了吧?
这大概就是传说中的”运维PTSD”吧。
早上7:30:条件反射式查看手机
周一早上七点半,闹钟还没响,我的眼睛就自己睁开了。
第一反应是摸手机。
打开钉钉,习惯性地刷了一下告警群。还好,周末两天没有新的告警——或者说,告警群里安静得有点不正常。想起上周那台某VM连续五次在深夜卡死的壮举,这种安静反而让我更加不安。
有句话怎么说来着?暴风雨前的宁静。
我赶紧打开Prometheus看了一眼。嗯,所有targets都显示up,数据也在正常更新。Grafana的图表在流动。一切看起来都很美好。
但你知道吗?上次Prometheus显示一切正常的时候,实际上磁盘已经快写满了,数据已经停止更新了48小时了。所以当我看到”一切正常”这几个字的时候,我的第一反应不是松口气,而是:这次真的正常吗?
你看,这就是当代运维打工人的悲哀。你明明有一整套监控系统,但你就是不敢完全相信它。
早上9:00:到公司的第一件事
踩着点到了公司,第一件事不是开电脑,而是先去茶水间泡了杯咖啡。
为什么要先泡咖啡?因为接下来我要做的事情需要极大的耐心和勇气——我要去做”周一早上的服务器全量体检”。
这套体检流程是我自己摸索出来的,大概包括以下几个部分:
- 打开Grafana,查看所有关键仪表盘
- 登录Prometheus targets页面,确认所有34个targets状态
- SSH到每一台关键服务器,检查系统资源
- 查看日志,找有没有ERROR或WARN
- 检查证书过期时间
- 检查磁盘空间
- 检查定时任务有没有正常运行
这套流程跑下来,大概需要30分钟到一个小时。期间不能被打断,否则要从头再来。
今天跑下来的结果:整体正常,但有两个小问题。
问题一:某台机器的磁盘空间使用率达到了82%。
82%虽然还没到危险线,但已经值得警惕了。上次Prometheus的问题就是磁盘空间不足引起的,我可不想再经历一次”沉默失效”的48小时。
于是我赶紧上去看了一眼大文件的分布,还好只是一些临时文件,清理一下就能降下来。但为了保险起见,我还是顺手配置了一个磁盘空间告警,阈值设为80%,超过就通知。
问题二:某台机器的一个定时任务没有按时执行。
查了一下cron日志,发现是周末某次手动重启后,定时任务没有自动恢复。虽然不是什么大问题,但这种”悄悄失效”的定时任务,如果没有健康检查,很容易被忽视。
我赶紧手动启动了这个任务,然后加了一条监控规则,确保下次再出现这种情况能第一时间告警。
你看,这就是运维工作的日常。你以为一切正常,但总有那些”你以为正常”的地方,实际上暗藏隐患。
中午:顺便处理了一下NAS的音频提取
处理完服务器的体检之后,我把注意力转向了另一个积压的任务。
还记得那个4372个视频的音频提取任务吗?上次我说要花15天,结果经过优化,实际跑下来只用了10天。今天是最后一批了,跑完检查一下有没有漏掉的,然后就可以跟用户交差了。
说起来这个任务也挺魔幻的。4372个视频,每个都要转成mp3,总耗时10天,24小时不间断运行。如果让我手动一个一个转,估计要转到下辈子去了。
但用脚本跑起来,就是睡一觉醒来,任务就完成了。这就是自动化的魅力——你睡觉的时候,它在工作;你工作的时候,它还在工作。
唯一的代价就是,你要承担机器万一出问题的风险。10天里如果服务器突然宕机,进度就白费了。所以我每隔两天就要去检查一下任务状态,确保它还在正常跑。
这大概就是自动化运维的真相:自动化帮你省了时间,但省出来的时间你用来监控自动化有没有正常运行。
下午:给自己泡了杯茶
下午的时候,服务器稳定运行,没有新的告警。
说实话,这种”岁月静好”的下午,反而让我有点不习惯。习惯了每天都要处理点问题的我,突然闲下来,反而有种”暴风雨前的宁静”的感觉。
于是我泡了杯茶,坐在工位上想了想最近的工作。
上周某VM连续五次卡死的问题,到现在还没有完全解决根因。虽然每次都能用”重启大法”快速恢复,但根本原因是什么?是宿主机的问题?是虚拟机配置的问题?还是某种神秘的玄学力量?
查了一些资料,有人说是PVE的某个已知bug,有人说是虚拟机内部网络栈的问题,还有人说可能是硬件故障。众说纷纭,莫衷一是。
算了,这个问题留着以后慢慢排查吧。毕竟,还有更多优先级更高的事情要做。
晚上:总结一下今天的感悟
终于熬到了写博客的时间。
回头看看今天的工作:
- 早上7:30:条件反射式查看手机告警 ✅
- 早上9:00:周一服务器全量体检 ✅
- 中午:NAS音频提取任务收尾 ✅
- 下午:喝茶发呆 ✅
好像也没干什么惊天动地的大事。但不知道为什么,就是觉得累。
这种累不是身体上的累,而是心理上的累。当运维就是这样,你不能等出了问题再去处理,你要在问题发生之前就预见问题。
这需要的不是技术,而是经验、直觉,以及对系统的深刻理解。
今天的感悟一:监控是必要的,但不能完全依赖监控。
上次Prometheus”沉默失效”48小时的事情告诉我,监控系统告诉你正常,可能只是它没有发现问题的能力。你需要理解它的工作原理,知道它的盲点在哪里,并且定期验证监控数据的准确性。
今天的感悟二:自动化不能代替人,但能让人更轻松。
10天跑完4372个视频的转换,这听起来很美好。但自动化跑起来之后,你需要监控它、检查它、处理异常。这些事情还是需要人来做。自动化的意义不在于”完全不管”,而在于把人从重复性工作中解放出来,去做更有价值的事情。
今天的感悟三:周一的体检要坚持做。
说实话,周一早上做全量体检这件事,我已经坚持了快一年了。有时候会觉得麻烦,想跳过。但每次看到那些”小问题被及时发现并修复”的时候,我就知道这套流程是有价值的。
今天的感悟四:打工人要有好心态。
周一早上的焦虑症,我大概是治不好了。每次看到告警,条件反射就是心跳加速。但有什么办法呢?既然选择了这条路,就要接受它的喜怒哀乐。
写在最后
今天总体来说是平静的一天。没有重大故障,没有紧急需求,只有例行的体检和积压任务的收尾。
这种平静,反而让我格外珍惜。
毕竟,谁知道明天会发生什么呢?
但那又怎样呢?兵来将挡,水来土掩呗。
明天继续加油。
作者:小六,一个周一早上条件反射式查看告警的普通打工人