很多企业升级可观测性平台时,第一反应是“替换”:
把 Zabbix 换掉,把老监控系统换掉,把历史大盘和脚本重新做一遍,把采集器全部重装,把指标、日志、链路全部迁到新平台。
我不建议一开始就这么做。
跑了很多年的 Zabbix 或老监控系统,里面往往沉淀了资产信息、告警阈值、监控脚本、值班经验和历史习惯。这些东西不一定先进,但很有价值。一次性推倒重来,风险通常比想象中大。
更稳的路线不是替换老系统,而是让老系统逐步退到合适的位置:
先复用能复用的数据和经验
再补齐现代可观测需要的数据标准
然后建设对象模型、下钻路径、业务健康入口和 AI 上下文
最后在新平台上完成告警、巡检、SLO 和稳定性治理闭环
这才是平滑演进。
老系统的问题,不只是界面老
Zabbix 和很多老监控系统的问题,不只是页面旧、配置复杂、模板难维护。
真正影响故障响应的,是它们的视角仍然停留在“资源和指标”上。
它们很擅长告诉你某台机器 CPU 高了、磁盘快满了、端口不通了、进程挂了。但一个用户下单失败,背后可能牵涉网关、订单服务、库存服务、支付服务、数据库、Redis、Kafka、Kubernetes、云负载均衡、DNS、第三方渠道和最近一次发布。
如果平台只能按机器、模板、触发器、主机组来组织数据,值班人就很难从“业务受影响”一路追到“具体根因”。
所以老监控升级的核心原因不是“完全不能用了”,而是它无法自然承载现代可观测需要的对象模型和排障路径。
迁移前先盘点存量价值
迁移第一步,不是安装新采集器,而是盘点。
老系统里通常有几类资产值得保留:
主机和设备清单
主机组、业务组和标签
核心组件监控模板
已经验证过的告警阈值
自定义脚本和探测项
通知渠道和升级策略
历史故障中沉淀的经验规则
这张盘点表比“新平台安装完成”更重要。
它能避免两个问题:遗漏关键监控,以及把多年生产验证过的阈值全部推翻重来。
7 个阶段平滑演进
1. 并行运行,不要立刻下线老系统
新平台先接进来,老平台继续跑一段时间。
这段时间里,让 Flashcat 承接几个明确目标:统一查询新接入的数据,复用关键指标,建设核心系统灭火图,接入业务健康指标,接入发布和变更事件,验证 FlashAI 分析效果。
老系统继续负责原有基础告警,避免迁移初期出现盲区。
2. 指标逐步迁到 Prometheus / OpenTelemetry 生态
Zabbix 的很多指标可以继续用,但现代云原生场景更适合 Prometheus 和 OpenTelemetry。
迁移时不要追求一次性全量替换。优先迁移几类指标:
Kubernetes 工作负载指标
应用 RED 指标:请求量、错误率、耗时
数据库、中间件、缓存、消息队列指标
业务指标:订单量、成功率、登录成功率、支付成功率
老脚本里仍然有价值的探测项,可以先保留为拨测或自定义采集。
3. 补齐日志和链路,不要只升级指标
很多监控迁移失败,是因为只迁了指标。
指标能告诉你“异常发生了”,但日志和 Trace 才能帮助你判断“为什么异常”。现代可观测平台必须把 Metrics、Logs、Traces 和 Events 放在同一条排障路径里。
迁移时至少补齐三件事:
日志里有 service、env、trace_id、pod、instance 等字段
Trace 能覆盖核心接口和关键依赖
指标、日志、Trace 使用一致的服务名和资源名
否则新平台只是换了一个看指标的地方。
4. 从主机监控升级到对象健康视图
老监控系统通常按主机、模板、触发器组织数据。
现代可观测平台需要按业务对象组织数据:接口、服务、数据库、缓存、消息队列、Kubernetes 工作负载、机房链路。
迁移时可以先选一条关键业务链路,用灭火图建出四层对象:
业务入口:下单、支付、登录、核心 API
应用服务:订单、支付、库存、用户服务
依赖组件:MySQL、Redis、Kafka、Elasticsearch
基础设施:主机、容器、网络、DNS、云资源
目标不是画图,而是让异常能从底层对象上浮到业务影响。
5. 把告警从触发器改造成排查入口
老系统的告警往往只告诉你触发了哪个阈值。
新平台的告警应该告诉值班人:哪个对象异常、影响什么业务、下一步该看哪里。
合格的迁移结果应该是:
告警能进入对应灭火图或北极星页面
告警详情能看到对象、指标趋势和上下文
点击后能直接下钻到日志、Trace、仪表盘和事件
AI 分析能基于当前对象读取相关数据
恢复后能回到同一个对象确认状态变绿
这才是从“告警通知”升级到“故障入口”。
6. 用事件墙补上变更上下文
老监控系统通常很难把代码发布、配置变更、Kubernetes Event、云平台事件、运营活动和指标异常放在同一时间线里。
但真实故障经常和变更有关。
迁移时不需要一次接入所有事件,先接一类最常用的变更事件即可,例如 Jenkins、GitLab CI、Kubernetes Event 或云平台事件。
验收标准很简单:异常前后十分钟,平台能不能快速回答“刚刚发生过什么变化”。
7. 用 SLO 和巡检验证迁移成果
迁移不是把页面搬完就结束。
真正的结果应该体现在稳定性治理上:核心对象是否更健康,异常是否更快发现,根因是否更快定位,重复问题是否被持续治理。
可以选择一批核心卡片作为 SLO 对象,例如支付接口、订单服务、订单库、Redis 集群,设置月度目标,持续观察达标率、异常时段和错误预算。
FlashAI 也可以用于日常巡检:每天巡检灭火图,每周汇总 Critical 告警,输出高频问题和治理建议。
什么时候可以下线老系统
老系统能不能下线,不看新平台上线了多久,而看四个条件:
关键监控对象已经在新平台覆盖
核心告警已经迁移并经过真实故障或演练验证
值班人已经能从新平台完成主要排障路径
历史脚本、阈值和经验已经被迁移、替代或明确废弃
如果这些条件没有满足,老系统最好继续保留兜底。
如果这些条件已经满足,就可以按业务线、对象类型或告警等级逐步关停,而不是一次性下线。
不要把迁移做成工具替换
Zabbix 和老监控系统不是没有价值。
它们的问题是很难支撑今天的业务健康、对象模型、跨数据下钻、事件关联、SLO 和 AI 上下文。
所以迁移目标不应该是“把旧工具换成新工具”,而应该是:
复用已有监控资产
补齐现代可观测数据
建设故障处理路径
沉淀稳定性治理能力
让老系统逐步退场
这样迁移风险最低,团队阻力最小,也最容易让业务真正感受到可观测平台的价值。