
同一套观测平台,在两个团队里会得到相反的评价。一个团队说排障路径被压缩到一次检索之内,另一个团队说它上线后没人用、指标还不如原来那几块看板准。
差别往往不在平台,而在接入顺序。前者先把存量告警收拢到一个入口,再逐步补齐其余能力;后者选择一次性切换,切换当天就把旧看板关掉,于是所有尚未迁移的环节同时变成盲区。
并行期的典型状态是:新平台已经上线,旧工具还在续命,值班人员同时被两套告警通道打扰。同一故障,一边发邮件、一边发消息;一边要确认、一边要关闭,重复劳动抵消了新平台带来的收敛收益。
更麻烦的是口径分叉。旧体系按主机聚合,新体系按服务聚合,同一段时间内的“异常数量”两边不一致。管理者看到两份报表,第一反应不是去理解口径差异,而是怀疑其中一套在虚报。
这段时间通常持续数月,长度取决于存量对象的迁移速度。把它当作过渡期忍着,还是当作正式阶段来设计,结果差别很大:前者会在这段时间里消耗掉使用者的信任,后者会把这段并行当作建立映射关系的机会。
先汇聚的做法是把存量系统的告警先接到一个统一入口,做去重、抑制与分派,原有工具继续负责采集与展示。切换点上发生的变化是“处理入口”变了,采集与展示没变,因此使用者的日常操作只改一处。
先替换的做法是把采集、存储、展示一并换掉,切换点上发生的变化是“整条链路”变了。好处是不留过渡态,代价是切换窗口内所有依赖旧链路的值班流程同时失效。
差异在切换点之后的第一个故障里体现得最明显。先汇聚时,新入口接不住的那部分告警会显示为“未纳管来源”,是一份可见的缺口清单;先替换时,接不住的部分直接消失,没有清单,也没有告警。
这份清单的价值在于它把未知变成已知。渐进路径的核心不是“慢慢来”,而是每一步都留下可核对的缺口记录。
汇聚层要解决三件事。
第一是适配。存量系统的告警格式各不相同:有的推事件、有的等轮询、有的只给一封邮件。适配器负责把不同形态统一为同一种内部事件结构,字段通常包括来源、对象、级别、首次与末次发生时间、当前状态。
第二是归一。同一含义在不同系统里叫法不同,级别定义也不同:一处把“磁盘将满”定为警告,另一处定为严重。归一动作把这些映射到统一级别与统一对象标识,使不同来源的告警可以比较、可以去重。
第三是再分发。归一之后的事件要能回到原来的处理渠道,也能进入新的处置流程:转成工单、触发自动化动作、或者仅仅作为上下文参与根因判断。再分发决定了汇聚层是“又一个收件箱”还是“处置的起点”。
三件事里最难的是归一。适配可以按格式逐家做,再分发可以按流程逐个接,归一需要一套全组织认同的对象与级别体系,而体系本身要有人维护。实践中常见的做法是先只统一对象标识,级别映射暂时沿用来源系统的定义,等积累出足够多的冲突样本后再收敛级别,否则一开始就会陷入无休止的语义争论。
双轨期的成本由四部分构成。
采集侧要重复投入。同一个对象被两套采集器同时抓取,资源占用与网络流量都翻了一份,且两侧采集精度不同还会导致曲线不可比。
存储侧要重复保留。为了在切换后仍能回溯切换前的数据,旧存储往往要延长保留期,这段延长覆盖了全部历史数据,而不是只覆盖切换点附近。
人力侧要重复值班。两套告警通道并行时,值班人员需要判断哪条该在哪个系统处理,这个判断本身就是额外负担;若两套都要求确认,工作量直接叠加。
进度侧还要承担一份隐性成本:两条路径同时在推进时,任何一次故障都要在两套体系里各复盘一遍,复盘结论若不一致,还要再花时间确认哪一套数据可信。
认知侧要承担口径冲突。同一指标在两套体系里的数值不同,会让使用者对数据整体失去信任,这种信任损失往往比多花的资源更难恢复。压缩双轨期长度的最有效手段,是把归一规则提前定下来,让两侧在同一对象标识下可比较,而不是各说各话。
第一阶段是纳管。把存量告警源接入汇聚层,保持原有采集与展示不动,只做归一与去重。此阶段的回滚点是关闭汇聚层的转发,旧流程立刻恢复,风险最低。
第二阶段是补链。在汇聚层已有对象标识的基础上,接入日志与调用链,让一条告警能落到具体对象的上下文。此阶段的回滚点是按来源逐步摘除新增数据源,旧数据仍在,判断依据不会消失。
第三阶段是替换展示。把日常值班视图从旧看板迁到新视图,旧看板保留只读。此阶段的回滚点是恢复只读视图为默认入口,成本极低,因此适合在业务低峰期推进。
第四阶段是下线。确认旧工具已无独有数据与独有流程后,按业务系统分批停用。此阶段的回滚点最脆弱,需要在停用前把配置与历史数据归档,并保留一段可重启窗口。
四个阶段的共同原则是:每一步都只改一件事,且这一步的回滚不依赖尚未完成的下一步。
阶段之间的间隔不由计划决定,而由“缺口清单是否收敛”决定。若纳管阶段结束后仍有大量来源未接入,说明适配工作量被低估,此时进入补链阶段只会把未纳管的缺口埋进更深的链路里。判断进入下一阶段的条件应该是清单上的已知缺口已被逐条确认,而不是日历上的日期到了。
第一种是存量工具运行多年、承载着大量人工流程的环境。此时替换成本不在软件,而在流程重构,先汇聚能把流程改动压缩到入口一处。
第二种是核心系统不能停摆的环境。汇聚层可以在不触碰采集链路的前提下提供统一视图,停机风险最低。
第三种是技术栈正在迁移的环境。两侧技术栈在过渡期内并存,采集适配需要逐个补齐,汇聚层可以先把已适配部分纳管,未适配部分明确标注,避免整体推迟。
不适用的情况同样明确:若存量工具只有个别几套、对象数量有限、且团队对现有体系满意度较高,那么汇聚层带来的收益不足以抵消多一层组件的运维负担。若组织的核心诉求是一次性解决合规与数据驻留问题,而非逐步演进,那么直接新建体系比先汇聚更合适——汇聚层不改变数据存放在哪里,也不解决合规问题本身。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。