首批通过分布式安全可靠测评,为关键业务系统打造
诊断工具命令组
更新时间:2026-04-14 17:50:43
OBD 集成了 Oceanbase Diagnostic Tool(简称: obdiag)工具,obdiag 现有功能包含了对 OceanBase 数据库日志、SQL Audit 以及 OceanBase 数据库进程堆栈等信息的扫描收集,支持通过 OBD 实现诊断信息的一键采集。详细 obdiag 信息可参考 obdiag GitHub 仓库。
obd obdiag deploy
使用该命令可在本机安装部署 obdiag 工具。
obd obdiag deploy
obd obdiag gather
使用该命令可调用 obdiag 工具进行 OceanBase 数据库相关的诊断信息收集。
obd obdiag gather <gather type> <deploy name> [options]
gather type 包含如下:
log:一键收集所属 OceanBase 集群的日志。
sysstat:一键收集所属 OceanBase 集群主机信息。
clog:一键收集所属 OceanBase 集群的 clog 日志。
slog:一键收集所属 OceanBase 集群的 slog 日志。
plan_monitor:一键收集所属 OceanBase 集群指定 trace_id 的并行 SQL 的执行详情信息。
stack:一键收集所属 OceanBase 集群的堆栈信息。
perf:一键收集所属 OceanBase 集群的 perf 信息。
obproxy_log:一键收集所属 OceanBase 集群所依赖的 ODP 的日志。
all:一键统一收集所属 OceanBase 集群的诊断信息,包括收集 OceanBase 集群日志、主机信息、OceanBase 集群堆栈信息、OceanBase 集群 clog/slog 日志、OceanBase 集群 perf 信息。
obd obdiag gather log
使用该命令可以一键收集所属 OceanBase 集群的日志。
obd obdiag gather log <deploy name> [options]
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| --from | 否 | string | 默认为空 | 日志收集的开始时间,格式为: "yyyy-mm-dd hh:mm:ss",需要加引号,例如 "1970-01-01 12:00:00" |
| --to | 否 | string | 默认为空 | 日志收集的结束时间,格式为: "yyyy-mm-dd hh:mm:ss",需要加引号,例如 "1970-01-01 13:00:00" |
| --since | 否 | string | 默认为空 | 日志收集最近的某段时间,格式为: <n> <m|h|d>,其中,n 表示待输入的时间数字,m 表示分钟,h 表示小时,d 表示天,例如 30m 表示收集最近 30 分钟的日志 |
| --scope | 否 | string | all | 选择收集的 OceanBase 集群日志类型,可配置值为 observer、election、rootservice、all |
| --grep | 否 | string | 默认为空 | 选择查询的关键字 |
| --encrypt | 否 | string | false | 指定回传的文件是否加密,可配置为 true 或 false,默认为 false |
| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 |
| --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 |
obd obdiag gather sysstat
使用该命令可以一键收集所属 OceanBase 集群主机信息(主机 dmesg 信息、主机 CPU 信息、主机内存信息)。
obd obdiag gather sysstat <deploy name> [options]
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 |
| --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 |
obd obdiag gather clog
使用该命令可以一键收集所属 OceanBase 集群的 clog 日志。
obd obdiag gather clog <deploy name> [options]
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| --from | 否 | string | 默认为空 | 日志收集的开始时间,格式为: "yyyy-mm-dd hh:mm:ss",需要加引号,例如 "1970-01-01 12:00:00" |
| --to | 否 | string | 默认为空 | 日志收集的结束时间,格式为: "yyyy-mm-dd hh:mm:ss",需要加引号,例如 "1970-01-01 13:00:00" |
| --since | 否 | string | 默认为空 | 日志收集最近的某段时间,格式为: <n> <m|h|d>,其中,n 表示待输入的时间数字,m 表示分钟,h 表示小时,d 表示天,例如 30m 表示收集最近 30 分钟的日志 |
| --encrypt | 否 | string | false | 指定回传的文件是否加密,可配置为 true 或 false,默认为 false |
| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 |
| --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 |
obd obdiag gather slog
使用该命令可以一键收集所属 OceanBase 集群的 slog 日志。
obd obdiag gather slog <deploy name> [options]
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| --from | 否 | string | 默认为空 | 日志收集的开始时间,格式为: "yyyy-mm-dd hh:mm:ss",需要加引号,例如 "1970-01-01 12:00:00" |
| --to | 否 | string | 默认为空 | 日志收集的结束时间,格式为: "yyyy-mm-dd hh:mm:ss",需要加引号,例如 "1970-01-01 13:00:00" |
| --since | 否 | string | 默认为空 | 日志收集最近的某段时间,格式为: <n> <m|h|d>,其中,n 表示待输入的时间数字,m 表示分钟,h 表示小时,d 表示天,例如 30m 表示收集最近 30 分钟的日志 |
| --encrypt | 否 | string | false | 指定回传的文件是否加密,可配置为 true 或 false,默认为 false |
| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 |
| --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 |
obd obdiag gather plan_monitor
该命令可以一键收集所属 OceanBase 集群指定 trace_id 的并行 SQL 的执行详情信息,便于在 AP 场景下 SQL 执行慢时分析算子层面的原因。
说明
该功能仅支持 OceanBase 数据库 V3.0 及以上版本。
obd obdiag gather plan_monitor <deploy name> [options]
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| -c/--components | 否 | string | oceanbase-ce | 用于设置访问 OceanBase 数据库的组件 |
| --trace_id | 是 | string | 默认为空 | OceanBase 数据库 V4.0.0 以下版本可从 gv$sql_audit 中查看 trace_id,OceanBase 数据库 V4.0.0 及以上版本可从 gv$ob_sql_audit 中查看 trace_id |
| -u/--user | 否 | string | root | 可访问 OceanBase 数据库的用户 |
| -p/--password | 否 | string | 默认为空 | 可访问 OceanBase 数据库的用户的密码 |
| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 |
| --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 |
obd obdiag gather stack
该命令可以一键收集所属 OceanBase 集群的堆栈信息,该采集项暂不支持 arm 版本。
obd obdiag gather stack <deploy name> [options]
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 |
| --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 |
obd obdiag gather perf
该命令可以一键收集所属 OceanBase 集群的 perf 信息。
obd obdiag gather perf <deploy name> [options]
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| --scope | 否 | string | all | 用于选择性地收集指定的 perf 信息,可配置值为:sample、flame、pstack、all |
| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 |
| --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 |
obd obdiag gather obproxy_log
使用该命令可以一键收集所属 OceanBase 集群所依赖的 ODP 的日志。
obd obdiag gather obproxy_log <deploy name> [options]
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| --from | 否 | string | 默认为空 | 日志收集的开始时间,格式为: "yyyy-mm-dd hh:mm:ss",需要加引号,例如 "1970-01-01 12:00:00" |
| --to | 否 | string | 默认为空 | 日志收集的结束时间,格式为: "yyyy-mm-dd hh:mm:ss",需要加引号,例如 "1970-01-01 13:00:00" |
| --since | 否 | string | 默认为空 | 日志收集最近的某段时间,格式为: <n> <m|h|d>,其中,n 表示待输入的时间数字,m 表示分钟,h 表示小时,d 表示天,例如 30m 表示收集最近 30 分钟的日志 |
| --scope | 否 | string | all | 选择查询的 ODP 日志类型,可配置值为 obproxy、obproxy_digest、obproxy_stat、obproxy_slow、obproxy_limit、all |
| --grep | 否 | string | 默认为空 | 选择查询的关键字 |
| --encrypt | 否 | string | false | 指定回传的文件是否加密,可配置为 true 或 false,默认为 false |
| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 |
| --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 |
obd obdiag gather all
使用该命令可以一键统一收集所属 OceanBase 集群的诊断信息,包括收集 OceanBase 集群日志、主机信息、OceanBase 集群堆栈信息、OceanBase 集群 clog/slog 日志、OceanBase 集群 perf 信息。
obd obdiag gather all <deploy name> [options]
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| --from | 否 | string | 默认为空 | 日志收集的开始时间,格式为: "yyyy-mm-dd hh:mm:ss",需要加引号,例如 "1970-01-01 12:00:00" |
| --to | 否 | string | 默认为空 | 日志收集的结束时间,格式为: "yyyy-mm-dd hh:mm:ss",需要加引号,例如 "1970-01-01 13:00:00" |
| --since | 否 | string | 默认为空 | 日志收集最近的某段时间,格式为: <n> <m|h|d>,其中,n 表示待输入的时间数字,m 表示分钟,h 表示小时,d 表示天,例如 30m 表示收集最近 30 分钟的日志 |
| --scope | 否 | string | all | 选择收集的 OceanBase 集群日志类型,可配置值为 observer、election、rootservice、all |
| --grep | 否 | string | 默认为空 | 选择查询的关键字 |
| --encrypt | 否 | string | false | 指定回传的文件是否加密,可配置为 true 或 false,默认为 false |
| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 |
| --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 |