首批通过分布式安全可靠测评,为关键业务系统打造
obdiag 概述
更新时间:2025-10-27 10:49:50
OceanBase 数据库是原生分布式数据库系统,故障根因分析通常是比较繁琐的,因为涉及的因素可能有很多,如机器环境、配置参数、运行负载等等。专家在排查问题的时候需要获取大量的信息来分析故障,如何高效的采集和分析故障场景下分散在各个节点的信息,便是 OceanBase 敏捷诊断工具(OceanBase Diagnostic Tool) 简称 obdiag,需要解决的问题。obdiag代码完全开源,详细信息请参见 GitHub代码仓库
什么是 obdiag
obdiag 是一款适用于 OceanBase 的黑屏诊断工具,obdiag 现有功能包含了对于 OceanBase 日志、SQL Audit 以及 OceanBase 进程堆栈等信息进行的扫描、收集和分析,可以在 OceanBase 集群不同的部署模式下(OCP,obd 或用户根据文档手工部署)实现一键执行,完成诊断信息的展示、收集和分析。如果您想在线体验功能,请移步在线体验
obdiag 功能特点
obdiag 具有以下功能特点:
部署简单:提供 RPM 包和 obd 上部署的模式,均可一键部署安装,可以选择部署到任意一台能连接到集群各个节点的机器上,并不局限于 OBServer 节点。
集中式收集:obdiag 程序单点部署,无需每台服务器部署,使用的时候只需要在部署机器上执行收集、巡检或分析命令即可。
简单易用:一条命令搞定安装,一键集群巡检、一键信息收集、一键诊断分析、一键根因分析等功能全部可以通过一条命令搞定,简单易用。
完全开源:obdiag 是 python 代码开发的,源代码100%开源,详细信息请参见 GitHub代码仓库
高度可扩展:obdiag 的一键巡检功能、一键场景化信息收集功能、一键根因分析功能、一键信息展示功能都是插件化的,用户可自行低成本的添加场景来定制化诊断的场景。
obdiag V3.7.1 版本支持功能:
- 支持一键收集 OceanBase 数据库日志。
- 支持一键收集 AWR 报告(依赖企业版 OCP)。
- 支持一键收集主机信息。
- 支持一键收集 OceanBase 数据库堆栈信息。
- 支持一键收集 (clog、slog 解析后的日志)。
- 支持一键收集 perf 信息(扁鹊图、perf 火焰图)。
- 支持一键收集并行 SQL 的执行详情信息。
- 支持一键收集 ASH 报告。
- 支持一键收集 OBProxy 的日志。
- 支持一键收集表信息。
- 支持一键收集集群参数/变量。
- 支持一键使用 DBMS_XPLAN.DISPLAY_CURSOR 和 DBMS_XPLAN.ENABLE_OPT_TRACE 收集 SQL 的性能诊断信息。
- 支持一键分析 OceanBase 的日志,找出存在过的错误信息。
- 支持一键巡检 OceanBase 数据库集群,对已存在或可能会导致集群出现异常问题的原因分析并提供运维建议。
- 支持一键参数/变量比对分析功能。
- 支持一键分析索引(包含预创建索引)空间大小。
- 支持对 Docker 部署的 OceanBase 集群进行诊断信息收集、巡检、日志分析功能。
- 支持 Sysbench 运行时候进行巡检,对已存在或可能会导致集群在 Sysbench 压测过程中出现异常问题的原因分析并提供运维建议。
- 支持基于 trace.log 的一键全链路诊断。
- 支持基于故障场景的信息一键采集
- 支持基于故障场景的一键根因分析
- 支持热更新自动升级巡检和场景化采集的场景文件
- 支持一键集群洞察
- 支持一键分析 OceanBase 集群的日志,基于日志中打印的内存信息生成内存分析报告。