DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

wufengwind /

wufengwind/dsh-plugin-dm-ops

Verified

Dameng inspection, security and recovery-condition assessment for DeepSeek Harness

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: codex/dm-ops-plugin@25d89932

dm-ops

达梦统一巡检、恢复条件评估、安全检查插件。命令行和 DeepSeek Harness 调用同一执行入口,输出 HTML 报告及 JSON 证据。当前版本 0.1.7。

范围

每节点复用 85 项巡检、60 项安全检查和 16 类恢复场景。保留原项目 MIT 许可证,来源与改动见 THIRD_PARTY.md。

新增或修正:

  • SSH 主机名、实例名、端口、dm.ini、运行进程交叉匹配;匹配失败不采集主机数据。
  • 数据、归档、备份路径对应文件系统的容量检查,不对 EFI 等无关挂载点报警。
  • 日志文件名严格匹配目标实例名,不汇总其他实例日志。不以未找到匹配日志推断无故障。
  • 主备 PRIMARY/STANDBY 角色正常差异不报异常;非 DSC 不执行 DSC 故障场景判断。
  • SSH 原生密钥登录,严格校验 known_hosts,不自动接受服务器密钥。
  • 缺少历史文件、审计目录、权限或执行失败独立列出,不判通过。
  • JDK 11+ 启动检查;推荐 JDK 21。Java 子进程通过环境变量读取口令,不把口令放进命令行。
  • 每个检查项保留 SQL/命令、结果及规则来源;HTML 不执行报告内容中的脚本。
  • 可选 dmrman CHECK BACKUPSET 校验已有备份。恢复条件、备份校验、实际恢复分别标记。

运行

需要 Node.js 20+、JDK 11+(包括 javac)、用户自行提供的达梦 JDBC 驱动。主机检查要求目标 Linux 提供 Python 3 和常用系统命令,执行端提供 OpenSSH。

复制 examples/config.json 并填写实际目标。credentialRef 是环境变量或 Harness 凭据名,不是密码本身。密码不写进配置文件。

node bin/dm-ops.js --config /secure/dm-ops.json

命令行从同名环境变量取数据库密码。退出码 0 表示执行结束且没有执行失败项,不代表没有告警或证据缺失;退出码 1 表示存在执行失败或启动错误。目录和文件默认仅当前用户可读。

group 标识同一部署组。独立实例不要放在同一组。主备各节点均需配置;未提供备库时只能报告节点覆盖不完整。backupPaths 填备份集目录,留空时不执行备份文件校验。

SSH 主机名、实例名和配置路径必须与 JDBC 采集的实例一致。配置文件是管理员信任边界,模型不能修改它,也不能指定任意 SQL、命令、路径或密码。插件只提供检查,不提供整改和恢复操作。

Harness

从 GitHub 安装:

dsh plugin --profile web add github:wufengwind/dsh-plugin-dm-ops
dsh plugin --profile headless add file:/absolute/path/dm-ops

在对应 profile 的 cordis.patch.yml 中添加:

- id: dm-ops
  config:
    configPath: /secure/dm-ops.json

把数据库密码放入 Harness 凭据服务,名称与 credentialRef 相同。可直接说:“使用 dm_ops_assess 检查 single 和 ha-a、ha-b,给出报告路径及执行失败项。”工具只接受已配置的目标 ID。

主备角色检查仅确认采集角色,不验证复制健康或可切换。页修复条件未核实,B1 场景标记证据不足;真实 DSC 恢复条件未验证,C1/C2 不判可恢复。

报告界面

状态色区分严重、告警、证据不足、权限不足和通过;明细按严重程度排序。支持状态、节点和关键词组合筛选,证据折叠展示。HTML 自包含,无外部字体或脚本依赖。依据展开时按需创建,收起时释放;长结果集每次加载 50 行。查看依据和筛选需要启用 JavaScript;完整原始数据仍保存在 JSON 报告中。

结果边界

  • 单实例、同机数据守护主备为本版本验收环境;跨机器故障切换和性能没有验收。
  • DSC 有识别和适用性处理,未完成真实 DSC 验证,报告明确标注 unvalidated。
  • 恢复评估只检查条件。备份校验通过也不等于恢复演练通过;所有报告明确 restoreTested: false。
  • 继承的 SQL/阈值规则并非全部经过人工验证。存在证据缺失、权限不足时,不得把执行完成解释为全项通过。
  • 日志每文件读取尾部最多 1 MiB,结果最多 100 条,仅用于初筛;文件名不能明确归属实例时不猜测归属。
  • 目录不存在与目录不可读均保留为证据不足。SSH 审计配置仍需结合实际组织要求解释。

开发验证:npm test。真实环境验收记录见 VALIDATION.md。

0.1.7 数据与判定

JSON version=2:检查项集中在 checks;节点用 checkIds 引用,依据通过 {$ref: id} 引用 evidenceStore。引用内容不丢弃查询行,HTML 按需加载共享依据。根因仅归并有明确条件证据的重复发现,不代表全部独立问题。原始检查项仍完整保留。控制文件、REDO 镜像仅有配置证据时不能判定可恢复;权限错误与对象缺失分开记录。

—/ 5

No ratings yet

Verified DSH bundle

Commit 25d8993200e2

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout