CN116662053A - 一种数据库的故障诊断方法、装置、设备及存储介质 - Google Patents

一种数据库的故障诊断方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116662053A
CN116662053A CN202310644687.1A CN202310644687A CN116662053A CN 116662053 A CN116662053 A CN 116662053A CN 202310644687 A CN202310644687 A CN 202310644687A CN 116662053 A CN116662053 A CN 116662053A
Authority
CN
China
Prior art keywords
aggregation
target
monitoring
data
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310644687.1A
Other languages
English (en)
Inventor
田士铄
崔耀辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202310644687.1A priority Critical patent/CN116662053A/zh
Publication of CN116662053A publication Critical patent/CN116662053A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库的故障诊断方法、装置、设备及存储介质。该方法包括:获取被测数据库与至少一个监控对象分别对应的目标监控数据;针对每个监控对象,基于监控对象对应的初始聚合策略,对监控对象对应的目标监控数据执行初始聚合操作得到初始聚合结果;其中,初始聚合策略包括初始聚合维度和初始聚合函数;基于监控对象对应的目标聚合策略,对初始聚合结果执行二次聚合操作得到目标聚合结果;其中,目标聚合策略包括目标聚合维度和目标聚合函数,目标聚合维度为初始聚合维度的父级;基于各目标聚合结果,确定被测数据库的故障诊断结果。本发明实施例提高了数据库的故障诊断的可扩展性。

Description

一种数据库的故障诊断方法、装置、设备及存储介质
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据库的故障诊断方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,大数据时代接踵而至。传统的单一数据库已经不能满足海量数据的存储、检索等需求,所以分库分表的设计方案被广泛使用。
在实现本发明的过程中,发现现有技术中至少存在以下技术问题:
目前,传统数据库的故障诊断方法都是基于实例维度对监控指标进行聚合分析,但这种故障诊断方法由于聚合维度单一,容易遗漏掉很多导致故障的因素,已经不再适用于分库分表数据库。
发明内容
本发明提供了一种数据库的故障诊断方法、装置、设备及存储介质,以解决传统的故障诊断方法不适用于分库分表数据库的问题,提高数据库的故障诊断的可扩展性,进而提高后续数据库维护的及时性。
根据本发明一个实施例提供了一种数据库的故障诊断方法,该方法包括:
获取被测数据库与至少一个监控对象分别对应的目标监控数据;
针对每个监控对象,基于所述监控对象对应的初始聚合策略,对所述监控对象对应的目标监控数据执行初始聚合操作得到初始聚合结果;其中,所述初始聚合策略包括初始聚合维度和初始聚合函数;
基于所述监控对象对应的目标聚合策略,对所述初始聚合结果执行二次聚合操作得到目标聚合结果;其中,所述目标聚合策略包括目标聚合维度和目标聚合函数,所述目标聚合维度为所述初始聚合维度的父级;
基于至少一个监控对象分别对应的目标聚合结果,确定所述被测数据库的故障诊断结果。
根据本发明另一个实施例提供了一种数据库的故障诊断装置,该装置包括:
目标监控数据获取模块,用于获取被测数据库与至少一个监控对象分别对应的目标监控数据;
初始聚合结果确定模块,用于针对每个监控对象,基于所述监控对象对应的初始聚合策略,对所述监控对象对应的目标监控数据执行初始聚合操作得到初始聚合结果;其中,所述初始聚合策略包括初始聚合维度和初始聚合函数;
目标聚合结果确定模块,用于基于所述监控对象对应的目标聚合策略,对所述初始聚合结果执行二次聚合操作得到目标聚合结果;其中,所述目标聚合策略包括目标聚合维度和目标聚合函数,所述目标聚合维度为所述初始聚合维度的父级;
故障诊断结果确定模块,用于基于至少一个监控对象分别对应的目标聚合结果,确定所述被测数据库的故障诊断结果。
根据本发明另一个实施例提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据库的故障诊断方法。
根据本发明另一个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据库的故障诊断方法。
本发明实施例的技术方案,通过获取被测数据库与至少一个监控对象分别对应的目标监控数据,针对每个监控对象,基于监控对象对应的初始聚合策略和目标聚合策略,对监控对象对应的目标监控数据执行两次聚合操作得到目标聚合结果,并基于各监控对象分别对应的目标聚合结果,确定所述被测数据库的故障诊断结果,其中,初始聚合策略包括初始聚合维度和初始聚合函数,目标聚合策略包括目标聚合维度和目标聚合函数,所述目标聚合维度为所述初始聚合维度的父级,本发明实施例考虑分库分表数据库的数据结构特性,提供了一种双重嵌套维度的故障诊断方法,解决了传统的故障诊断方法不适用于分库分表数据库的问题,提高了数据库的故障诊断的可扩展性,进而提高了后续数据库维护的及时性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例所提供的一种数据库的故障诊断方法的流程图;
图2为本发明一个实施例所提供的另一种数据库的故障诊断方法的流程图;
图3为本发明一个实施例所提供的一种目标聚合结果的计算方法的流程图;
图4为本发明一个实施例所提供的一种Flink聚合计算模块的数据流的示意图;
图5为本发明一个实施例所提供的另一种数据库的故障诊断方法的流程图;
图6为本发明一个实施例所提供的一种策略配置界面的示意图;
图7为本发明一个实施例所提供的一种数据库的故障诊断装置的结构示意图;
图8为本发明一个实施例所提供的一种数据库的故障诊断装置的具体实例的结构示意图;
图9为本发明一个实施例所提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“初始”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明一个实施例所提供的一种数据库的故障诊断方法的流程图,本实施例可适用于对数据库进行故障诊断的情况,尤其适用于分库分表数据库,该方法可以由数据库的故障诊断装置来执行,该数据库的故障诊断装置可以采用硬件和/或软件的形式实现,该数据库的故障诊断装置可配置于终端设备中。如图1所示,该方法包括:
S110、获取被测数据库与至少一个监控对象分别对应的目标监控数据。
其中,具体的,监控对象可用于表征故障诊断的诊断指标,示例性的,各监控对象包括但不限于CPU(central processing unit,中央处理器)使用率、主从延迟、磁盘繁忙等等,此处对监控对象不作限定,用户可根据实际需求自定义设置。
在一个具体实施例中,当被测数据库为MySQL数据库时,采用prometheus提供的mysqld-exporter程序采集被测数据库的监控数据。其中,prometheus是一个系统监控和报警系统,结合了查询功能和云原生架构,可用于管理任何基于时间的顺序数据。示例性的,目标监控数据包括与至少一个实例分别对应的监控数据,其中,监控数据包括监控对象、实例节点地址、时间戳、数据库维度以及监控数据值。其中,实例节点地址可用于表征实例的节点地址,如实例节点地址可以为ip(Internet Protocol,互联网协议)地址或(DomainName Server,域名服务器)DNS地址。时间戳可用于表征采集到的监控数据值对应的采集时刻,数据库维度可用于表征实例所属的数据库分类。在一个具体实施例中,数据库维度包括应用、逻辑库、分片和角色。其中,具体的,应用包含至少一个逻辑库,逻辑库包含至少一个分片,分片包含至少一个实例,实例的角色为主节点或从节点。举例而言,目标监控数据中的监控数据A为“metric=CPU_util,endpoint=127.12.12.121659442505,app=myapp,db=testdb,shard=myshard,role=master,value=89.23”,其中,metric表示监控对象,endpoint表示实例节点地址,app表示应用维度,db表示逻辑库维度,shard表示分片维度,role表示角色维度,value表示监控数据值。
举例而言,当监控对象为CPU使用率时,目标监控数据包括当前采集时刻的当前CPU使用率或者预设时间段采集到的多个CPU使用率。当监控对象为主从延迟时,目标监控数据包括主角色的实例执行完至少一个事务的主时刻以及从角色的实例执行完上述各事务的从时刻,或者目标监控数据包括当前采集时刻的当前主从延迟,或者目标监控数据包括预设时间段采集到的多个主从延迟。当监控对象为磁盘繁忙时,目标监控数据包括当前采集时刻的当前磁盘占用率或者预设时间段采集到的多个磁盘占用率。此处对各监控对象分别对应的目标监控数据不作限定,用户可根据实际需求自定义设置。
S120、针对每个监控对象,基于监控对象对应的初始聚合策略,对监控对象对应的目标监控数据执行初始聚合操作得到初始聚合结果。
其中,具体的,各监控对象分别对应的初始聚合策略可以相同也可以不同。在本实施例中,初始聚合策略包括初始聚合维度和初始聚合函数。其中,具体的,初始聚合维度可用于表征除应用维度以外的其他数据库维度。在一个具体实施例中,初始聚合维度为逻辑库、分片、实例或角色。其中,示例性的,初始聚合函数包括但不限于最大值函数、最小值函数、中值函数、均值函数、差值函数、乘积函数和求和函数等等。此处对初始聚合函数不作限定,用户可根据实际需求自定义设置。
在一个具体实施例中,基于监控对象对应的初始聚合策略,对监控对象对应的目标监控数据执行初始聚合操作得到初始聚合结果,包括:基于监控对象对应的初始聚合维度,对目标监控数据进行分类得到至少一个分类监控数据;基于初始聚合函数,对各分类监控数据执行初始聚合操作得到初始聚合结果。
在本实施例中,分类监控数据包括当前采集时刻对应的当前监控数据。举例而言,初始聚合维度为分片,初始聚合函数为最大值函数,则基于分片维度,对目标监控数据进行分类得到至少一个分片分别对应的分类监控数据。示例性的,分片1对应的分类监控数据中各实例分别对应的当前监控数据包括0.7、0.8和0.9,分片2对应的分类监控数据中各实例分别对应的当前监控数据包括0.1、0.3和0.8,则监控对象对应的初始聚合结果包括分片1对应的0.9以及分片2对应的0.8。
S130、基于监控对象对应的目标聚合策略,对初始聚合结果执行二次聚合操作得到目标聚合结果。
其中,具体的,各监控对象分别对应的目标聚合策略可以相同也可以不同。在本实施例中,目标聚合策略包括目标聚合维度和目标聚合函数,目标聚合维度为初始聚合维度的父级。其中,具体的,目标聚合维度可用于表征除实例维度和角色维度以外的其他数据库维度。在一个具体实施例中,目标聚合维度为应用、逻辑库或分片。其中,示例性的,目标聚合函数包括但不限于最大值函数、最小值函数、中值函数、均值函数、差值函数、乘积函数和求和函数等等。此处对目标聚合函数不作限定,用户可根据实际需求自定义设置。
在一个具体实施例中,基于监控对象对应的目标聚合策略,对初始聚合结果执行二次聚合操作得到目标聚合结果,包括:基于监控对象的对应的目标聚合维度,对初始聚合结果进行分类得到至少一个分类聚合结果;基于目标聚合维度,对各分类聚合结果执行二次聚合操作得到目标聚合结果。
举例而言,目标聚合维度为逻辑库,目标聚合函数为差值函数,则基于逻辑库维度对初始聚合结果进行分类得到至少一个逻辑库分别对应的分类聚合结果。示例性的,逻辑库1对应的分类聚合结果包括分片1对应的0.9以及分片2对应的0.8,逻辑库2对应的分类聚合结果包括分片3对应的0.4以及分片2对应的0.6,则监控对象对应的目标聚合结果包括逻辑库1对应的差值0.1以及逻辑库2对应的差值0.2。
S140、基于至少一个监控对象分别对应的目标聚合结果,确定被测数据库的故障诊断结果。
在一个具体实施例中,针对每个监控对象,判断监控对象对应的目标聚合结果是否满足监控对象对应的对象阈值范围,如果是,则将监控对象对应的对象比较结果设置为ture或1,如果否,则将监控对象对应的对象比较结果设置为false或0;基于各监控对象分别对应的对象比较结果,确定被测数据库的故障诊断结果。
其中,示例性的,当监控对象为CPU使用率时,CPU使用率对应的对象阈值范围可以为[0.2 1],当监控对象为主从延迟时,主从延迟对应的对象阈值范围可以为[0 10min]。此处对各监控对象分别对应的对象阈值范围不作限定,用户可根据实际需求自定义设置。
在一个具体实施例中,基于各监控对象分别对应的对象比较结果,确定被测数据库的故障诊断结果,包括:在存在至少一个监控对象分别对应的对象比较结果为false或0的情况下,则将被测数据库的故障诊断结果设置为故障状态,在所有监控对象分别对应的对象比较结果均为ture或1的情况下,则将被测数据库的故障诊断结果设置为正常状态。
本实施例的技术方案,通过获取被测数据库与至少一个监控对象分别对应的目标监控数据,针对每个监控对象,基于监控对象对应的初始聚合策略和目标聚合策略,对监控对象对应的目标监控数据执行两次聚合操作得到目标聚合结果,并基于各监控对象分别对应的目标聚合结果,确定被测数据库的故障诊断结果,其中,初始聚合策略包括初始聚合维度和初始聚合函数,目标聚合策略包括目标聚合维度和目标聚合函数,目标聚合维度为初始聚合维度的父级,本发明实施例考虑分库分表数据库的数据结构特性,提供了一种双重嵌套维度的故障诊断方法,解决了传统的故障诊断方法不适用于分库分表数据库的问题,提高了数据库的故障诊断的可扩展性,进而提高了后续数据库维护的及时性。
图2为本发明一个实施例所提供的另一种数据库的故障诊断方法的流程图,本实施例对上述实施例中目标监控数据的获取方法进行进一步细化。如图2所示,该方法包括:
S210、获取被测数据库对应的诊断策略数据。
其中,具体的,诊断策略数据可用于表征被测数据库对应的故障诊断的逻辑信息。在本实施例中,诊断策略数据包括至少一个监控对象、各监控对象分别对应的初始聚合策略和目标聚合策略。
S220、针对诊断策略数据中的每个监控对象,从被测数据库对应的原始监控数据中获取与监控对象对应的目标监控数据。
其中,具体的,原始监控数据中包含诊断策略数据中各监控对象分别对应的目标监控数据,还可能包含除诊断策略数据中各监控对象以外的其他监控对象对应的监控数据。具体的,针对诊断策略数据中的每个监控对象,从被测数据库对应的原始监控数据中筛选获取与监控对象对应的目标监控数据。
S230、基于监控对象对应的初始聚合策略,对监控对象对应的目标监控数据执行初始聚合操作得到初始聚合结果。
在上述实施例的基础上,具体的,诊断策略数据还包括各监控对象分别对应的聚合时间窗口,相应的,基于监控对象对应的初始聚合策略,对监控对象对应的目标监控数据执行初始聚合操作得到初始聚合结果,包括:基于监控对象对应的初始聚合维度,对目标监控数据进行分类得到至少一个分类监控数据;其中,分类监控数据包括历史监控数据和当前监控数据;针对每个分类监控数据,基于监控对象对应的聚合时间窗口以及分类监控数据中当前监控数据对应的时间戳,从分类监控数据中的历史监控数据中获取聚合监控数据;基于初始聚合函数,对聚合监控数据和当前监控数据执行初始聚合操作得到分类监控数据对应的分类聚合结果;基于至少一个分类聚合结果,确定监控对象对应的初始聚合结果。
其中,具体的,聚合时间窗口可用于表征执行初始聚合操作的分类监控数据的预设时间长度,各监控对象分别对应的聚合时间窗口可能相同也可能不同。
其中,具体的,当前监控数据可用于表征分类监控数据中时间戳最新的监控数据,历史监控数据可用于表征最新时间戳以前的历史时间戳对应的监控数据。在本实施例中,以当前监控数据作为监控数据窗口的终点,基于聚合时间窗口从历史监控数据中选取监控数据窗口中的聚合监控数据。
图3为本发明一个实施例所提供的一种目标聚合结果的计算方法的流程图。具体的,图3示出的window1、window2和window3分别表示一个监控数据窗口,在window1中,当前监控数据为数据3,聚合监控数据包括数据1和数据2,在window2中,当前监控数据为数据4,聚合监控数据包括数据2和数据3,在window3中,当前监控数据为数据5,聚合监控数据包括数据3和数据4。在实时更新监控数据窗口的过程中,对每个监控数据窗口分别执行两次聚合操作,得到目标聚合结果。
在上述实施例的基础上,具体的,该方法还包括:采用定时器,基于当前监控数据的时间戳和聚合时间窗口,确定删除时间戳,对删除时间戳对应的历史监控数据执行删除操作。这样设置的好处在于,可以降低监控数据对内存的占用空间,从而提高聚合操作的执行效率。
基于单个监控数据确定的故障诊断结果存在一定的误判率,设置聚合时间窗口的好处在于,可以对预设时间段内的监控数据进行故障诊断,从而提高了故障诊断结果的准确率。
S240、基于监控对象对应的目标聚合策略,对初始聚合结果执行二次聚合操作得到目标聚合结果。
S250、基于至少一个监控对象分别对应的目标聚合结果,确定被测数据库的故障诊断结果。
在一个具体实施例中,采用Flink聚合计算模块,执行本发明实施例提供的数据库的故障诊断方法。其中,具体的,Flink聚合计算模块包括Source单元、Transformation单元和Sink单元,其中,Source单元用于读取数据源,Transformation单元用于利用各种算子执行聚合操作,Sink单元用于输出数据流。示例性的,当被测数据库为MySQL数据库时,在MySQL数据库上部署mysqld-exporter,采集网关基于预设采集间隔拉取MySQL数据库的监控数据,并将监控数据通过Kafka发送给Flink聚合计算模块。
图4为本发明一个实施例所提供的一种Flink聚合计算模块的数据流的示意图。具体的,Source单元用于实时消费监控数据流和定时加载策略数据流,其中,监控数据流表征从待测数据库采集到的原始监控数据,测量数据流用于表征诊断策略数据。
其中,Transformation单元中的监控策略合并流用于表征基于诊断策略数据中的监控对象对监控数据流进行筛选后得到的分组数据,具体的,监控策略合并流中不包含除诊断策略数据中各监控对象以外的其他监控对象对应的监控数据。如图4中的“分组1<数据流1策略1>”用于表征从监控数据流中筛选得到的与策略1中监控对象对应的数据流1,“分组2<数据流2策略2>”用于表征从监控数据流中筛选得到的与策略2中监控对象对应的数据流2,“分组3<数据流3策略3>”用于表征从监控数据流中筛选得到的与策略3中监控对象对应的数据流3。其中,监控策略分类流用于表征基于初始分类维度对监控策略合并流进行分类得到的分类数据。如以图4中的“分组1<数据流1策略1>”为例,基于初始分类维度对分组1中的数据流1进行分类,分别得到分类1<数据1数据2数据3策略1>以及分类2<数据4数据5和数据6策略1>。图4中策略数据流指向监控策略分类流的箭头表示,响应于检测到Source单元中的策略数据流更新时,将更新后的策略数据流以广播的形式对监控策略分类流进行更新。其中,时间窗口合并流用于表征基于聚合时间窗口对监控策略分类流进行滑动分窗,得到监控数据窗口,对监控数据窗口执行两次聚合操作,得到目标聚合结果。
其中,sink单元中的分组1<数据流1策略1>用于表征分组1满足监控对象对应的对象阈值范围,示例性的,sink单元用于将“分组1<数据流1策略1>”以及故障诊断结果进行输出。
本实施例的技术方案,通过获取被测数据库对应的诊断策略数据;其中,诊断策略数据包括至少一个监控对象、各监控对象分别对应的初始聚合策略和目标聚合策略,针对诊断策略数据中的每个监控对象,从被测数据库对应的原始监控数据中获取与监控对象对应的目标监控数据,解决了传统的故障诊断方法中的监控对象和聚合策略不能自定义更改的问题,使得用户可根据被测数据库的数据特定自定义诊断策略数据,进一步提高了数据库的故障诊断的可扩展性。
图5为本发明一个实施例所提供的另一种数据库的故障诊断方法的流程图,本实施例对上述实施例中“基于至少一个监控对象分别对应的目标聚合结果,确定被测数据库的故障诊断结果”进行进一步细化。如图5所示,该方法包括:
S310、获取被测数据库对应的诊断策略数据。
在本实施例中,诊断策略数据还包括预设逻辑运算符以及各监控对象分别对应的比较策略,其中,比较策略包括比较操作符和监控对象阈值,或者比较策略包括对象阈值范围。
其中,示例性的,预设逻辑运算符包括但不限于逻辑或、逻辑与或逻辑非等等,比较操作符包括但不限于大于、小于、大于或等于、小于或等于或等于等等。
S320、针对诊断策略数据中的每个监控对象,从被测数据库对应的原始监控数据中获取与监控对象对应的目标监控数据。
S330、基于监控对象对应的初始聚合策略,对监控对象对应的目标监控数据执行初始聚合操作得到初始聚合结果。
S340、基于监控对象对应的目标聚合策略,对初始聚合结果执行二次聚合操作得到目标聚合结果。
S350、判断监控对象的数量是否大于1,如果是,则执行S360,如果否,则执行S380。
S360、基于各目标聚合结果和诊断策略数据中的各比较策略,确定至少两个对象比较结果。
其中,具体的,针对每个监控对象,判断监控对象对应的目标聚合结果是否满足比较策略,如果是,则将监控对象对应的对象比较结果设置为ture或1,如果否,则将监控对象对应的对象比较结果设置为false或0。
S370、基于预设逻辑运算符和各对象比较结果,确定被测数据库的故障诊断结果。
其中,示例性的,在预设逻辑运算符为逻辑与的情况下,在存在至少一个监控对象分别对应的对象比较结果为false或0的情况下,则将被测数据库的故障诊断结果设置为故障状态,在所有监控对象分别对应的对象比较结果均为ture或1的情况下,则将被测数据库的故障诊断结果设置为正常状态。
其中,示例性的,在预设逻辑运算符为逻辑或的情况下,在存在至少一个监控对象分别对应的对象比较结果为ture或1的情况下,则将被测数据库的故障诊断结果设置为正常状态,在所有监控对象分别对应的对象比较结果均为false或0的情况下,则将被测数据库的故障诊断结果设置为故障状态。
S380、基于监控对象对应的目标聚合结果和诊断策略数据中的比较策略,确定被测数据库的故障诊断结果。
其中,具体的,判断目标聚合结果是否满足比较策略,如果是,则将被测数据库的故障诊断结果设置为正常状态,如果否,则将被测数据库的故障诊断结果设置为故障状态。
在上述实施例的基础上,具体的,诊断策略数据还包括各监控对象分别对应的根因分析算子,相应的,该方法还包括:在故障诊断结果为故障状态的情况下,将不满足对应比较策略的目标聚合结果对应的监控对象作为目标监控对象;基于根因分析算子,对目标监控对象对应的分析数据执行分析操作得到诊断分析结果,并将诊断分析结果进行输出。
在本实施例中,分析数据包括目标监控对象对应的目标监控数据,或者分析数据包括目标监控对象对应的目标监控数据和聚合数据,聚合数据包括初始聚合策略、目标聚合策略、目标聚合结果和对象比较结果中至少一种。
其中,示例性的,根因分析算子包括但不限于容器重启分析算子、内存占用分析算子、磁盘占用分析算子、CPU使用进程分析算子、数据库执行DDL(Data DefinitionLanguage,数据库模式定义语言)查询算子、数据库备份查询算子、数据库是否执行大查询算子等等。
举例而言,在监控对象为主从延迟的情况下,诊断策略数据中与主从延迟对应的根因分析算子包括数据库执行DDL查询算子、数据库备份查询算子和数据库是否执行大查询算子。
这样设置的好处在于,可以对存在故障的被测数据库进行故障定位分析,为后续的数据库维护提供数据支持。
其中,示例性的,诊断分析结果的输出形式包括但不限于文字展示、声音播放、指示灯输出、发送邮件和发送信息等等,此处对诊断分析结果的输出形式不作限定。
在上述实施例的基础上,具体的,诊断策略数据还包括各监控对象分别对应的报警时间间隔,相应的,基于根因分析算子,对目标监控对象对应的分析数据执行分析操作得到诊断分析结果,包括:获取目标监控对象的诊断分析结果对应的上一诊断时刻,并确定上一诊断时刻与目标监控对象的当前诊断时刻对应的诊断时间间隔;在诊断时间间隔满足目标监控对象对应的报警时间间隔的情况下,基于根因分析算子,对目标监控对象对应的分析数据执行分析操作得到诊断分析结果。
其中,示例性的,报警时间间隔可以为5min或10min,此处对报警时间间隔不作限定。
由于数据库的故障诊断方法是实时被执行的,因此同一故障问题可能会被重复报警提示。本发明实施例通过设置报警时间间隔避免了上述情况的出现,减少了对报警线程的占用。
在一个具体实施例中,诊断策略数据可通过用户基于策略配置界面上输入的配置数据生成。图6为本发明一个实施例所提供的一种策略配置界面的示意图。具体的,策略配置界面中包含策略名称、分组键、聚合键和至少一个诊断策略、窗口配置、报警间隔、开启告警控件、告警分析控件以及根因分析算子。
其中,策略名称可以由用户自定义设置。分组键用于表征目标聚合策略中的目标聚合维度,聚合键用于表征初始聚合策略中的初始聚合维度。在一个具体实施例中,聚合键为空。当聚合键为空时,基于监控对象对应的目标聚合策略,对目标监控数据执行聚合操作得到目标聚合结果。
在本实施例中,诊断策略包括监控对象、初始聚合函数、目标聚合函数、比较操作符和监控对象阈值。时间窗口大小和允许最大延时用于定义聚合时间窗口,报警间隔用于表征报警时间间隔。
其中,具体的,当开启报警控件的状态为打开状态时,在故障诊断结果为故障状态的情况下,执行报警操作;当告警分析控件的状态为打开状态时,在故障诊断结果为故障状态的情况下,基于根因分析算子,对目标监控对象对应的分析数据执行分析操作得到诊断分析结果,并将诊断分析结果进行输出。
以图6给出的实施例中CPU使用率为例,假设逻辑库A包含分片1和分片2,逻辑库B包含分片3和分片4,其中,分片1中各实例的CPU使用率分别为0.7、0.6和0.5,分片2中各实例的CPU使用率分别为0.2、0.1和0.3,分片3中各实例的CPU使用率分别为0.2、0.8和0.5,分片4中各实例的CPU使用率分别为0.7、0.5和0.4,则初始聚合结果包括分片1、分片2、分片3和分片4分别对应的CPU使用率均值0.6、0.2、0.5和0.53,目标聚合结果包括逻辑库A对应的CPU使用率差值0.4以及逻辑库B对应的CPU使用率均值0.03。
本实施例的技术方案,通过在监控对象的数量为至少两个的情况下,基于各目标聚合结果和诊断策略数据中的各比较策略,确定至少两个对象比较结果;其中,比较策略包括比较操作符和监控对象阈值,或者比较策略包括对象阈值范围,基于预设逻辑运算符和各对象比较结果,确定被测数据库的故障诊断结果,解决了传统的故障诊断方法中的比较策略不能自定义更改的问题,使得用户可根据被测数据库的数据特定自定义诊断策略数据,进一步提高了数据库的故障诊断的可扩展性。
图7为本发明一个实施例所提供的一种数据库的故障诊断装置的结构示意图。如图7所示,该装置包括:目标监控数据获取模块410、初始聚合结果确定模块420、目标聚合结果确定模块430和故障诊断结果确定模块440。
其中,目标监控数据获取模块410,用于获取被测数据库与至少一个监控对象分别对应的目标监控数据;
初始聚合结果确定模块420,用于针对每个监控对象,基于监控对象对应的初始聚合策略,对监控对象对应的目标监控数据执行初始聚合操作得到初始聚合结果;其中,初始聚合策略包括初始聚合维度和初始聚合函数;
目标聚合结果确定模块430,用于基于监控对象对应的目标聚合策略,对初始聚合结果执行二次聚合操作得到目标聚合结果;其中,目标聚合策略包括目标聚合维度和目标聚合函数,目标聚合维度为初始聚合维度的父级;
故障诊断结果确定模块440,用于基于至少一个监控对象分别对应的目标聚合结果,确定被测数据库的故障诊断结果。
本发明实施例的技术方案,通过获取被测数据库与至少一个监控对象分别对应的目标监控数据,针对每个监控对象,基于监控对象对应的初始聚合策略和目标聚合策略,对监控对象对应的目标监控数据执行两次聚合操作得到目标聚合结果,并基于各监控对象分别对应的目标聚合结果,确定被测数据库的故障诊断结果,其中,初始聚合策略包括初始聚合维度和初始聚合函数,目标聚合策略包括目标聚合维度和目标聚合函数,目标聚合维度为初始聚合维度的父级,本发明实施例考虑分库分表数据库的数据结构特性,提供了一种双重嵌套维度的故障诊断方法,解决了传统的故障诊断方法不适用于分库分表数据库的问题,提高了数据库的故障诊断的可扩展性,进而提高了后续数据库维护的及时性。
在上述实施例的基础上,具体的,目标监控数据获取模块410,具体用于:
获取被测数据库对应的诊断策略数据;其中,诊断策略数据包括至少一个监控对象、各监控对象分别对应的初始聚合策略和目标聚合策略;
针对诊断策略数据中的每个监控对象,从被测数据库对应的原始监控数据中获取与监控对象对应的目标监控数据。
在上述实施例的基础上,具体的,诊断策略数据还包括各监控对象分别对应的聚合时间窗口,相应的,初始聚合结果确定模块420,具体用于:
基于监控对象对应的初始聚合维度,对目标监控数据进行分类得到至少一个分类监控数据;其中,分类监控数据包括历史监控数据和当前监控数据;
针对每个分类监控数据,基于监控对象对应的聚合时间窗口以及分类监控数据中当前监控数据对应的时间戳,从分类监控数据中的历史监控数据中获取聚合监控数据;
基于初始聚合函数,对聚合监控数据和当前监控数据执行初始聚合操作得到分类监控数据对应的分类聚合结果;
基于至少一个分类聚合结果,确定监控对象对应的初始聚合结果。
在上述实施例的基础上,具体的,诊断策略数据还包括预设逻辑运算符以及各监控对象分别对应的比较策略,相应的,故障诊断结果确定模块440,具体用于:
在监控对象的数量为至少两个的情况下,基于各目标聚合结果和诊断策略数据中的各比较策略,确定至少两个对象比较结果;其中,比较策略包括比较操作符和监控对象阈值,或者比较策略包括对象阈值范围;
基于预设逻辑运算符和各对象比较结果,确定被测数据库的故障诊断结果。
在上述实施例的基础上,具体的,诊断策略数据还包括各监控对象分别对应的根因分析算子,相应的,该装置还包括:
目标监控对象确定模块,用于在故障诊断结果为故障状态的情况下,将不满足对应比较策略的目标聚合结果对应的监控对象作为目标监控对象;
诊断分析结果确定模块,用于基于根因分析算子,对目标监控对象对应的分析数据执行分析操作得到诊断分析结果,并将诊断分析结果进行输出;
其中,分析数据包括目标监控对象对应的目标监控数据,或者分析数据包括目标监控对象对应的目标监控数据和聚合数据,聚合数据包括初始聚合策略、目标聚合策略、目标聚合结果和对象比较结果中至少一种。
在上述实施例的基础上,具体的,诊断策略数据还包括各监控对象分别对应的报警时间间隔,相应的,诊断分析结果确定模块,具体用于:
获取目标监控对象的诊断分析结果对应的上一诊断时刻,并确定上一诊断时刻与目标监控对象的当前诊断时刻对应的诊断时间间隔;
在诊断时间间隔满足目标监控对象对应的报警时间间隔的情况下,基于根因分析算子,对目标监控对象对应的分析数据执行分析操作得到诊断分析结果。
在上述实施例的基础上,具体的,初始聚合维度为逻辑库、分片、实例或角色,目标聚合维度为应用、逻辑库或分片;其中,应用包含至少一个逻辑库,逻辑库包含至少一个分片,分片包含至少一个实例,实例的角色为主节点或从节点。
图8为本发明一个实施例所提供的一种数据库的故障诊断装置的具体实例的结构示意图。具体的,数据库的故障诊断装置包括MySQL数据库上部署的采集程序、网关、Flink聚合计算模块、根因分析和报警模块以及网络接口模块。
其中,示例性的,采集程序可以为prometheus提供的mysqld-exporter程序,网关可以为prometheus提供的expfmt软件包。其中,expfmt软件包对采集程序暴露出的prometheus格式进行解码,映射到对象上。网关根据自身配置信息,定时对mysqld-exporter端口进行http访问得到原始监控数据,并将原始监控数据发送到flink聚合计算模块。
其中,网络接口模块可提供用户定义诊断策略数据的接口以及前端的策略配置界面,其中,具体的,诊断策略数据可绑定根因分析算子,并将绑定后的诊断策略数据存储在MySQL数据库中。
本发明实施例所提供的数据库的故障诊断装置可执行本发明任意实施例所提供的数据库的故障诊断方法,具备执行方法相应的功能模块和有益效果。
图9为本发明一个实施例所提供的一种电子设备的结构示意图。电子设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图9所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如上述实施例提供的数据库的故障诊断方法。
在一些实施例中,上述实施例提供的数据库的故障诊断方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的数据库的故障诊断方法中的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据库的故障诊断方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种数据库的故障诊断方法,其特征在于,包括:
获取被测数据库与至少一个监控对象分别对应的目标监控数据;
针对每个监控对象,基于所述监控对象对应的初始聚合策略,对所述监控对象对应的目标监控数据执行初始聚合操作得到初始聚合结果;其中,所述初始聚合策略包括初始聚合维度和初始聚合函数;
基于所述监控对象对应的目标聚合策略,对所述初始聚合结果执行二次聚合操作得到目标聚合结果;其中,所述目标聚合策略包括目标聚合维度和目标聚合函数,所述目标聚合维度为所述初始聚合维度的父级;
基于至少一个监控对象分别对应的目标聚合结果,确定所述被测数据库的故障诊断结果。
2.根据权利要求1所述的方法,其特征在于,所述获取被测数据库与至少一个监控对象分别对应的目标监控数据,包括:
获取被测数据库对应的诊断策略数据;其中,所述诊断策略数据包括至少一个监控对象、各所述监控对象分别对应的初始聚合策略和目标聚合策略;
针对所述诊断策略数据中的每个监控对象,从所述被测数据库对应的原始监控数据中获取与所述监控对象对应的目标监控数据。
3.根据权利要求2所述的方法,其特征在于,所述诊断策略数据还包括各所述监控对象分别对应的聚合时间窗口,相应的,所述基于所述监控对象对应的初始聚合策略,对所述监控对象对应的目标监控数据执行初始聚合操作得到初始聚合结果,包括:
基于所述监控对象对应的初始聚合维度,对所述目标监控数据进行分类得到至少一个分类监控数据;其中,所述分类监控数据包括历史监控数据和当前监控数据;
针对每个分类监控数据,基于所述监控对象对应的聚合时间窗口以及所述分类监控数据中当前监控数据对应的时间戳,从所述分类监控数据中的历史监控数据中获取聚合监控数据;
基于所述初始聚合函数,对所述聚合监控数据和所述当前监控数据执行初始聚合操作得到所述分类监控数据对应的分类聚合结果;
基于至少一个分类聚合结果,确定所述监控对象对应的初始聚合结果。
4.根据权利要求2所述的方法,其特征在于,所述诊断策略数据还包括预设逻辑运算符以及各所述监控对象分别对应的比较策略,相应的,所述基于至少一个监控对象分别对应的目标聚合结果,确定所述被测数据库的故障诊断结果,包括:
在所述监控对象的数量为至少两个的情况下,基于各所述目标聚合结果和所述诊断策略数据中的各所述比较策略,确定至少两个对象比较结果;其中,所述比较策略包括比较操作符和监控对象阈值,或者所述比较策略包括对象阈值范围;
基于所述预设逻辑运算符和各所述对象比较结果,确定所述被测数据库的故障诊断结果。
5.根据权利要求4所述的方法,其特征在于,所述诊断策略数据还包括各所述监控对象分别对应的根因分析算子,相应的,所述方法还包括:
在所述故障诊断结果为故障状态的情况下,将不满足对应比较策略的目标聚合结果对应的监控对象作为目标监控对象;
基于所述根因分析算子,对所述目标监控对象对应的分析数据执行分析操作得到诊断分析结果,并将所述诊断分析结果进行输出;
其中,所述分析数据包括所述目标监控对象对应的目标监控数据,或者所述分析数据包括所述目标监控对象对应的目标监控数据和聚合数据,所述聚合数据包括初始聚合策略、目标聚合策略、目标聚合结果和对象比较结果中至少一种。
6.根据权利要求5所述的方法,其特征在于,所述诊断策略数据还包括各所述监控对象分别对应的报警时间间隔,相应的,所述基于所述根因分析算子,对所述目标监控对象对应的分析数据执行分析操作得到诊断分析结果,包括:
获取所述目标监控对象的诊断分析结果对应的上一诊断时刻,并确定所述上一诊断时刻与所述目标监控对象的当前诊断时刻对应的诊断时间间隔;
在所述诊断时间间隔满足所述目标监控对象对应的报警时间间隔的情况下,基于所述根因分析算子,对所述目标监控对象对应的分析数据执行分析操作得到诊断分析结果。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述初始聚合维度为逻辑库、分片、实例或角色,所述目标聚合维度为应用、逻辑库或分片;其中,所述应用包含至少一个逻辑库,所述逻辑库包含至少一个分片,所述分片包含至少一个实例,所述实例的角色为主节点或从节点。
8.一种数据库的故障诊断装置,其特征在于,包括:
目标监控数据获取模块,用于获取被测数据库与至少一个监控对象分别对应的目标监控数据;
初始聚合结果确定模块,用于针对每个监控对象,基于所述监控对象对应的初始聚合策略,对所述监控对象对应的目标监控数据执行初始聚合操作得到初始聚合结果;其中,所述初始聚合策略包括初始聚合维度和初始聚合函数;
目标聚合结果确定模块,用于基于所述监控对象对应的目标聚合策略,对所述初始聚合结果执行二次聚合操作得到目标聚合结果;其中,所述目标聚合策略包括目标聚合维度和目标聚合函数,所述目标聚合维度为所述初始聚合维度的父级;
故障诊断结果确定模块,用于基于至少一个监控对象分别对应的目标聚合结果,确定所述被测数据库的故障诊断结果。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的数据库的故障诊断方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的数据库的故障诊断方法。
CN202310644687.1A 2023-06-01 2023-06-01 一种数据库的故障诊断方法、装置、设备及存储介质 Pending CN116662053A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310644687.1A CN116662053A (zh) 2023-06-01 2023-06-01 一种数据库的故障诊断方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310644687.1A CN116662053A (zh) 2023-06-01 2023-06-01 一种数据库的故障诊断方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116662053A true CN116662053A (zh) 2023-08-29

Family

ID=87711384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310644687.1A Pending CN116662053A (zh) 2023-06-01 2023-06-01 一种数据库的故障诊断方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116662053A (zh)

Similar Documents

Publication Publication Date Title
CN108270618B (zh) 告警判定的方法、装置及告警系统
CN115396289B (zh) 一种故障告警确定方法、装置、电子设备及存储介质
CN116225769B (zh) 一种系统故障根因的确定方法、装置、设备及介质
CN114885014A (zh) 一种外场设备状态的监测方法、装置、设备及介质
CN116010220A (zh) 一种告警诊断方法、装置、设备及存储介质
CN114443443A (zh) 一种故障自愈方法、装置、设备及存储介质
CN105471938B (zh) 服务器负载管理方法及装置
CN115509797A (zh) 一种故障类别的确定方法、装置、设备及介质
CN116471174B (zh) 一种日志数据监测系统、方法、装置和存储介质
CN110633165B (zh) 故障处理方法、装置、系统服务器及计算机可读存储介质
CN116668264A (zh) 一种告警聚类的根因分析方法、装置、设备及存储介质
CN117149565A (zh) 云平台关键性能指标的状态检测方法、装置、设备及介质
CN116545905A (zh) 一种服务健康检测方法、装置、电子设备及存储介质
CN116645082A (zh) 一种系统巡检方法、装置、设备以及存储介质
CN114661562A (zh) 一种数据告警方法、装置、设备及介质
CN116662053A (zh) 一种数据库的故障诊断方法、装置、设备及存储介质
CN114428711A (zh) 数据检测方法、装置、设备及存储介质
CN117198017B (zh) 一种报警等级确定方法、装置、电子设备及存储介质
CN114500326B (zh) 异常检测方法、装置、电子设备以及存储介质
CN116974856B (zh) 一种自动获取日志文件的方法、装置、设备及介质
CN116980273A (zh) 物联网设备接入系统、方法、装置、电子设备及存储介质
CN116319454A (zh) 应用程序网络耗时检测方法、装置、设备及存储介质
CN117749614A (zh) 一种协议规则确定方法、装置、电子设备及存储介质
CN115309578A (zh) 微服务链路的异常定位方法、装置、设备及存储介质
CN117215589A (zh) 一种云原生状态评估方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination