首批通过分布式安全可靠测评,为关键业务系统打造
主机信息收集
更新时间:2026-01-15 16:36:11
本文适用于独立部署 obdiag 的场景,使用 obdiag gather sysstat 命令可以一键收集所属 OceanBase 集群主机信息(主机 dmesg 信息、主机 CPU 信息、主机内存信息)。
如果是 obd 部署的集群,可直接通过 obd 侧诊断命令组对所选集群进行信息收集,详细命令可参考 诊断工具命令组。
使用说明
obdiag gather sysstat [options]
选项说明如下:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径。 |
| -c | 否 | string | ~/.obdiag/config.yml |
配置文件路径。 |
| --inner_config | 否 | string | 默认为空 | obdiag 自用的配置。 |
| --config | 否 | string | 默认为空 | 需被 obdiag 诊断的集群的配置,固定样式:--config key1=value1 --config key2=value2。
说明支持通过该选项配置的参数可参见 obdiag 配置。 |
| --config_password | 否 | string | 默认为空 | obdiag 使用加密的配置文件时,需通过该选项传入对应的密码。
说明详情可参见 配置文件加密。 |
使用示例
方式一:无配置文件使用(开箱即用)
obdiag gather sysstat \
--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=****** \
输出如下:
Summary:
+-------------------+-----------+---------+--------+--------------------------------------------------------------------------------+
| Node | Status | Size | Time | PackPath |
+===================+===========+=========+========+================================================================================+
| xxx.xxx.xxx.xxx | Completed | 45.209K | 5 s | obdiag_gather_pack_20220729164233/sysstat_xxx.xxx.xxx.xxx_20220729164233.zip |
+-------------------+-----------+---------+--------+--------------------------------------------------------------------------------+
| xxx.xxx.xxx.xxx | Completed | 42.170K | 5 s | obdiag_gather_pack_20220729164233/sysstat_xxx.xxx.xxx.xxx_20220729164233.zip |
+-------------------+-----------+---------+--------+--------------------------------------------------------------------------------+
被收集的节点配置过免密
obdiag gather sysstat \ --config obcluster.servers.nodes[0].ip=xx.xx.xx.1 \ --config obcluster.servers.nodes[1].ip=xx.xx.xx.2被收集的节点 ssh 登陆的账号密码不同
obdiag gather sysstat \ --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[1].ip=xx.xx.xx.2 --config obcluster.servers.nodes[1].ssh_username=test2 \ --config obcluster.servers.nodes[1].ssh_password=******提供 sys 租户的连接信息,让 obdiag 自动帮你获取集群各节点的 ip 地址并收集该集群全部节点的信息
obdiag gather sysstat \ --config db_host=xx.xx.xx.xx \ --config db_port=xxxx \ --config tenant_sys.user=root@sys \ --config tenant_sys.password=***
方式二:有配置文件使用
需要确保已经在 obdiag 配置文件 config.yml 中配置好需要收集节点的登录信息。相关的详细配置介绍,参见 obdiag 配置。
obdiag gather sysstat
结果解读
命令执行后在指定目录下会生成一个文件夹,文件夹形如: obdiag_gather_pack_20240808105846
文件夹内不同节点上收集回来的内容被压缩成了一个 zip 文件,解压之后结果如下
#tree . ├── dmesg.human.current # 主机的 dmesg 信息 ├── one_day_cpu_data.txt # 收集的节点最近一天的 CPU 使用情况,依赖于被收集节点的上的 tsar 工具 ├── one_day_mem_data.txt # 收集的节点最近一天的内存使用情况,依赖于被收集节点的上的 tsar 工具 ├── tsar_io_data.txt # 收集的节点的 IO 情况,依赖于被收集节点的上的 tsar 工具 ├── tsar_swap_data.txt # 收集的节点 swap 情况,依赖于被收集节点的上的 tsar 工具 ├── tsar_tcp_udp_data.txt # 收集的节点 udp 情况,依赖于被收集节点的上的 tsar 工具 └── tsar_traffic_data.txt # 收集的节点 traffic 情况,依赖于被收集节点的上的 tsar 工具