Skip to content

100.overview‐of‐obdiag

jingshun.tq edited this page May 14, 2024 · 1 revision

obdiag 概述

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 V2.1.0 版本支持功能:

    • 支持一键收集 OceanBase 数据库日志。
    • 支持一键收集 AWR 报告(依赖企业版 OCP)。
    • 支持一键收集主机信息。
    • 支持一键收集 OceanBase 数据库堆栈信息。
    • 支持一键收集 (clog、slog 解析后的日志)。
    • 支持一键收集 perf 信息(扁鹊图、perf 火焰图)。
    • 支持一键收集并行 SQL 的执行详情信息。
    • 支持一键收集ASH报告
    • 支持一键收集 OBProxy 的日志。
    • 支持一键分析 OceanBase 的日志,找出存在过的错误信息。
    • 支持一键巡检 OceanBase 数据库集群,对已存在或可能会导致集群出现异常问题的原因分析并提供运维建议。
    • 支持对 Docker 部署的 OceanBase 集群进行诊断信息收集、巡检、日志分析功能。
    • 支持 Sysbench 运行时候进行巡检,对已存在或可能会导致集群在 Sysbench 压测过程中出现异常问题的原因分析并提供运维建议。
    • 支持基于 trace.log 的一键全链路诊断。
    • 支持基于故障场景的信息一键采集
    • 支持基于故障场景的一键根因分析
    • 新增热更新自动升级巡检和场景化采集的场景文件

obdiag 源代码

github代码仓库