首批通过分布式安全可靠测评,为关键业务系统打造
全部信息收集
更新时间:2026-04-13 17:11:16
本文适用于独立部署 obdiag 的场景,使用 obdiag gather all 命令可以一键统一收集所属 OceanBase 集群的诊断信息,包括收集 OceanBase 集群日志、主机信息、OceanBase 集群堆栈信息、OceanBase 集群 perf 信息。
如果是 obd 部署的集群,可直接通过 obd 侧诊断命令组对所选集群进行信息收集,详细命令可参考 诊断工具命令组。
使用说明
obdiag gather all [options]
选项说明如下:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| --from | 否 | string | 默认为空 | 日志收集的开始时间,格式为: yyyy-mm-dd hh:mm:ss。
说明若使用的 obdiag 为 V2.0.0 之前版本,配置该选项时无需加引号,否则会报错。V2.0.0 及之后版本不再限制配置该选项时是否加引号。 |
| --to | 否 | string | 默认为空 | 日志收集的结束时间,格式为: yyyy-mm-dd hh:mm:ss。
说明若使用的 obdiag 为 V2.0.0 之前版本,配置该选项时无需加引号,否则会报错。V2.0.0 及之后版本不再限制配置该选项时是否加引号。 |
| --since | 否 | string | 默认为空 | 日志收集最近的某段时间,格式为: <n> <m|h|d>,其中,n 表示待输入的时间数字,m 表示分钟,h 表示小时,d 表示天,例如 30m 表示收集最近 30 分钟的日志。 |
| --scope | 否 | string | all | 选择收集的 OceanBase 集群日志类型,可配置值为 observer、election、rootservice、all。 |
| --grep | 否 | string | 默认为空 | 选择查询的关键字。 |
| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径。 |
| --temp_dir | 否 | string | /tmp |
远端节点在日志收集过程中产生的临时文件存储目录 |
| -c | 否 | string | ~/.obdiag/config.yml |
配置文件路径。 |
| --inner_config | 否 | string | 默认为空 | obdiag 自用的配置。 |
| --config | 否 | string | 默认为空 | 需被 obdiag 诊断的集群的配置,固定样式:--config key1=value1 --config key2=value2。
说明支持通过该选项配置的参数可参见 obdiag 配置。 |
使用示例
方式一:无配置文件使用(开箱即用)
快速收集 OceanBase 数据库日志、主机日志、主机 CPU/内存信息、OceanBase 数据库的堆栈信息、火焰图。
收集指定时间段的日志
obdiag gather all --from "2022-07-28 16:25:00" --to "2022-07-28 18:30:00" \ --config obcluster.servers.nodes[0].ip=xx.xx.xx.1 \ --config obcluster.servers.nodes[1].ip=xx.xx.xx.2 \ --config obcluster.servers.global.ssh_username=test \ --config obcluster.servers.global.ssh_password=****** \ --config obcluster.servers.global.home_path=/home/admin/oceanbase输出如下:
... ZipFileInfo: +------------------+-----------+ | Node | LogSize | +==================+===========+ | xxx.xxx.xxx.xxx | 29.874M | +------------------+-----------+ ... ZipFileInfo: +------------------+-----------+ | Node | LogSize | +==================+===========+ | xxx.xxx.xxx.xxx | 143.229M | +------------------+-----------+ ... ... # 指定时间段内日志收集汇总 Summary: +-------------------+-----------+----------+------------------+--------+----------------------------------------------------------------------------------------------+ | Node | Status | Size | Password | Time | PackPath | +===================+===========+==========+==================+========+==============================================================================================+ | xxx.xxx.xxx.xxx | Completed | 29.874M | fB7FrrzTGl4EK5Hl | 20 s | obdiag_gather_pack_20220729170718/result_xxx.xxx.xxx.xxx_20220729222724_20220730003224.zip | +-------------------+-----------+----------+------------------+--------+----------------------------------------------------------------------------------------------+ | xxx.xxx.xxx.xxx | Completed | 143.229M | SGRbXvMyA7lrnFW1 | 74 s | obdiag_gather_pack_20220729170718/result_xxx.xxx.xxx.xxx_20220729222724_20220730003224.zip | +-------------------+-----------+----------+------------------+--------+----------------------------------------------------------------------------------------------+ ... # observer所在主机当前时间的主机信息收集汇总 Summary: +-------------------+-----------+---------+--------+--------------------------------------------------------------------------------+ | Node | Status | Size | Time | PackPath | +===================+===========+=========+========+================================================================================+ | xxx.xxx.xxx.xxx | Completed | 45.276K | 5 s | obdiag_gather_pack_20220729170856/os_info_xxx.xxx.xxx.xxx_20220729170856.zip | +-------------------+-----------+---------+--------+--------------------------------------------------------------------------------+ | xxx.xxx.xxx.xxx | Completed | 42.152K | 6 s | obdiag_gather_pack_20220729170856/os_info_xxx.xxx.xxx.xxx_20220729170856.zip | +-------------------+-----------+---------+--------+--------------------------------------------------------------------------------+ # observer当前的堆栈信息 Summary: +-------------------+-----------+---------+--------+---------------------------------------------------------------------------------+ | Node | Status | Size | Time | PackPath | +===================+===========+=========+========+=================================================================================+ | xxx.xxx.xxx.xxx | Completed | 22.693K | 13 s | obdiag_gather_pack_20220729170902/obstack2_xxx.xxx.xxx.xxx_20220729170902.zip | +-------------------+-----------+---------+--------+---------------------------------------------------------------------------------+ | xxx.xxx.xxx.xxx | Completed | 19.902K | 13 s | obdiag_gather_pack_20220729170902/obstack2_xxx.xxx.xxx.xxx_20220729170902.zip | +-------------------+-----------+---------+--------+---------------------------------------------------------------------------------+ Gather Perf Summary: +-------------------+-----------+----------+--------+-----------------------------------------------------------------------------+ | Node | Status | Size | Time | PackPath | +===================+===========+==========+========+=============================================================================+ | xxx.xxx.xxx.xxx | Completed | 368.178K | 90 s | obdiag_gather_pack_20230117140836/perf_xxx.xxx.xxx.xxx_20230117140836.zip | +-------------------+-----------+----------+--------+-----------------------------------------------------------------------------+ | xxx.xxx.xxx.xxx | Completed | 368.178K | 90 s | obdiag_gather_pack_20230117140836/perf_xxx.xxx.xxx.xxx_20230117140836.zip | +-------------------+-----------+----------+--------+-----------------------------------------------------------------------------+快捷收集最近一段时间的日志:
# obdiag 到各被收集节点做了免密,收集最近一小时的日志 obdiag gather all --since 1h \ --config obcluster.servers.nodes[0].ip=xx.xx.xx.1 \ --config obcluster.servers.nodes[1].ip=xx.xx.xx.2 \ --config obcluster.servers.nodes[2].ip=xx.xx.xx.3 \ --config obcluster.servers.global.home_path=/home/admin/oceanbase # obdiag 到各被收集节点做了免密,收集最近 30 分钟的日志 obdiag gather all --since 30m \ --config obcluster.servers.nodes[0].ip=xx.xx.xx.1 \ --config obcluster.servers.nodes[1].ip=xx.xx.xx.2 \ --config obcluster.servers.nodes[2].ip=xx.xx.xx.3 \ --config obcluster.servers.global.home_path=/home/admin/oceanbase # 各 observer 节点信息不一致,收集最近 30 分钟的日志 obdiag gather all --since 30m \ --config obcluster.servers.nodes[0].ip=xx.xx.xx.1 \ --config obcluster.servers.nodes[0].ssh_username=test1 \ --config obcluster.servers.nodes[0].ssh_password=****** \ --config obcluster.servers.nodes[0].home_path=/home/test1/oceanbase \ --config obcluster.servers.nodes[1].ip=xx.xx.xx.2 --config obcluster.servers.nodes[1].ssh_username=test2 \ --config obcluster.servers.nodes[1].ssh_password=****** \ --config obcluster.servers.nodes[1].home_path=/home/test2/oceanbase # 提供 sys 租户的连接信息,让 obdiag 自动帮你获取集群各节点的 ip 地址,收集最近一小时的日志 obdiag gather all --since 1h \ --config db_host=xx.xx.xx.xx \ --config db_port=xxxx \ --config tenant_sys.user=root@sys \ --config tenant_sys.password=*** \ --config obcluster.servers.global.ssh_username=test \ --config obcluster.servers.global.ssh_password=****** \ --config obcluster.servers.global.home_path=/home/admin/oceanbase
方式二:有配置文件使用
需要确保已经在 obdiag 配置文件 config.yml 中配置好需要收集节点的登录信息。相关的详细配置介绍,参见 obdiag 配置。
快速收集最近一段时间的集群性能报告、observer日志、主机日志、主机cpu/内存信息、observer的堆栈信息、火焰图。
obdiag gather all --from "2022-07-28 16:25:00" --to "2022-07-28 18:30:00"
输出如下:
...
ZipFileInfo:
+------------------+-----------+
| Node | LogSize |
+==================+===========+
| xxx.xxx.xxx.xxx | 29.874M |
+------------------+-----------+
...
ZipFileInfo:
+------------------+-----------+
| Node | LogSize |
+==================+===========+
| xxx.xxx.xxx.xxx | 143.229M |
+------------------+-----------+
...
...
# 指定时间段内日志收集汇总
Summary:
+-------------------+-----------+----------+------------------+--------+----------------------------------------------------------------------------------------------+
| Node | Status | Size | Password | Time | PackPath |
+===================+===========+==========+==================+========+==============================================================================================+
| xxx.xxx.xxx.xxx | Completed | 29.874M | fB7FrrzTGl4EK5Hl | 20 s | obdiag_gather_pack_20220729170718/result_xxx.xxx.xxx.xxx_20220729222724_20220730003224.zip |
+-------------------+-----------+----------+------------------+--------+----------------------------------------------------------------------------------------------+
| xxx.xxx.xxx.xxx | Completed | 143.229M | SGRbXvMyA7lrnFW1 | 74 s | obdiag_gather_pack_20220729170718/result_xxx.xxx.xxx.xxx_20220729222724_20220730003224.zip |
+-------------------+-----------+----------+------------------+--------+----------------------------------------------------------------------------------------------+
...
# observer所在主机当前时间的主机信息收集汇总
Summary:
+-------------------+-----------+---------+--------+--------------------------------------------------------------------------------+
| Node | Status | Size | Time | PackPath |
+===================+===========+=========+========+================================================================================+
| xxx.xxx.xxx.xxx | Completed | 45.276K | 5 s | obdiag_gather_pack_20220729170856/os_info_xxx.xxx.xxx.xxx_20220729170856.zip |
+-------------------+-----------+---------+--------+--------------------------------------------------------------------------------+
| xxx.xxx.xxx.xxx | Completed | 42.152K | 6 s | obdiag_gather_pack_20220729170856/os_info_xxx.xxx.xxx.xxx_20220729170856.zip |
+-------------------+-----------+---------+--------+--------------------------------------------------------------------------------+
# observer当前的堆栈信息
Summary:
+-------------------+-----------+---------+--------+---------------------------------------------------------------------------------+
| Node | Status | Size | Time | PackPath |
+===================+===========+=========+========+=================================================================================+
| xxx.xxx.xxx.xxx | Completed | 22.693K | 13 s | obdiag_gather_pack_20220729170902/obstack2_xxx.xxx.xxx.xxx_20220729170902.zip |
+-------------------+-----------+---------+--------+---------------------------------------------------------------------------------+
| xxx.xxx.xxx.xxx | Completed | 19.902K | 13 s | obdiag_gather_pack_20220729170902/obstack2_xxx.xxx.xxx.xxx_20220729170902.zip |
+-------------------+-----------+---------+--------+---------------------------------------------------------------------------------+
Gather Perf Summary:
+-------------------+-----------+----------+--------+-----------------------------------------------------------------------------+
| Node | Status | Size | Time | PackPath |
+===================+===========+==========+========+=============================================================================+
| xxx.xxx.xxx.xxx | Completed | 368.178K | 90 s | obdiag_gather_pack_20230117140836/perf_xxx.xxx.xxx.xxx_20230117140836.zip |
+-------------------+-----------+----------+--------+-----------------------------------------------------------------------------+
| xxx.xxx.xxx.xxx | Completed | 368.178K | 90 s | obdiag_gather_pack_20230117140836/perf_xxx.xxx.xxx.xxx_20230117140836.zip |
+-------------------+-----------+----------+--------+-----------------------------------------------------------------------------+
# 收集最近2小时的数据
obdiag gather all --since 2h
结果解读
命令执行后在指定目录下会生成一个文件夹,文件夹形如: obdiag_gather_pack_20240808105846。