【虎鲸进化论 24】监控与巡检:它开始盯着一切
本文是「虎鲸进化论」系列第 25 篇(正文第 24 篇)。上一篇:自动回归;下一篇预告:数据修复与清理 —— 它管起了烂摊子。
前言
上一篇的结尾问:没人出事的时候,它做什么?
这篇回答:它开始值班 —— 从一个"你找它才存在"的东西,变成"它不找你反而奇怪"的东西。
(照例:内网细节无截图;细节做模糊化处理。)
一、从"被动接单"到"主动发现"
先看这一步跨过的台阶:
- 之前:它的所有入口,都是人给的 —— 一个单号、一段报错、一次交代。没有入口,它就是一个安静的进程;
- 之后:它的入口里多了**“它自己找来的”** —— 巡检发现的异常、盯出来的波动。
这两个入口的性质完全不同:人给入口,意味着人已经知道出事了;它找入口,意味着它在人知道之前就知道了。
这一个小变化,把它的身份从"处理者"改成了"值守者" —— 差一个前缀,差一个物种。
二、它盯着什么:三类对象
它的巡检面板上,盯的是三类东西。最常看的几项:数据侧—— 核心对账表的一致性、关键表的日增量突变、批处理窗口的完成时刻;服务器侧—— 磁盘水位、内存水位、关键端口存活;它自己—— 工具可用性、知识库新鲜度、昨夜任务队列残留。
清单不长,这是刻意的:"盯得全"和"盯得准"打架时,它站在"准"这边(噪声是值班员的头号敌人,见第四节)。三类展开:
第一类:表数据(业务健康)。关键表的对账差异、数据量突变、核心指标的异常波动 —— 业务意义上的"哪儿不对劲";
第二类:服务器(资源健康)。磁盘水位、CPU/内存、连接数这些"慢变量"和第 19 篇那个"基线"体系合流 —— 环境故障被前置发现了;
第三类:它自己(自我健康)。这一条最特别:探活工程(第 09 篇)的升级版 —— 它开始检查自己的工具是否可用、知识库是否新鲜、昨夜的任务队列是否清零。一个值班员把自己的状态也列进了巡检表,这件事本身值得停半秒:它在按"系统"的标准管理"自己"。(顺手自嘲一句:我们给自己做的年度体检,都没它检查自己勤。)
三、巡检的编排:清晨报告多了一段
巡检的落地非常朴素:定时任务(第 20 篇的装置)+ 清晨报告(第 21 篇的载体)的组合。编排也一样朴素:清晨一轮全量巡检(跑给报告用),日内每 NN 小时一轮轻量巡检(只盯"告警级"的几项);夜间窗口的巡检结果并进清晨报告 ——不叫醒任何人,除非真的着火(这是"分级"制度的第一个应用现场)。
于是每天早上那份报告,从"它昨晚干了什么",扩成了"它昨晚干了什么 + 它今早看到什么"。而序章里那个画面 —— “报告的最后一行,它圈出了两个它不确定该不该动的地方” —— 就是这一段的样子:
它发现的,它只报告;它吃不准的,它圈出来等批。发现的边界和动手的边界,从第一天就是分开画的(下一篇展开)。
四、告警的分寸:最难的一道工程题
盯得越多,越会撞上监控体系最经典的难题:告警的分寸。
- 告警太多 = 狼来了:人开始无感,真事件淹没在噪声里(有过运维经验的人都懂 —— 每个做过运维的人,手机里都躺着一个被静音的告警群;那是人类对"狼来了"最诚实的回应);
- 告警太少 = 漏报:出事的时候没人知道。
它的处理路径,是后来慢慢磨出来的:
- 分级:信息 / 预警 / 告警 —— 只有"告警"级才有打扰人的资格;
- 聚类:一个根因引发的几十条异常,合并成一条 —— 报告"因",而不是"果"的雪崩。再配一条土办法:同一根因保留最早那条,其余自动折叠附后;
- 变更关联:凡告警时段内有过发版/跑批,自动标注"可能与变更相关"再进分级 —— 这一条让"新版本引入"和"环境抖动"在报告层就分了家;
- 静默窗口:明知在跑批/发版的时段,暂时闭嘴 —— 但静默本身有期限、有留痕,允许它安静,不允许它偷偷安静。
最后那句值得单独划线:"静默"是一个危险的权限—— 它意味着"暂时不报"。这套机制后来被我们卡得很死,因为它本质上和"瞒报"只隔一层纸。
五、主动发现改变了什么
对组里的三个人来说,这个变化是静悄悄的,但根子很深:
人从"发现者"变成了"被告知者"。以前最早知道出事的,是屏幕前的某个人;现在最早知道的,是它 —— 人在被告知之后介入。(用组里的话说:以前是"出事了我第一个知道",现在是"出事了我第二个知道" —— 第二名有好处:少一点手忙脚乱;也有代价:少一点"救火英雄"的叙事。)
事故被前置化了:从"炸了才知道"到"快炸了有人管"。后者的价值不是省了多少次抢修 —— 是把"应急"这种高损耗的状态,尽量消灭在日常里。
但它也顺手把一道新题摆上了桌:发现之后,它能自己动手吗?巡检发现磁盘快满了、发现账对不上、发现一批历史数据异常 —— 有些它能修,有些它绝不能碰。
这条线怎么画,是下一篇的全部内容。
结语(回味点)
它值班的第一周,人心态上有个微妙的变化:从前是"出事了找它",现在是"它没说话,应该没事"。
把"没事"的确认权交给一个东西,比把"做事"的执行权交给它,要难得多。
而它很快就不满足于"报告"了:它开始发现脏数据 ——
发现之后呢?
边界声明
- 本文为个人观察与判断,不代表任何任职单位的立场;
- 文中涉及的组织、系统与人名均为化名或模糊处理,数字为个人口径的测量或估算;
- 文中观点按 实测 / 推理 / 立场 分层标注,欢迎按同一标准检验。
下一篇计划聊:数据修复与清理—— 它管起了烂摊子:定时数据修复、历史 log 与数据的清理,以及"哪些数据永远不许碰"。
转载请注明出处:
https://lizhiyong.blog.csdn.net/article/details/168341478