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

麒麟 V10 + 达梦数据库:信创环境可观测平台部署实录

在麒麟 V10 操作系统、鲲鹏 ARM 服务器、达梦数据库组成的信创环境里私有化部署炬鲸 OBSERVE,逐步拆解依赖适配、建库、启动、自检与验收,附完整配置、选型对比与排错记录。

信创环境对可观测平台的硬要求

政企客户对可观测平台有两条硬要求:一是数据不出内网,必须私有化部署;二是软硬件全栈国产化,要跑在国产 ARM 服务器、国产 Linux 和国产数据库上。可观测平台承载的是日志、链路、告警这些敏感运维数据,一旦数据外流或依赖国外组件,在等保和信创测评里就是硬伤。

炬鲸 OBSERVE 基于轻量 Go 架构、依赖少,交付物是单二进制,天然适合这类环境。下面是一套真实落地组合:麒麟 V10(ARM 版)+ 鲲鹏 920 + 达梦数据库 DM8。

环境与依赖准备

  • 服务器:鲲鹏 920 或飞腾 2000+(aarch64)
  • 操作系统:麒麟 V10 SP2 以上(ARM 版)
  • 数据库:达梦 DM8(或 MySQL 8 / OceanBase MySQL 模式)
  • 时间同步:务必配置 NTP,链路追踪对时钟偏移很敏感,偏移超过几十毫秒就会出现 span 错位

达梦提供兼容 MySQL 协议的能力,炬鲸 OBSERVE 走标准 SQL,只需准备一个专用账号和库,不需要改任何应用代码。这一点在信创迁移里很关键——很多时候「国产化」的阻力不在于平台本身,而在于业务系统要改代码去适配新数据库。

数据库选型:达梦、OceanBase 还是 MySQL

信创环境里数据库选型主要看三点:测评要求、现有运维能力和数据量。

  • 达梦 DM8:在信创目录内,生态成熟,政务项目最常见,MySQL 协议兼容模式稳定
  • OceanBase:MySQL 模式,分布式能力强,适合日志量特别大的场景
  • MySQL 8(国产发行版):如果测评允许,运维门槛最低

三者对炬鲸 OBSERVE 来说都是标准 SQL,切换只改连接串。拿不准的话,先用达梦,它是信创项目里最稳的默认选择。

建库与初始化

在达梦里建一个专用表空间和账号,并开启兼容模式,保证字符串排序、大小写行为与 MySQL 一致,避免日志检索结果错乱:

CREATE TABLESPACE observe_ts DATAFILE 'observe.dbf' SIZE 512;
CREATE USER observe IDENTIFIED BY "Observe@2024" DEFAULT TABLESPACE observe_ts;
GRANT DBA TO observe;

启动时用达梦的连接参数即可:

export DB_DRIVER=dm
export DB_HOST=10.0.0.12
export DB_PORT=5236
export DB_NAME=OBSERVE
export DB_USER=observe
export DB_PASSWORD='Observe@2024'

启动与自检

下载 aarch64 单二进制,直接以 systemd 方式托管,开机自启、崩溃自动拉起:

chmod +x observe
./observe --config ./env

启动后做三项自检:日志检索能否查出数据、链路追踪能否按 trace id 串链、告警规则能否正常触发。数据全部落在内网,无任何外发。

性能调优建议

ARM 服务器单核性能通常弱于同代 x86,调优重点放在并发和内存上:

  • 给炬鲸 OBSERVE 配 2-4 个 worker 进程,充分利用多核
  • 数据库连接池别开太大,达梦默认连接数有限,先压测再定值
  • 日志量大时开启索引冷热分层,热数据放 SSD、冷数据放机械盘
  • 把采集端到平台的端到端延迟当作第一优先级的指标持续监控

排错记录

  1. 连接达梦报驱动缺失:确认 DB_DRIVER=dm 且驱动包在运行目录,或改用达梦的 MySQL 协议端口(默认 5236 支持)
  2. 检索结果大小写不一致:检查达梦实例的 CASE_SENSITIVE 与排序规则是否与平台预期一致
  3. 时钟偏移导致 trace 断裂:所有主机统一 NTP,偏移控制在毫秒级
  4. ARM 环境偶发段错误:确认下载的是 aarch64 版本而非 x86_64,并核对麒麟内核版本与二进制编译目标一致

验收清单

对照等保要求逐项核:权限最小化(平台只跑必要进程、数据库账号最小授权)、审计日志留痕(登录、查询、导出全记录)、多租户隔离(不同部门数据互不可见)。这三点齐了,才算真正落地。建议把验收项整理成一张清单,上线前逐条打勾,避免临验收才发现缺项。