利用GaussDB的可观测性能力构建故障模型

ops/2024/9/19 1:23:40/ 标签: gaussdb, 数据库, SQL, sql, ai原生

D-SMART高斯专版已经开发了几个月了,目前主要技术问题都已经解决,也能够初步看到大概的面貌了。有朋友问我,GaussDB不已经有了TPOPS了,为什么你们还要开发D-SMART高斯专版呢?

实际上TPOPS和D-SMART虽然都可以用于Gaussdb的运维监控,不过其分工还是十分明显的。TPOPS是华为GaussDB自带的运维工具,从数据库部署开始就一直可以使用。TPOPS+DBMind也具有一定的运维分析能力,不过这些功能都是基于传统的运维管理理念的。D-SMART是一个运维知识自动化系统,其目的是实现更加数字化的运维监控、故障预警、根因分析(RCA)、自动化巡检等,今后还会依托D-SMART的数据构建线上的SAAS生态。D-SMART是一个十分强大的知识自动化平台,可以不断沉淀用户自己的运维知识,包括各种健康模型、故障模型和诊断工具。这些都是TPOPS不具备的功能,因此D-SMART可以作为TPOPS的有效补充。

另外一方面,D-SMART高斯专版会支持所有的高斯生态产品,包含华为GaussDB集中式/分布式,openGauss、南大通用GBASE 8C、海量Vastbase、神通数据库、磐维、MogDB等。

 

 

 D-SMART是从运维视角来看待GaussDB的。从入口上,D-SMART与TPOPS的视角就完全不同。

 使用过D-SMART的用户送GaussDB专版没有任何学习成本,可以很轻松的通过工具去对GaussDB集群进行分析。

 配套的D-SMART V2.6版本提供了一个图形化的集群拓扑。让习惯于图形界面的DBA看起来更加舒适。

 在集群拓扑上可以点击CN/DN节点进行下钻。在D-SMART中,每个有分布式CN/DN节点和集中式DN节点三种子类型,目前我们把它们作为PG兼容子类来看待。因为GaussDB和openGauss都有大量的监控视图与PG兼容,可以复用部分PG的工具,因此我们没有给openGauss/GaussDB节点独立的数据库类别。虽然如此,GaussDB、openGauss和PostgreSQL三种数据库子类在可观测性视图方面已经有了很多差异。作为可观测性能力而言,GaussDB>openGauss >PostgreSQL。更强的可观测性意味着更为强大的自动化/智能化分析能力。

故障模型告警和诊断工具依然沿用D-SMART传统的模式,目前工具的开发还在持续进行中,不过基于运维知识图谱的通用分析工具已经是可用的了。智能指标分析与告警时序分析、等待事件智能分析等工具已经可以使用了。    

基于GaussDB强大的可观测能力,目前故障模型的梳理工作也进展顺利,和一些其他的国产数据库不同的是,我们明显感到能够梳理出来的故障模型数量太多了,刚刚发布的时候可能就会有上百个故障模型,比我们2018年发布Oracle版本时的故障模式数量还要多出不少。    

故障模型是对数据库运维经验的一种总结,能够构建其丰富的故障模型对于承载大型关键应用系统十分关键。而故障模型的构建依赖于强大的可观测能力,以及将数据库状态指标化的能力,再辅以专家的经验才能完成。这种能力可以让一些原本需要专家才能发现的问题实现自动化发现与自动化预警。

目前我们针对GaussDB的故障模型涉及组件健康状态、容量、高可用、并发、负载、性能、资源、实例健康、任务等维度。实际上这是针对GaussDB集群的故障模型,针对每个组件,比如CN/DN,以及承载CN/DN的服务器也都会设计故障模型。这样才能保证整个数据库运行环境出现问题,都能够被提前发现。

分布式数据库的运维工具开发起来比较麻烦,在前面的开发过程中我们也遇到了很多问题,比如DN节点的切换后,系统能否立即无缝跟踪到这个变化,如果复制组中存在硬件配置上的不同,可能会影响模型的评估,如何能够在每隔2-3分钟的评估中避开数据错误,这些都在不断的完善中。这个月底希望有一个评估版本可以完成,届时也希望生产环境中有GaussDB的朋友能一起合作来验证工具。

作者:白鳝的洞穴

欢迎小伙伴们交流~


http://www.ppmy.cn/ops/23232.html

相关文章

SpringBoot+layuimini实现左侧菜单动态展示

layuimini左侧菜单动态显示 首先我们看一下layuimini的原有菜单显示格式 {"homeInfo": {"title": "首页","href": "page/welcome-2.html?t2"},"logoInfo": {"title": "LAYUI MINI","…

IntelliJ IDEA - Lombok supports: OpenJDK javac, ECJ

问题描述 java: You arent using a compiler supported by lombok, so lombok will not work and has been disabled.Your processor is: com.sun.proxy.$Proxy26Lombok supports: OpenJDK javac, ECJ 解决方案 在 IDEA 设置中 File -> Settings 中找到配置如下&#xff1…

03-JAVA设计模式-状态模式

状态模式 什么是状态模式 Java中的状态模式(State Pattern)是一种行为型设计模式,主要用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。状态模式允许一个对象在其内部状态改变时改变它的行为,使得对象看起来似乎…

.NET 高级开发人员面试常见问题及解答

当面试.NET高级开发人员时,面试官通常会围绕技术深度、问题解决能力、项目经验以及编程理念等方面提出问题。以下是20个常见的面试问题及其详细解答: 问题:请简述ASP.NET MVC的工作原理? 解答:ASP.NET MVC是一个基于MV…

华为校招机试 - 满二叉搜索树查找(20240424)

在线OJ测试 题目详情 - 满二叉搜索树查找 - HydroOJ 题目描述 给定 (2^n) - 1 个不同的整数(1 ≤ n ≤ 10,n 为整数),构建一棵平衡满二叉搜索树。 二叉搜索树定义如下: 节点的左子树只包含小于当前节点的数节点的右子树只包含大于当前节点的数所有左子树和右子树自身必…

小程序中如何绑定会员个人信息

在小程序中,用户可以在个人中心页面来设置用户名、头像、手机号码和身份证号码等个人信息。以下是具体的操作步骤: 1. 进入个人中心->账户设置。在个人中心页面,点击设置按钮,即可进入账户设置页面。在这个页面进行账号信息设…

Git使用说明,持续更新

Git使用说明 git init git init 是用于在当前目录初始化一个新的 Git 仓库的命令。以下是一些 git init 常用方法: 在当前目录初始化一个新的 Git 仓库: git init这条命令会在当前目录下创建一个新的 Git 仓库。Git 会在当前目录下生成一个名为 .git 的…

python基础学习之写入csv文件

前言 在Python编程中,经常会遇到要将数据存到csv文件中,今天来详细讲一下。 一.功能目的 将以下数据存到csv文件中。 data [ {name: Alice, age: 25, city: New York}, {name: Bob, age: 30, city: Los Angeles}, {name: Charlie, age: 35, city:…

一例MFC文件夹病毒的分析

概述 这是一个MFC写的文件夹病毒,通过感染USB设备传播,感染后,会向c2(fecure.info:443)请求指令来执行。 样本的基本信息 Verified: Unsigned Link date: 19:52 2007/7/5 MachineType: 32-bit MD5: 4B463901E5858ADA9FED28FC5…

OpenHarmony实战开发-提升应用响应速度。

应用对用户的输入需要快速反馈,以提升交互体验,因此本文提供了以下方法来提升应用响应速度。 避免主线程被非UI任务阻塞减少组件刷新的数量 避免主线程被非UI任务阻塞 在应用响应用户输入期间,应用主线程应尽可能只执行UI任务(…

【Camera KMD ISP SubSystem笔记】CRM V4L2驱动模型

1. CRM为主设备 /dev/video0,先创建 v4l2_device 设备,再创建 video_device 设备,最后创建 media_device 设备/dev/media0 v4l2_device的mdev指向media_device,v4l2_device的entity链接到media_device的entities上&#xff08…

layui表格动态添加行 删除行

删除行 //监听工具条 table.on(tool(demo_fee), function(obj){var data obj.data;switch (obj.event){case "delete":layer.confirm(真的删除行么, function (index) {fee_list layui.table.cache[fee_list];//获取缓存var rowIndex obj.tr.attr("data-ind…

Mac shell 环境变量配置

官网上的解释。从 macOS Catalina 开始,Mac 使用 zsh 作为默认登录 Shell 和交互式 Shell。你还可以在较早版本的 macOS 中将 zsh 设置为默认 Shell。 在 Mac 上将 zsh 用作默认 Shell - 官方 Apple 支持 (中国) 用命令查看 echo $SHELL 如果返回/bin/zsh 表示是…

Java23种设计模式-结构型模式之装饰器模式

装饰器模式(Decorator Pattern):动态地给一个对象添加一些额外的职责。这种模式提供了一种灵活的方式来扩展对象的功能,而不需要修改原始类的代码 通常有以下角色: 角色1.抽象组件(Component)&a…

智能物联网时代:Web3连接智能设备的未来

随着科技的飞速发展,物联网(IoT)已经成为了现代生活中不可或缺的一部分。从智能家居到智能城市,物联网技术正在改变我们的生活方式和工作方式。而Web3作为下一代互联网的重要组成部分,将为智能物联网带来哪些新的可能性…

Linux上安装及卸载OpenJDK

Linux上安装Java Development Kit (JDK) 8的步骤如下: 1. 添加Java JDK 8的Yum源 首先,你需要添加Java JDK 8的Yum源到系统。这可以通过下载并安装Oracle JDK的方式完成,但由于Oracle JDK在某些情况下可能需要遵守特定的许可协议&#xff0c…

CSS3新增特性(一)

目录 一、CSS3 新增选择器 1. 子级选择器 2. 兄弟选择器 相邻兄弟选择器 其他兄弟选择器 3. 结构伪类选择器 ① E:first-child ② E:last-child ③ nth-child(n) n为数字: n为关键字: n为公式: ④ E: firs…

Swift中日期的相互转换

在Swift中,可以使用DateFormatter类来进行日期的相互转换。以下是一些常用的转换示例: 将日期字符串转换为Date对象: let dateString "2021-01-01" let dateFormatter DateFormatter() dateFormatter.dateFormat "yyyy-M…

中建三局,宁德时代,科锐国际(计算机类),途游游戏,得物,蓝禾,顺丰,康冠科技24春招内推

中建三局,宁德时代,科锐国际(计算机类),途游游戏,得物,蓝禾,顺丰,康冠科技24春招内推 ①得物 【岗位】技术,设计,供应链,风控&#xf…

标准更新丨美国发布玩具安全标准ASTM F963-23

2023年10月13日,美国材料试验协会 (ASTM)发布了玩具安全标准ASTM F963-23。新版标准主要修订了声响、电池可触及性、膨胀材料和弹射玩具的技术要求,另外,澄清和调整了邻苯二甲酸酯、玩具基材重金属的豁免以及溯源标签的要求,使其保…