Skip to content

obdiag (OceanBase Diagnostic Tool) is designed to help OceanBase users quickly gather necessary information and analyze the root cause of the problem.

License

Notifications You must be signed in to change notification settings

xiaodong-ji/obdiag

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | 中文版

license license pyversions stars forks Chinese doc

OceanBase Diagnostic Tool (obdiag)

Overview

OceanBase Diagnostic Tool (obdiag) is a quick diagnostic tool for open-source OceanBase software. The features include gather\analyze\check OceanBase Diagnostic information. It can be executed with one click in different deployment modes of OceanBase clusters (OCP, OBD, or manually deployed by users according to documentation).

Project Value & Vision

Project Value

Install obdiag

You can install obdiag by using these methods:

Method 1: Install obdiag by using RPM packages

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
sudo yum install -y oceanbase-diagnostic-tool
sh /usr/local/oceanbase-diagnostic-tool/init.sh

Method 2: Install obdiag by using the source code

To install obdiag on Python >= 3.8, run these commands:

pip3 install -r requirements3.txt
./dev_init.sh
source ~/.bashrc

obdiag config

The path of the configuration file for the diagnosed cluster is stored in ~/.obdiag/config.yml .You can directly edit the configuration file or generate the configuration file through the obdiag config <option> command

obdiag config -h <db_host> -u <sys_user> [-p password] [-P port]

obdiag Fuctions

  • One-click cluster inspection
  • One-click diagnostic analyze
  • One-click root cause analysis
  • One-click information collection
  • One-click information display

For more details, please refer to Official docs

Join the Contributing Community

obdiag envisions an open community. We welcome your contributions in any form:

Roadmap Ahead

Version Iteration Period Release Date Function
1.6.0 2024.01 2024.01.31
  • Scenario based fault information collection
  • Scenario based root cause analysis
2.0.0 2024.03 2024.04.11
  • Context Transformation, Enhanced Scene Expansion Capabilities
  • Support online updating of inspection and gather tasks
  • Root Cause Analysis Phase II Transformation
2.1.0 2024.04 2024.05.13
  • Root Cause Analysis Scenario Expansion
  • Gather ash report
2.2.0 2024.05 2024.06.14
  • Root Cause Analysis Scenario Expansion
  • Check Scenario Expansion
2.3.0 2024.06 2024.07.24
  • Root Cause Analysis Scenario Expansion
  • Added basic gather feature: tabledump
  • Added parameter/variable gather and analyze feature
  • Execute infrastructure modifications to support diagnostics for OceanBase clusters deployed on Kubernetes (k8s)
2.4.0 2024.07 2024.09.03
  • usability improvement
  • Index Space Size Analysis
2.5.0 2024.09 2024.10.18
  • Cluster Diagnosis Information Display
  • Queue Analysis
  • Support desensitization of collected observer logs according to specified rules
2.6.0 2024.10 -
  • Root Cause Analysis Scenario Expansion
  • SQL Diagnosis
2.7.0 2024.11 -
  • Root Cause Analysis Scenario Expansion
3.0.0 2024.12 -
  • Code plugin transformation
  • Support OMS problem diagnosis
4.0.0 2025.01 -
  • AI for obdiag

Support

In case you have any problems when using obdiag, welcome reach out for help:

Developer

Join us

Please add the OB community assistant (WeChat ID: obce666) and note "obdiag SIG", and the staff will contact you and guide you on matters related to joining SIG. We look forward to your active participation and valuable contributions!

🚀 Contribute Smoothly: Fork, Enhance & Let Automation Work Its Magic! 🚀

Hey there, fellow developer! Want to be a part of our exciting project and streamline the code? Here's your step-by-step guide to making an impact:

  1. Fork & Clone Your Personal Copy: Start by clicking the "Fork" button on the top right corner of our GitHub repository. This creates a copy of the project under your account. Next, clone this forked repository to your local machine using Git:
git clone https://github.com/your_username/your_repo_here.git
  1. Make Your Magic Happen: Navigate to the cloned directory and start hacking away! Whether you're fixing bugs or adding innovative features, your contributions are invaluable.

  2. Format your code with black tool 🎨

black -S -l 256 {source_file_or_directory}
  1. Commit Your Changes: Once you've made your enhancements, commit them using Git.

  2. Push to Your Fork: Push your changes back to your GitHub fork.

  3. Open a Pull Request (PR): Head back to your fork on GitHub and click the 'New pull request' button. Compare your branch against the original repository's master/main branch, write a clear description of your changes, and submit that PR!

  4. 🚀 Where Automation Kicks In 🤖

From here on, sit back as our GitHub Actions workflow takes over:

  • Automated Build: Our carefully crafted workflow will automatically trigger, compiling your changes into both RPM and DEB packages.
  • Quality Assurance: It doesn't stop at compilation; tests are also run to ensure the integrity of the build and your code's compatibility.

Licencing

OceanBase Database is under MulanPubL - 2.0 license. You can freely copy and use the source code. When you modify or distribute the source code, please obey the MulanPubL - 2.0 license.

About

obdiag (OceanBase Diagnostic Tool) is designed to help OceanBase users quickly gather necessary information and analyze the root cause of the problem.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.3%
  • Other 0.7%