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

从 ELK 平滑迁移到信创可观测平台:盘点、双写、切换与回滚

从 ELK 迁到信创可观测平台的实操步骤:迁移前盘点、存量导入+增量双写、Kibana 到 SQL 的语法映射、低峰切换与回滚,附信创环境收益。

迁移前要盘点什么

从 ELK 迁到信创可观测平台,第一步不是动手,是把家底盘清楚:

  • 数据量:日均日志量、峰值 QPS、保留周期,决定目标集群的节点和磁盘规划;
  • 查询习惯:团队日常用的 Kibana 查询、告警规则、Dashboard,逐条登记,迁移后要能对上号;
  • 采集面:哪些主机、哪些应用、用的 Filebeat/Logstash 还是别的,Agent 要全覆盖;
  • 依赖方:谁在消费日志(审计、BI、风控),迁移期间他们的读取不能断。

这份盘点表是后面所有决策的依据,别跳过。

数据迁移与双写

历史数据建议走「存量导入 + 增量双写」:

  1. 存量:把 Elasticsearch 里的历史日志用批量工具导出,按时间分片导入 OBSERVE,冷数据直接进对象存储归档;
  2. 增量:采集 Agent 同时向 ELK 和 OBSERVE 双写(Agent 支持多输出),跑 2-4 周,两边数据对齐后再切。

双写期间两边都可用,团队可以在 OBSERVE 上练手、调查询,不影响日常排障。

查询语法差异与适配

Kibana 的 Lucene/KQL 语法和 OBSERVE 的 SQL 风格有差异,常见映射:

  • message: "error" AND status: 500WHERE message LIKE '%error%' AND status = 500
  • level: ERROR | count by hostSELECT host, count(*) FROM log WHERE level='ERROR' GROUP BY host
  • 时间范围、字段存在性查询、模糊匹配都有对应写法。

建议整理一份「旧查询 → 新查询」对照表,把高频的几十条查询提前翻译好,贴在团队 Wiki 里。告警规则同理,逐条迁移并验证触发。

切换、回滚与验收

切换建议选低峰时段,流程:

  1. 提前一天冻结告警变更,确认新平台告警规则已配置且测试过;
  2. 切换前 1 小时停止增量写入 ELK,保留 ELK 只读作为回滚底牌;
  3. 切换 OBSERVE 为唯一写入,观察 30 分钟,确认采集、检索、告警三项正常;
  4. 保留 ELK 只读 7 天,确认无遗漏后下线归档。

验收标准要量化:检索 P95 延迟、告警触发准确率、历史数据可查性,三条都达标才算完成。回滚就是反向操作,因为 ELK 一直只读在线,切回去只需把写入重新指向 ELK。

信创环境的额外收益

迁移到信创栈顺带解决了几个老问题:国产数据库(达梦/金仓/OceanBase)原生适配,不再需要额外中间件;操作系统(麒麟/统信)上提供原生二进制,不用现场编译;审计日志留存与等保合规能力内置,省掉一套单独的合规工具。