Shiyuedong-Jade/DM-inspect ↗★ 0

dsh-plugin-dm8-inspect

达梦 DM8 数据库巡检插件:注册 dm8_inspect 工具,执行 85 项只读巡检并生成 HTML 报告。 适合需要对达梦 DM8 数据库进行一键巡检并生成 HTML 报告的运维人员。

Package
dsh-plugin-dm8-inspect
Compatibility
Unverified
Harness peer range
^0.1.5-rc.2
Cordis peer range
^4.0.1
Version
0.1.0
License
MIT
Last updated
Sep 30, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Shiyuedong-Jade/DM-inspect

使用

在会话里调用 dm8_inspect。所有参数都可以不填,目标、账号、口令都能在设置卡片里预先填好。

每次调用 dm8_inspect 时会出现一张设置卡片,填好保存后说一句「巡检一下」即可。

工具返回分级结论(严重 / 警告 / 正常 / 提示 / 不适用 / 未取到)和报告路径。报告为 HTML,同目录另存一份内容相同的 JSON。

调用参数

参数类型默认值说明
targetsarray设置卡片中的目标[{host, port, user, label}]。1 个为单实例,2 个及以上为集群巡检
userstringSYSDBA数据库账号
portinteger5236数据库端口
driverstringjdbcjdbc 连真实库;demo 使用内置样例数据,不连库
topNinteger10Top 类巡检项条数,5~50
tsWarnPctinteger80表空间使用率告警阈值(%)
tsCritPctinteger90表空间使用率严重阈值(%)
slowSqlMsinteger1000慢 SQL 阈值(毫秒)
queryTimeoutMsinteger30000单条 SQL 超时(毫秒)
sshUserstring—数据库服务器 OS 采集账号,填写后才会执行
sshPasswordstring—数据库服务器 OS 采集口令
outDirstring/dm8-inspect-reports报告目录
passwordstring—数据库口令。会写入会话日志,建议改用设置卡片或凭据库

取值优先级:本次调用参数 > 设置卡片 > 凭据库。

配置

设置卡片

字段说明
目标每行一个 host:port。1 个为单实例,2 个及以上为集群巡检
数据库账号 / 数据库口令默认 SYSDBA
SSH 账号 / SSH 口令填写后才会执行数据库服务器 OS 级检查
Top NTop 类巡检项条数
慢 SQL 阈值 / 单条 SQL 超时毫秒
表空间告警阈值 / 表空间严重阈值百分比
报告目录可选

卡片中的值按会话隔离,保存在 dsh 进程内存中,重启 dsh 后需要重新填写。

口令的另外两种来源

环境变量(启动 dsh 前设置):

export DM8_INSPECT_PASSWORD='数据库口令'
export DM8_INSPECT_SSH_PASSWORD='SSH口令'

或写入 ~/.dsh/.credentials.yaml 的 refs,键名同上。

插件配置

写在 profile 的 cordis.patch.yml 中该插件那一行上,也可以在设置界面里修改:

- insert:
    - id: dm8-inspect
      name: 'dsh-plugin-dm8-inspect'
      config:
        home: 'D:\dm8-inspect-home'      # 工作目录,默认 ~/.dsh/dm8-inspect
        driver: 'jdbc'
        credentialRef: 'DM8_INSPECT_PASSWORD'
        sshCredentialRef: 'DM8_INSPECT_SSH_PASSWORD'
        outDir: ''                        # 默认 /dm8-inspect-reports
        topN: 10
        tsWarnPct: 80
        tsCritPct: 90
        slowSqlMs: 1000
        queryTimeoutMs: 30000
        connectTimeoutMs: 20000
        clusterConcurrency: 3             # 集群巡检的节点并发数
配置项默认值说明
home~/.dsh/dm8-inspect工作目录,其下有 drivers/、java/、runtime/
driverjdbc默认巡检驱动
credentialRefDM8_INSPECT_PASSWORD数据库口令的凭据名
sshCredentialRefDM8_INSPECT_SSH_PASSWORDSSH 口令的凭据名
outDir空报告目录,留空则使用会话工作目录下的 dm8-inspect-reports
topN10Top 类巡检项条数
tsWarnPct / tsCritPct80 / 90表空间使用率阈值(%)
slowSqlMs1000慢 SQL 阈值(毫秒)
queryTimeoutMs30000单条 SQL 超时(毫秒)
connectTimeoutMs20000连接超时(毫秒)
clusterConcurrency3集群巡检的节点并发数,上限 8

插件配置

写在 profile 的 cordis.patch.yml 中该插件那一行上,也可以在设置界面里修改:

- insert:
    - id: dm8-inspect
      name: 'dsh-plugin-dm8-inspect'
      config:
        home: 'D:\dm8-inspect-home'      # 工作目录,默认 ~/.dsh/dm8-inspect
        driver: 'jdbc'
        credentialRef: 'DM8_INSPECT_PASSWORD'
        sshCredentialRef: 'DM8_INSPECT_SSH_PASSWORD'
        outDir: ''                        # 默认 /dm8-inspect-reports
        topN: 10
        tsWarnPct: 80
        tsCritPct: 90
        slowSqlMs: 1000
        queryTimeoutMs: 30000
        connectTimeoutMs: 20000
        clusterConcurrency: 3             # 集群巡检的节点并发数
配置项默认值说明
home~/.dsh/dm8-inspect工作目录,其下有 drivers/、java/、runtime/
driverjdbc默认巡检驱动
credentialRefDM8_INSPECT_PASSWORD数据库口令的凭据名
sshCredentialRefDM8_INSPECT_SSH_PASSWORDSSH 口令的凭据名
outDir空报告目录,留空则使用会话工作目录下的 dm8-inspect-reports
topN10Top 类巡检项条数
tsWarnPct / tsCritPct80 / 90表空间使用率阈值(%)
slowSqlMs1000慢 SQL 阈值(毫秒)
queryTimeoutMs30000单条 SQL 超时(毫秒)
connectTimeoutMs20000连接超时(毫秒)
clusterConcurrency3集群巡检的节点并发数,上限 8