← 返回文章列表
信创 3 分钟阅读 炬鲸团队

从 ELK 迁移到信创可观测平台:一次完整的国产化落地实践

记录一次从 ELK 到信创可观测平台的迁移:麒麟+鲲鹏环境部署、索引与告警迁移、数据双跑与切流,以及迁移中踩过的坑和避坑建议。

迁移前先摸清家底

决定把 ELK 迁到国产化可观测平台前,先盘点存量:索引有多少、每天写入量多大、保留多少天、有哪些告警规则和看板、多少应用通过 Filebeat/Logstash 上报。我们这次迁移的现状是:单日日志约 2TB、保留 30 天、约 200 条告警规则、60 个应用接入。

这份清单决定迁移顺序和回滚方案。经验是:先迁告警与看板(这是团队每天盯的),再迁数据面(Filebeat/Logstash 的转发目标),最后迁历史数据。

国产化环境部署

目标环境是麒麟 V10 SP3 + 鲲鹏 920,软件栈为炬鲸 OBSERVE。部署要点:

  1. 确认架构:鲲鹏是 ARM64,所有镜像和二进制必须用 aarch64 版本,别拿 x86 的包直接跑
  2. 存储:日志量大,数据盘建议用 NVMe SSD 并独立挂载,别和数据目录共用系统盘
  3. 内核参数:调大 vm.max_map_count 和 nofile,否则索引阶段会频繁 OOM

用一条安装命令拉起控制面和数据面节点,注册后即可在控制台看到集群状态。国产化 CPU 单核性能低于同代 x86,索引吞吐上要有预期,必要时增加数据节点分摊写入压力。

索引与告警迁移

索引按日志类型迁移:应用日志、审计日志、访问日志分别建对应索引,字段映射与原 ELK 保持一致,避免下游查询脚本改动。

告警规则是迁移的重头。把 ELK 的 watcher/告警逐条转成 OBSERVE 的告警策略,重点核对:

  • 阈值与持续时长是否一致
  • 聚合窗口是否对齐(ELK 的 bucket 与 OBSERVE 的窗口语义有差异)
  • 通知渠道与值班表是否正确挂接

建议导出告警清单逐条核对,别批量导入后才发现通知没接到人。

数据双跑、切流与避坑

切换阶段用双跑保证不丢数据、可回滚:

  1. 第 1-2 周:新数据同时写 ELK 和 OBSERVE,对比两边数据量差异
  2. 第 3 周:告警与看板切到 OBSERVE,人工抽查几天,确认告警不漏报
  3. 第 4 周:确认稳定后停止向 ELK 写新数据,历史数据按需迁移或归档

双跑期间用数据量差异和抽样对比校验一致性。切流后保留 ELK 只读一个月,作为回滚兜底,再下线。

踩过的坑:ARM64 镜像不兼容,先跑 smoke test 再全量;文件句柄不足导致索引卡死,部署时统一调内核参数;告警窗口语义不一致导致漏报,逐条核对别想当然;迁移历史数据耗时远超预期,提前规划冷热分层,旧数据只迁近 30 天,更早的走归档。