记录炬鲸 OBSERVE 在国产化环境(麒麟/统信操作系统、飞腾/鲲鹏/海光芯片、达梦/人大金仓数据库)的适配过程,给出具体命令、兼容性验证步骤和踩坑清单。
很多人以为国产化只是换个操作系统,实际是四层同时换:芯片(x86 → ARM)、操作系统(CentOS → 麒麟/统信)、数据库(MySQL → 达梦/人大金仓)、中间件。每一层都有微妙的差异:ARM 的字节序、麒麟的 glibc 版本、达梦的 SQL 方言。可观测平台本身要吞吐海量日志和指标,对 CPU 指令和存储引擎更敏感,不是“能装上”就行。
飞腾(ARM64)和海光(x86)我们都做了原生编译,在麒麟 V10 SP2 和统信 UOS 20 上通过兼容性测试。部署上唯一要注意的是 glibc 版本:麒麟 V10 默认 glibc 2.28,如果采集器是用更高版本 glibc 编译的,会报 GLIBC_2.34 not found。解决办法是静态编译或用 musl 打包,别指望运行时升级 glibc。
# 检查 glibc 版本
ldd --version | head -1
# 检查 CPU 架构
uname -m # 应输出 aarch64 或 x86_64
OBSERVE 的元数据和配置存储默认 MySQL,信创环境我们提供达梦 DM8 和人大金仓 KingbaseES V8 的适配。达梦兼容 Oracle 方言,有两处差异要处理:
LIMIT offset, count 不完全一致,ORM 层要按方言自动切换。迁移用达梦自带的 DTS 工具从 MySQL 全量 + 增量同步,先迁结构再迁数据,最后切读写。
采集器支持麒麟/统信上的 systemd 部署,日志采集兼容 rsyslog、journald 和国产中间件(东方通 TongWeb、宝兰德 BES、金蝶 Apusic)的输出格式。这些中间件的日志格式和 Tomcat 接近但不完全相同,采集配置里要单独写正则,不能直接复用 Tomcat 的模板。
部署完按下面顺序验收,别跳步:
systemctl status 正常。信创迁移别一步到位。先并行跑两套环境(x86 + 信创),同一批日志双写,对比结果一致性,稳定一个月再切换。数据库方言和浏览器兼容是隐藏成本最高的两块,提前做 POC。