政企信创改造中,把 ELK 可观测栈从 x86 迁到麒麟 V10 + 鲲鹏 ARM 的完整落地清单:兼容性评估、存储替换、数据迁移与验收要点,附并行验证方案。
信创改造最容易翻车的地方,不是技术本身,而是迁移前没把兼容性清单列清楚。可观测栈的组件远比看起来多:采集 Agent、存储引擎、查询层、告警组件、前端,任何一个在 ARM 上没有对应版本,迁移就会卡在半路。
建议先做一张表,把每个组件在国产环境下的支持情况列出来:
| 组件 | x86 现状 | 国产替代 / ARM 支持 | 结论 |
| --- | --- | --- | --- |
| 日志采集 | Filebeat | 炬鲸内置采集 Agent(Go 单二进制) | 可直接替换 |
| 存储引擎 | Elasticsearch | MySQL 8 / OceanBase / 达梦 | 协议兼容 |
| 查询层 | Kibana | 炬鲸 OBSERVE 控制台 | 类 SQL 检索 |
| 告警 | 自研脚本 | 内置告警规则引擎 | 迁移规则 |
炬鲸 OBSERVE 基于 Go 编写,单二进制交付,在 ARM 上直接编译运行,不依赖 JVM 等重运行时,这一环通常是最顺利的。
Elasticsearch 的替换是迁移的核心。炬鲸 OBSERVE 的存储层走 MySQL 协议,可以对接 MySQL 8、OceanBase(MySQL 模式)和达梦,应用侧零改动,只需要换连接串:
# 炬鲸 OBSERVE 只需改 env 配置
DB_HOST=10.0.0.12
DB_PORT=2881 # OceanBase MySQL 模式端口
DB_NAME=observe
DB_USER=observe
DB_PASSWORD=********
选择 OceanBase 或达梦时,注意两件事:一是字符集统一用 utf8mb4,避免日志里的中文和 emoji 乱码;二是确认目标库的兼容模式(OceanBase 选 MySQL 模式),别混用 Oracle 模式,否则 SQL 方言会出问题。
直接"停机搬迁"风险太高,推荐并行验证:新栈先跑起来,与老栈同时接收一份镜像流量,两边结果对比。
历史日志要不要迁?建议只迁最近 90 天的热数据,更早的冷数据以归档文件形式保留,避免为访问频率极低的数据付出迁移成本。
迁移完成后,按下面几项逐条验收:
信创迁移不是一次性动作,而是"评估—并行—切换—验收"的闭环。把清单走完,才能既不中断业务,又满足自主可控的要求。