当前位置: 首页 > news >正文

【OceanBase诊断调优】—— obdiag 工具助力OceanBase数据库诊断调优(DBA 从入门到实践第八期)

1. 前言

昨天给大家分享了【DBA从入门到实践】第八期:OceanBase数据库诊断调优、认证体系和用户实践 中obdiag的部分,今天将其中的内容以博客的形式给大家展开一下,方便大家阅读。

2. 正文

1717034964

1717034996

在介绍敏捷诊断工具之前,先说说OceanBase数据库问题的分类,从我们处理的工单、论坛的问题、用户的反馈情况总体来看,故障的类型可以分为两大类,一类是SQL类的问题,一类是非SQL类的问题。SQL类型的问题包括烂SQL\慢SQL\异常SQL,非SQL的问题就比较多了,比如磁盘IO、内存、cpu、网络问题、集群配置不合理、主机配置的问题、合并转储问题等等。

1717035023

软件下载中心: OceanBase分布式数据库-海量数据 笔笔算数

1717035070

1717035134

1717035159

•一键集群巡检:使用 obdiag check 命令可帮助 OceanBase 数据库集群相关状态巡检,目前支持从系统内核参数、内部表等方式对 OceanBase 的集群进行分析,发现已存在或可能会导致集群出现异常问题的原因分析并提供运维建议。

•一键诊断分析:使用 obdiag analyze 命令可帮助 OceanBase 数据库相关的诊断信息分析,目前支持对 OceanBase 的日志进行一键分析,找出发生过的错误信息;一键全链路诊断分析,展示全链路诊断树,定位链路慢在何处。

•一键信息收集:使用 obdiag gather 命令可帮助 OceanBase 数据库相关的诊断信息收集。目前支持基础诊断信息收集和基于场景的诊断信息一键收集。

•一键根因分析:使用 obdiag rca 命令可帮助 OceanBase 数据库相关的诊断信息分析,目前支持对 OceanBase 的异常场景进行分析,找出可能导致问题的原因。

1717035189

1717035237

1717035282

1717035307

1717035330

1717035358

1717035400

1717035560

1717035582

1717035706

1717035730

1717035754

1717035777

1717035798

1717035820

1717035843

1717035871

1717035894

1717035919

1717035941

1717035960

1717035985

1717036006

1717036037

1717036061

1717036083

3. 总结

OceanBase是原生分布式数据库系统,故障根因分析通常是比较繁琐的,因为涉及的因素可能有很多,如机器环境、配置参数、运行负载等等。专家在排查问题的时候需要获取大量的信息来分析故障,如何高效的获取故障场景下分散在各个节点的信息,挖掘出其中的关联性,帮助用户自助诊断问题便是obdiag的价值。后续obdiag就将SQL Diagnoser的能力实现。

4. 结语

为了构建完善的OceanBase诊断生态系统,汇聚各方力量,形成涵盖工具、知识在内的全方位诊断生态体系,助力开发者更高效地驾驭 OceanBase,OceanBase 社区也成立了诊断SIG,名称:obdiag SIG。obdiag sig成立公告参见: OceanBase 开源社区新进展🥰|obdiag SIG成立  

加入obdiag SIG 方式:请添加 OB社区小助手(微信号:obce666)并备注“obdiag SIG”,工作人员会联系并指引您加入SIG的相关事宜。

5. 附录

  • obdiag 下载地址: OceanBase分布式数据库-海量数据 笔笔算数
  • obdiag 官方文档: OceanBase分布式数据库-海量数据 笔笔算数
  • obdiag github地址: https://github.com/oceanbase/oceanbase-diagnostic-tool
  • obdiag SIG 营地: 诊断工具 · OceanBase 技术交流

相关文章:

  • K8s中配置使用ingress
  • 揭秘拼多多API:智能电商时代的数据驱动新篇章
  • Jmeter性能测试-【关联,提取器】
  • 【期末速成】——计算机组成原理(1)概述
  • 计算机tcp/ip网络通信过程
  • Linux文本管理四剑客001
  • 如何有效屏蔽手机上的骚扰电话20240530
  • kettle 使用动态变量名定义变量
  • 【Linux】多线程——线程概念|进程VS线程|线程控制
  • Linux中本地yum仓库的搭建
  • 深入解析力扣167题:两数之和 II(双指针法详解及模拟面试问答)
  • ehcache3多级缓存应用
  • 简单介绍QKeySequenceEdit的使用
  • 【开源】渔具租赁系统 JAVA+Vue.js+SpringBoot+MySQL
  • MySQL -- SQL笔试题相关
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 2018一半小结一波
  • Bytom交易说明(账户管理模式)
  • conda常用的命令
  • Fastjson的基本使用方法大全
  • HTTP 简介
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Netty源码解析1-Buffer
  • storm drpc实例
  • 笨办法学C 练习34:动态数组
  • 电商搜索引擎的架构设计和性能优化
  • 订阅Forge Viewer所有的事件
  • 猴子数据域名防封接口降低小说被封的风险
  • 爬虫模拟登陆 SegmentFault
  • 如何利用MongoDB打造TOP榜小程序
  • 为什么要用IPython/Jupyter?
  • 问题之ssh中Host key verification failed的解决
  • 与 ConTeXt MkIV 官方文档的接驳
  • Linux权限管理(week1_day5)--技术流ken
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • # .NET Framework中使用命名管道进行进程间通信
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #Linux(帮助手册)
  • #职场发展#其他
  • (C语言)共用体union的用法举例
  • (rabbitmq的高级特性)消息可靠性
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (过滤器)Filter和(监听器)listener
  • (三)c52学习之旅-点亮LED灯
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (一)RocketMQ初步认识
  • (转)视频码率,帧率和分辨率的联系与区别
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (自用)gtest单元测试
  • **CentOS7安装Maven**
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Core 中插件式开发实现