Skip to main content

第 20 章 · 集成与对接

适用对象:架构师、集成开发、备份管理员 · 阅读约 15 分钟 · 对应产品界面版本 v1.2.0

把备份平台接进 CMDB、统一监控、工单系统和日志平台,是中大型环境的常规需求。这一章讲的是对接之前要确认什么:有哪些可用通道、每条通道的边界在哪里、哪些做法是明令禁止的。它不是接口手册——接口手册要从产品侧单独取得。

读完这一章你会做:

  • 判断当前该走接口对接还是替代通道,并据此给集成方案定节拍
  • 列出向产品侧索取接口材料的清单,以及拿到之后要逐项验证什么
  • 为 CMDB 同步、监控采集、工单触发恢复三个典型场景设计控制点
  • 说清楚哪些集成做法不能用,以及不能用的原因

先看现状​

目前还没有正式的接口说明

管理页面可以证明业务入口存在,但页面路径不是对外 API 端点。对外 API 的版本、认证协议、请求结构、错误码与兼容性承诺,在拿到产品侧书面接口说明之前都不成立。在此之前不要按推测的路径开发,也不要把浏览器页面请求当成对外接口使用。

源文档给出了一份参考规格,可以用来做接口封装层的设计和排期,但它明确标注为「落地前须经产品侧以正式文档确认」,不能作为对接契约:

接口要素参考规格(未经产品侧书面确认)
提供方式RESTful / JSON over HTTPS,与 Web 控制台同源,不单独开放 API 端口
版本与基址基址形如 https://<管理平台地址>/api/v1,版本号写在 URL 路径里
认证方式登录换取会话令牌(Bearer Token);服务账号场景使用 API Key + Secret Key
权限模型复用控制台的 RBAC 角色与数据范围
分页与过滤page / page_size 加 sort / filter,响应体含 total
错误码HTTP 状态码 + 业务码,响应体含 code / message / request_id
幂等与限流创建类接口支持 Idempotency-Key 请求头,超过限流返回 429 并给 Retry-After
文档形式《API 参考手册》加 OpenAPI 描述文件
参考规格里的具体数值不要直接写进开发文档

源文档给出的令牌有效期、密钥数量上限、分页默认值与上限、每分钟调用次数等具体取值,同样属于未经确认的参考值。把它们写进接口封装层的默认配置是可以的,写进验收标准不行。

两条路径​

集成方案要同时准备两条路径,等产品侧给出书面结论后再收敛到其中一条。

路径 A:确认提供对外 API路径 B:确认不提供
接口说明索取接口说明书或 OpenAPI 文件,按真实取值替换全部待确认字段把「提供对外 API」登记为需求项与验收风险项,写明需求编号、影响范围与期望交付时间
认证令牌或长期密钥,配独立低权限服务账号控制台账号加堡垒机二次认证,执行口令复杂度与定期改密要求
CMDB 同步接口增量同步导出文件加人工确认,节拍由每日降为每周
工单触发恢复接口受控触发工单驱动人工在控制台执行,控制点不变
监控采集接口或报表导出报表导出加邮件解析
验证按本章「验证清单」逐项执行改为验证替代通道:导出文件的字段完整性、定时发送的到达时间与成功率、日志通道的断链处理

路径 B 下的集成收益从「自动执行」降级为「自动登记与留痕」,这一点要在方案里写明,不要让业务方以为功能等价。

开始之前​

正式开发对接前要凑齐的材料:

前置项说明
接口说明书或 OpenAPI 文件含适用的产品版本,版本对不上的文档不能用
测试环境与测试账号生产环境不做接口联调
服务账号与权限范围独立低权限账号,建议只给「操作员 + 指定保护组」范围,不给超级管理员
网络放行集成网段到管理平台的方向与端口,见附录 B
变更与审批接口纳入变更管理,订阅产品侧的接口变更与弃用公告
性能影响结论接口调用对备份性能与并发的影响,须经产品侧确认后再上生产

在接口文档到位之前,可以先按参考规格设计接口封装层(基址、令牌获取、分页、错误码重试),这一层不依赖具体资源路径,文档到位后补齐路径映射即可。

接口边界​

这些是集成方案里的禁止项,与是否提供 API 无关。

四条红线
  1. 禁止直连平台内部数据库做常规集成。 平台内部确实有关系型数据库并监听服务端口,但那是供内部组件连接的,不是对外接口。
  2. 禁止抓取管理页面的请求当作集成手段。 页面接口没有兼容性承诺,产品升级后随时失效。
  3. 禁止用任何非正式通道执行变更类操作——恢复、删除、策略变更只能走控制台或产品侧确认的接口。
  4. 禁止把「邮件通知成功」当作任务成功的判据。 通知到达只证明通道通,结论以平台任务记录为准。

如果确有只读采集的需求,且产品侧书面许可,那么至少要满足下面这些条件:

项目要求
账号独立只读账号,仅授予 SELECT;禁止复用应用账号或管理员账号
连接方式直连只读副本或从库,不建议直连承载写入的主库
访问范围仅限只读视图或稳定表;禁止查询大字段、日志正文与凭据相关表
频率低频定时(如 5 至 15 分钟一次),避免复杂聚合与全表扫描
结构稳定性表结构可能随版本升级变化,无兼容性承诺,每次升级后重新验证字段与语义
熔断采集脚本必须有超时与熔断,避免慢查询拖慢平台
结论口径所有结论以平台任务记录为准,数据库取值只作辅助

优先级永远是:正式接口 > 报表导出 > 只读副本。

可用的对接通道​

在接口结论明确之前,下面这几条是可以先推进的替代通道。

通道实时性主要用途当前状态
报表导出与定时发送低(按周期)监控展示、容量与成功率趋势待确认格式与定时投递能力
Syslog 外发高日志平台与 SIEM待确认是否支持及字段格式
Webhook高任务结果、告警、容量事件推送待确认是否支持及事件模型
CLI / 运维脚本按需巡检、导出、状态查询待确认是否提供
数据库只读中兜底采集需产品侧书面许可,不推荐常规使用
邮件解析低运维展示或工单线索只读采集,不触发任何动作

报表导出与定时发送​

缺少对外 API 时,这条是最实用的替代通道。

需要确认:报表包含哪些字段与统计口径、支持哪些导出格式(PDF 用于归档留痕,CSV 或 XLSX 才方便程序解析)、能否按周期自动投递到指定邮箱。

解析侧由集成方实现,有三点必须写进方案:

  • 报表记录的是统计结果而不是明细,不能替代任务日志级别的对账。
  • PDF 解析对版式敏感,产品升级后可能失效。「解析失败」要作为独立告警,不能静默丢弃。
  • 报表到达不等于任务成功,展示和工单结论仍以平台任务记录为准。

去重按「报表周期 + 任务标识」,解析结果要能回溯到原始报表文件。到点未收到报表、字段缺失、数值为空,这三种情况都要有告警规则。

Syslog​

日志平台与 SIEM 对接的主通道。对接前先定四件事:需要哪些事件类型、时间同步是否可靠、保留期限与合规要求、哪些字段属于敏感信息。

需要向产品侧确认的项:

约定项要确认什么
标准与格式RFC 5424 还是 RFC 3164,结构化数据怎么放
传输与端口UDP 514、TCP 601、TLS 6514 中支持哪些
事件范围登录登出、配置变更、任务成功失败、代理上下线、告警产生与恢复,各自是否覆盖
关键字段时间(含时区)、主机、模块、严重级别、事件类型、用户、资源、任务、结果、消息 ID
严重级别映射syslog severity 与日志平台等级的映射表
断链处理是否本地缓存、链路恢复后是否补发、断链本身是否告警
口令、令牌、密钥不得出现在日志正文

外发通道一旦打通,日志正文里的任何敏感内容都会进入第三方系统。脱敏要求见第 19 章。

如果确认不支持外发,替代方案是由运维按周期导出日志包并归档,作为取证通道而不是实时通道。

Webhook​

价值在于把任务结果、告警和容量事件实时推过去,避免轮询。需要确认的是事件类型清单、事件字段、鉴权方式(静态令牌还是 HMAC 签名)、超时与重试策略、投递失败时平台侧是否可见并告警。

接收端要按事件 ID 去重,重复投递按同一事件处理。

Webhook 必须做失效演练

停掉接收端,确认平台侧能记录投递失败并告警;链路恢复后不产生重复工单。投递失败被静默丢弃是这条通道最典型的事故模式。

平台不提供 Webhook 时,可以用「Syslog 到日志平台再转发」或「邮件到网关再解析」组合替代,但实时性、字段完整性和可靠性都会下降,降级影响要写进方案。

CLI 与运维脚本​

如果提供 CLI,通用约定是:凭据来自环境变量或受权限保护的凭据文件(禁止在命令行明文传口令);支持结构化输出便于脚本解析;退出码 0 表示成功,非 0 给出可区分的错误码;与接口共用同一套角色与资源范围;每条命令记录执行人、时间、参数摘要与结果。

建议只把 CLI 用于巡检、导出和状态查询,不用于批量恢复等高风险操作。

邮件解析​

只在确认没有正式接口时使用,而且只用于运维展示或工单线索。解析要校验发件身份、固定模板、时间、结果,并做去重和异常处理。这是只读采集,不触发恢复或删除。

集成场景​

CMDB 主机同步​

环节做法
主数据方向CMDB 为源,备份平台为从,避免双向写入冲突
唯一键优先资产编号,其次 IP 加 FQDN 组合;缺唯一键的主机进人工处理流程
同步字段名称、IP、FQDN、操作系统与版本、架构、业务等级、责任人、标签
不同步字段备份策略、还原点、保留期、授权——这些由备份平台自行管理
同步频率每日一次增量,避开备份窗口
冲突处理以 CMDB 为准更新描述性字段,备份平台的运维字段不被覆盖,冲突写审计日志
下线处理CMDB 中已下线的主机在备份平台标记为已下线而不自动删除
校验每次同步输出新增、更新、未匹配三类清单,未匹配项须有人工结论
回退保留同步前的字段快照,可按单主机回退,并与变更单绑定
自动删除保护对象是不可接受的设计

CMDB 里主机下线的原因可能只是资产录入错误。如果同步逻辑会自动删除备份平台上的保护对象,就等于把误删保护对象和还原点的能力交给了一个外部系统。

验收标准建议三条:连续两周同步的新增与变更主机无遗漏(人工抽样为准);未匹配清单每周清零或有明确处置结论;同步过程不产生任何备份策略或还原点的变更。

任何写操作前先做一次全量比对并输出差异清单,由运维确认后再执行。

统一监控:成功率与容量​

采集之前先把口径定死,否则不同系统之间的数字无法比对:

  • 作业成功率的分母是什么(计划任务数还是实际执行数)
  • 统计周期与时区
  • 重试怎么计数
  • 离线资源怎么算
  • 容量单位

时间统一用带时区的表示并落库记录时区。告警要保留原始告警 ID 与文本摘要,便于与邮件、Syslog 通道对账。采集责任人与权限要明确,采集失败和缺失值都要记录,不能静默跳过。

工单触发文件恢复​

这个场景的核心不是「能不能自动触发」,而是「受控触发加可追溯」。

步骤执行方动作强制控制点
1 申请业务方提交恢复申请:主机、还原点时间、文件或目录清单、目标路径、原因必填项校验,缺目标路径不受理
2 审批备份管理员与业务负责人双人复核还原点与目标路径审批通过才进入执行
3 校验执行人核对还原点可用性、目标剩余空间、目标路径是否为生产原路径默认目标为隔离目录,覆盖生产路径需额外审批
4 执行路径 A 调接口 / 路径 B 人工在控制台执行创建恢复任务并记录工单号幂等键取工单号,同一工单只执行一次
5 校验业务方与执行人核对数量、大小、抽样哈希、应用可读性校验通过才回写成功
6 回写工单系统回写状态与证据链接不允许出现无终态工单
7 归档审计员归档操作记录、恢复记录与校验结果保存期满足审计要求

工单状态机:受理 → 审批中 → 已批准 → 执行中 → 校验中 → 成功;或受理 → 审批中 → 已驳回;或执行中 → 失败 → 已回滚。

执行失败时必须记录失败环节、错误码或日志摘要。恢复到隔离目录的失败通常无需回滚,覆盖式恢复的失败必须先评估目标数据状态再决定。

这个场景的禁止项

禁止把恢复目标默认设成生产原路径;禁止在业务高峰执行覆盖式恢复;禁止无审批的批量恢复;禁止在工单重试时重复提交同一恢复请求(先用幂等键查结果)。覆盖恢复会清除目标路径的既有数据,恢复操作本身的风险见第 12 章。

堡垒机与统一认证​

对接项要点
账号映射目录账号与平台账号一对一,用唯一属性匹配
角色映射目录用户组映射到平台角色,避免逐人授权;禁止用通配规则把所有域用户映射为管理员
本地账号保留至少一个本地应急管理员,口令托管并定期轮换
堡垒机纳管通过代理访问管理端,会话录屏与命令审计由堡垒机侧实现
会话与超时空闲超时、单点登出、离职账号即时禁用
审计留痕登录、授权变更、恢复操作写入平台日志并同步到日志平台
网络路径管理端到目录服务与堡垒机方向的访问放通,见附录 B

对接顺序:先评审账号与角色的映射表,再在测试环境联调,最后切换生产。切换时必须保留并验证本地应急账号,否则目录服务故障会导致管理端无法登录。三权分立要求应在映射表里体现,审计员角色不得同时拥有恢复与删除权限,见第 18 章。

邮件网关​

确认 SMTP 地址、端口、认证方式、加密连接、发件人及接收范围,在批准的窗口内用「测试邮件服务」验证,再核对网关接收记录与目标邮箱。

之后要分别验证作业成功、警告、失败三类通知和日报,不要把一次连通测试当成全部通知都验证过了。

验证清单​

拿到接口说明并具备测试环境之后,逐项执行并留存证据(截图、请求与响应原文、日志片段、执行人)。没有执行的项保持空白,不得以「页面可操作」代替接口验证。

编号验证项方法期望结果
V-01接口连通性从集成网段访问基址,验证 TLS 与端口可建立 TLS 连接,返回鉴权错误而非连接失败
V-02认证与令牌过期取令牌后等待超过有效期再调用返回 401,重新取令牌后恢复
V-03最小权限校验用只读账号调用写接口返回 403,且不产生任何变更
V-04资源查询一致性接口返回的主机数与页面资源数比对数量与唯一键一致,差异可解释
V-05分页与总量用分页参数遍历全量无重复、无遗漏,总数一致
V-06错误码结构构造参数错误、越权、不存在三类请求返回约定的状态码与请求 ID
V-07幂等键同键同请求体重复提交创建类请求只产生一个作业,第二次返回首次结果
V-08限流与重试压测触发限流按 Retry-After 退避后可恢复
V-09恢复接口在隔离主机执行一次测试恢复目标文件与源端校验一致,无越权写入
V-10审计留痕完成上述调用后查询审计日志可查到调用者、来源 IP、对象与结果

重试规则:只对限流、服务端错误和网络异常重试,最多 3 至 5 次,退避基数建议 1 秒并加随机抖动,总时长不超过业务窗口,重试过程中复用同一幂等键。批量接口的部分失败必须逐条返回明细,禁止「部分成功但整体返回成功且无明细」。

接口并发和作业并发是两回事

接口并发过高只影响管理端响应;作业并发过高会影响生产存储与网络。同一主机同一时刻只应有一个快照类作业,恢复作业与备份作业不应并发。自动化触发必须限流并错峰,容量与并发口径见第 3 章。

常见问题​

现在能直接按 /api/v1/... 开发吗? 不能。源文档里的路径是通用形态的举例,不是 SupDRC 的已确认端点。可以先做不依赖具体路径的封装层,等接口文档到位再补映射。

页面上的请求我能抓下来用吗? 不能作为集成手段。页面接口没有兼容性承诺,升级后随时失效,而且绕过了平台的权限模型,不符合审计与最小权限要求。

监控系统要算备份成功率,从哪里取数? 接口结论明确前走报表导出。取数之前先定死分母、统计周期、时区和重试计数规则,否则和别的系统对不上账。

工单系统能不能自动发起恢复? 在没有确认接口之前,第 4 步固定为人工在控制台执行,其余六个控制点不变。集成收益从自动执行降级为自动登记与留痕。

报表按时收到了,是不是说明昨晚的备份都成功了? 不是。报表到达只说明投递通道正常;报表里的数字是统计结果,明细对账要看平台的任务记录。

相关章节​