CN113064834B - 异常检测方法、装置、电子设备、介质 - Google Patents

异常检测方法、装置、电子设备、介质 Download PDF

Info

Publication number
CN113064834B
CN113064834B CN202110438982.2A CN202110438982A CN113064834B CN 113064834 B CN113064834 B CN 113064834B CN 202110438982 A CN202110438982 A CN 202110438982A CN 113064834 B CN113064834 B CN 113064834B
Authority
CN
China
Prior art keywords
monitoring
index
database
rule
indexes
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.)
Active
Application number
CN202110438982.2A
Other languages
English (en)
Other versions
CN113064834A (zh
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110438982.2A priority Critical patent/CN113064834B/zh
Publication of CN113064834A publication Critical patent/CN113064834A/zh
Application granted granted Critical
Publication of CN113064834B publication Critical patent/CN113064834B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种异常检测方法,包括:确定多项监控指标,其中,多项监控指标包括针对数据库的监控指标和针对数据库运行的服务器的监控指标,获得与多项监控指标相对应的机器规则,其中,机器规则用于表征数据库处于正常的运行状态时,与一项或多项监控指标相对应的动态阈值范围,获得与多项监控指标相对应的实时监控值;以及在一项或多项监控指标的实时监控值超过机器规则的情况下,确定检测到数据库的一项或多项监控指标存在异常。本公开还提供了一种异常检测装置、电子设备、介质和程序产品。本公开提供的方法和装置例如可以应用于金融领域或其他领域。

Description

异常检测方法、装置、电子设备、介质
技术领域
本公开涉及数据库的技术领域,特别是涉及一种异常检测方法、装置、电子设备、介质和程序产品。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。金融机构的数据库中存储着大量数据,如何及时的发现数据库是否存在异常对金融机构的数据安全有重要意义。
相关技术也提供了一些针对数据库的异常检测方法,例如可以利用一组相关的时序指标来体现数据库运行的健康程度。但是大多基于一些传统的指标,且需要运维人员通过手动配置的方式为每个指标设定异常状态的固定阈值,配置的工作量巨大,当配置信息需要更改时,如固定阈值的更改,也很容易出现配置信息的缺失,如指标遗漏,阈值输错,从而容易产生误报的情况,使得运维人员在发现数据库的异常问题时存在明显的滞后性和检测盲区,进而导致对数据库进行异常检测时容易出错。
因此,在相关技术中,人工手动配置具体配置信息的方式容易导致数据库的异常检测的准确性低。进一步地,当数据库发生故障时,往往会引发多项指标的异常,从底层基础设施到上层应用都有可能大范围的出现提示风险,难以快速地定位到故障的根源。
发明内容
有鉴于此,为了至少部分地克服相关技术中存在的上述技术问题,本公开提供了一种异常检测方法、装置、电子设备、介质和程序产品。
为了实现上述目标,本公开的一个方面提供了一种异常检测方法,可以包括:确定多项监控指标,其中,所述多项监控指标包括针对数据库的监控指标和针对所述数据库运行的服务器的监控指标;获得与所述多项监控指标相对应的机器规则,其中,所述机器规则用于表征所述数据库处于正常的运行状态时,与一项或多项监控指标相对应的动态阈值范围;获得与所述多项监控指标相对应的实时监控值;以及在所述一项或多项监控指标的实时监控值超过所述机器规则的情况下,确定检测到所述数据库的所述一项或多项监控指标存在异常。
根据本公开的实施例,上述方法还可以包括:获得与上述多项监控指标相对应的专家规则,其中,上述专家规则用于表征上述数据库处于正常的运行状态时,与上述一项或多项监控指标相对应的静态预设阈值;以及在上述一项或多项监控指标的实时监控值超过上述专家规则的情况下,确定检测到上述数据库的上述一项或多项监控指标存在异常。
根据本公开的实施例,在上述实时监控值超过上述机器规则或上述专家规则的情况下,上述方法还可以包括:确定上述一项或多项监控指标中与每项监控指标相对应的指标类型,其中,上述指标类型包括入口指标、中间指标和核心指标;获得与上述指标类型相对应的扣分值,其中,上述扣分值包括为上述入口指标设定的第一扣分值、为上述中间指标设定的第二扣分值和为上述核心指标设定的第三扣分值;获得与上述指标类型相对应的权重值,其中,上述权重值包括为上述入口指标设定的第一权重值、为上述中间指标设定的第二权重值和为上述核心指标设定的第三权重值;以及基于上述每项监控指标相对应的指标类型、上述与上述指标类型相对应的扣分值和上述权重值,确定上述数据库的健康度分值。
根据本公开的实施例,在上述实时监控值超过上述机器规则和上述专家规则的情况下,上述方法还可以包括:获得为上述机器规则设定的第一规则权重值;获得为上述专家规则设定的第二规则权重值,其中,上述第二规则权重值大于上述第一规则权重值;确定上述一项或多项监控指标中与每项监控指标相对应的指标类型,其中,上述指标类型包括入口指标、中间指标和核心指标;获得与上述指标类型相对应的扣分值,其中,上述扣分值包括为上述入口指标设定的第一扣分值、为上述中间指标设定的第二扣分值和为上述核心指标设定的第三扣分值;获得与上述指标类型相对应的权重值,其中,上述权重值包括为上述入口指标设定的第一权重值、为上述中间指标设定的第二权重值和为上述核心指标设定的第三权重值;以及基于上述第一规则权重值、上述第二规则权重值、上述与每项监控指标相对应的指标类型、上述与上述指标类型相对应的扣分值和上述权重值,确定上述数据库的健康度分值。
根据本公开的实施例,上述方法还可以包括:在确定检测到上述数据库的上述一项或多项监控指标存在异常的情况下,生成用于提示上述数据库处于异常的提示异常信息;以及发送或展示上述提示异常信息。
根据本公开的实施例,上述展示上述提示异常信息可以包括:确定与上述健康度分值相对应的健康等级,其中,不同的健康等级对应不同的展示效果;以及基于与上述健康等级相对应的展示效果,展示上述提示异常信息。
根据本公开的实施例,上述获得与一项或多项监控指标相对应的机器规则可以包括:获得训练数据集,其中,上述训练数据集包括与上述一项或多项监控指标相对应的历史监控值;以及训练上述训练数据集来获得与上述一项或多项监控指标相对应的机器规则。
为了实现上述目标,本公开的另一个方面提供了一种异常检测装置,可以包括:监控指标确定模块,用于确定多项监控指标,其中,上述多项监控指标包括针对数据库的监控指标和针对上述数据库运行的服务器的监控指标;机器规则获得模块,用于获得与上述多项监控指标相对应的机器规则,其中,上述机器规则用于表征上述数据库处于正常的运行状态时,与一项或多项监控指标相对应的动态阈值范围;监控值获得模块,用于获得与上述多项监控指标相对应的实时监控值;以及第一异常确定模块,用于在上述一项或多项监控指标的实时监控值超过上述机器规则的情况下,确定检测到上述数据库的上述一项或多项监控指标存在异常。
根据本公开的实施例,上述装置还可以包括:专家规则获得模块,用于获得与上述多项监控指标相对应的专家规则,其中,上述专家规则用于表征上述数据库处于正常的运行状态时,与上述一项或多项监控指标相对应的静态预设阈值;以及第二异常确定模块,用于在上述一项或多项监控指标的实时监控值超过上述专家规则的情况下,确定检测到上述数据库的上述一项或多项监控指标存在异常。
根据本公开的实施例,在上述实时监控值超过上述机器规则或上述专家规则的情况下,上述装置还可以包括:第一指标类型确定模块,用于确定上述一项或多项监控指标中与每项监控指标相对应的指标类型,其中,上述指标类型包括入口指标、中间指标和核心指标;第一扣分值确定模块,用于获得与上述指标类型相对应的扣分值,其中,上述扣分值包括为上述入口指标设定的第一扣分值、为上述中间指标设定的第二扣分值和为上述核心指标设定的第三扣分值;第一权重值确定模块,用于获得与上述指标类型相对应的权重值,其中,上述权重值包括为上述入口指标设定的第一权重值、为上述中间指标设定的第二权重值和为上述核心指标设定的第三权重值;以及第一健康度确定模块,用于基于上述每项监控指标相对应的指标类型、上述与上述指标类型相对应的扣分值和上述权重值,确定上述数据库的健康度分值。
根据本公开的实施例,在上述实时监控值超过上述机器规则和上述专家规则的情况下,上述装置还可以包括:第一规则权重值获得模块,用于获得为上述机器规则设定的第一规则权重值;第二规则权重值获得模块,用于获得为上述专家规则设定的第二规则权重值,其中,上述第二规则权重值大于上述第一规则权重值;第二指标类型确定模块,用于确定上述一项或多项监控指标中与每项监控指标相对应的指标类型,其中,上述指标类型包括入口指标、中间指标和核心指标;第二扣分值确定模块,用于获得与上述指标类型相对应的扣分值,其中,上述扣分值包括为上述入口指标设定的第一扣分值、为上述中间指标设定的第二扣分值和为上述核心指标设定的第三扣分值;第二重值确定模块,用于获得与上述指标类型相对应的权重值,其中,上述权重值包括为上述入口指标设定的第一权重值、为上述中间指标设定的第二权重值和为上述核心指标设定的第三权重值;以及第二健康度确定模块,用于基于上述第一规则权重值、上述第二规则权重值、上述与每项监控指标相对应的指标类型、上述与上述指标类型相对应的扣分值和上述权重值,确定上述数据库的健康度分值。
根据本公开的实施例,上述装置还可以包括:异常信息生成模块,用于在确定检测到上述数据库的上述一项或多项监控指标存在异常的情况下,生成用于提示上述数据库处于异常的提示异常信息;以及异常信息提示模块,用于发送或展示上述提示异常信息。
根据本公开的实施例,上述异常信息提示模块可以包括:健康等级确定子模块,用于确定与上述健康度分值相对应的健康等级,其中,不同的健康等级对应不同的展示效果;以及异常信息展示子模块,用于基于与上述健康等级相对应的展示效果,展示上述提示异常信息。
根据本公开的实施例,上述机器规则获得模块可以包括:训练数据获得模块,用于获得训练数据集,其中,上述训练数据集包括与上述一项或多项监控指标相对应的历史监控值;以及训练数据训练模块,用于训练上述训练数据集来获得与上述一项或多项监控指标相对应的机器规则。
为了实现上述目标,本公开的另一方面提供了一种电子设备,包括:一个或多个处理器,存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的异常检测方法。
为了实现上述目标,本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被执行时用于实现如上所述的异常检测方法。
为了实现上述目标,本公开的另一方面提供了一种计算机程序,上述计算机程序包括计算机可执行指令,上述指令在被执行时用于实现如上所述的异常检测方法。
通过本公开提供的针对数据库的异常检测方法,基于获得的与多项监控指标相对应的机器规则以及实时监控值,在一项或多项监控指标的实时监控值超过机器规则的情况下,可以确定检测到数据库的一项或多项监控指标存在异常,可以至少部分地避免人工手动配置具体配置信息的方式容易导致数据库的异常检测的准确性低的技术问题,并因此可以实现当数据库发生故障引发多项指标异常的情况下,可以快速地定位到故障的根源的技术效果。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性示出了适用于本公开实施例的异常检测方法、装置、设备、介质和程序产品的系统架构;
图2示意性示出了适用于本公开实施例的异常检测方法、装置、设备、介质和程序产品的应用场景;
图3示意性示出了根据本公开实施例的异常检测方法的流程图;
图4示意性示出了根据本公开实施例的异常检测装置的框图;
图5示意性示出了根据本公开实施例的适于实现上文描述的异常检测方法的计算机可读存储介质产品的示意图;以及
图6示意性示出了根据本公开实施例的适于实现上文描述的异常检测方法的电子设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
应该注意的是,附图并未按比例绘制,并且出于说明目的,在整个附图中类似结构或功能的元素通常用类似的附图标记来表示。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了上述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释 (例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和 C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A 和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据库的异常检测装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
相关技术中,针对数据库的异常检测方法大多基于一些传统的指标,且需要运维人员通过手动配置的方式为每个指标设定异常状态的固定阈值,配置的工作量巨大,当配置信息需要更改时,如固定阈值的更改,也很容易出现配置信息的缺失,如指标遗漏,指标阈值输入错误,从而容易产生误报的情况,使得运维人员在发现数据库的异常问题时存在明显的滞后性和检测盲区,进而导致对数据库进行异常检测时容易出错。当数据库发生故障时,往往会引发多项指标的异常,从底层基础设施到上层应用都有可能大范围的出现提示风险,难以快速地定位到故障的根源。
因此,本公开提供了一种异常检测方法,包括监控数据获得阶段和异常检测阶段。其中是数据获得阶段,首先确定多项监控指标,该多项监控指标包括针对数据库的监控指标和针对数据库运行的服务器的监控指标,然后获得与多项监控指标相对应的机器规则,该机器规则用于表征数据库处于正常的运行状态时,与一项或多项监控指标相对应的动态阈值范围,最后获得与多项监控指标相对应的实时监控值。在异常检测阶段,在一项或多项监控指标的实时监控值超过机器规则的情况下,确定检测到数据库的一项或多项监控指标存在异常。
由于本公开提供的针对数据库的异常检测方法,基于获得的与多项监控指标相对应的机器规则以及实时监控值,在一项或多项监控指标的实时监控值超过机器规则的情况下,可以确定检测到数据库的一项或多项监控指标存在异常,可以至少部分地避免人工手动配置具体配置信息的方式容易导致数据库的异常检测的准确性低的技术问题,并因此可以实现当数据库发生故障引发多项指标异常的情况下,可以快速地定位到故障的根源的技术效果。
需要说明的是,本公开提供的异常检测方法和装置可用于金融领域中,也可用于除金融领域之外的任意领域中。因此,对本公开所提供的异常检测方法和装置的应用领域不做限定。
图1示意性示出了适用于本公开实施例的异常检测方法、装置、设备、介质和程序产品的系统架构100。需要注意的是,图1所示仅为可应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、 102、103,网络104和服务器105。网络104用以在终端设备101、102、 103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105 交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的异常检测方法一般可以由服务器105执行。相应地,本公开实施例所提供的异常检测装置一般可以设置于服务器105中。本公开实施例所提供的异常检测方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的异常检测装置也可以设置于不同于服务器105且能够与终端设备101、102、103 和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了适用于本公开实施例的异常检测方法、装置、设备、介质和程序产品的应用场景。
如图2所示,在该应用场景200中,数据库201可以是关系型数据库,例如MySQL。服务器105可以是针对数据库201提供监控服务的服务器,可以获取与多项监控指标相对应的实时监控值。多项监控指标可以包括针对数据库201的实时监控指标2011以及非实时监控指标 2012,也可以包括针对服务器105的实时监控指标1051。服务器105 也可以获取机器规则202以及专家规则203。其中机器规则202用于表征数据库201处于正常的运行状态时,与一项或多项监控指标相对应的动态阈值范围。专家规则203用于表征数据库201处于正常的运行状态时,与一项或多项监控指标相对应的静态预设阈值。根据本公开的实施例,可以在一项或多项监控指标的实时监控值超过机器规则202的情况下,确定检测结果204为检测到数据库201的一项或多项监控指标存在异常。也可以在一项或多项监控指标的实时监控值超过机器规则202和专家规则203的情况下,确定检测结果204为检测到数据库201的一项或多项监控指标存在异常。
图3示意性示出了根据本公开实施例的异常检测方法的流程图。
如图3所示,该异常检测方法300可以包括操作S310~操作S340。
在操作S310,确定多项监控指标。
指标监控是监控系统极为重要的基础环节,本公开对MySQL数据库的监控层面主要包括数据库侧的监控以及服务器侧的监控两个层面。根据本公开的实施例,多项监控指标包括针对数据库的监控指标和针对数据库运行的服务器的监控指标。
具体实施时,在数据库侧的指标监控最能直接反映数据库的运行状态,监控指标分为实时监控指标以及非实时监控指标。其中实时监控指标用于反映数据库当下的基本运行状态,可以包括但不限于连接数、主从延时、每秒查询率(Query Per Second,QPS)。非实时监控指标用于反映数据库更加详尽的历史运行状态,可以包括但不限于结构化查询语言(Structured Query Language,SQL)运行情况统计、大事务统计、以及InnoDB(MySQL的数据库引擎)状态信息。
具体实施时,在服务器侧的指标监控最能直接反映数据库所在服务器侧的性能容量指标,监控指标为实时监控指标,可以包括但不限于CPU使用率、内存、磁盘输入/输出(Input/Output,I/O)繁忙程度。
在操作S320,获得与多项监控指标相对应的机器规则。
根据本公开的实施例,机器规则用于表征数据库处于正常的运行状态时,与一项或多项监控指标相对应的动态阈值范围。
在操作S330,获得与多项监控指标相对应的实时监控值。
在操作S340,在一项或多项监控指标的实时监控值超过机器规则的情况下,确定检测到数据库的一项或多项监控指标存在异常。
在具体实施时,以CPU使用率这一监控指标为例,在MySQL数据库正常运行时,该服务器的CPU使用率一般在10%左右。如若 MySQL数据库在运行期间产生低效SQL,将导致CPU使用率冲高而超出动态基线,可以根据多种机器学习算法进行行为判断,在秒级内即可完成CPU异常检测并给出提示信息。
通过本公开的实施例,由于本公开提供的针对数据库的异常检测方法,基于获得的与多项监控指标相对应的机器规则以及实时监控值,在一项或多项监控指标的实时监控值超过机器规则的情况下,可以确定检测到数据库的一项或多项监控指标存在异常,可以至少部分地避免人工手动配置具体配置信息的方式容易导致数据库的异常检测的准确性低的技术问题,并因此可以实现当数据库发生故障引发多项指标异常的情况下,可以快速地定位到故障的根源的技术效果。采用机器规则的智能算法对各类监控指标进行动态阈值异常提示,监控方案更为合理。
作为一种可选的实施例,该异常检测方法还可以包括:获得与多项监控指标相对应的专家规则,其中,专家规则用于表征数据库处于正常的运行状态时,与一项或多项监控指标相对应的静态预设阈值;以及在一项或多项监控指标的实时监控值超过专家规则的情况下,确定检测到数据库的一项或多项监控指标存在异常。
通过本公开的实施例,在此基础上增设专家规则,即数据库管理人员(DatabaseAdministrator,DBA)根据自己的运维经验为每项监控指标设定固定阈值来进行异常检测。同时根据检测到的入口监控指标的异常情况与其它监控指标进行关联分析,从而实现故障功能的快速定位。以CPU使用率这一监控指标为例,专家规则中为其设定的固定阈值为70%,如若监控到的CPU使用率的指标值在70%以内(例如50%),则不会触发异常提示,如若监控到的CPU使用率的指标值高于70%以内(例如80%),则会触发异常提示。
通过本公开的实施例,在机器规则对数据库进行异常检测的基础之上增加专家规则,给出监控指标对应的静态预设阈值,可以更加准确地检测出各类监控指标的异常情况,同时当同一运维对象的多项监控指标同时检测到异常时,可以快速、有效地进行聚合分析,触发对其他监控指标的全量异常检测,并可以提供故障定位的监控指标排序,辅助异常原因排查。
根据本公开的实施例,在实时监控值超过机器规则的情况下,本公开还提供了一种基于三种类型的监控指标的评分体系。
作为一种可选的实施例,在实时监控值超过机器规则或专家规则的情况下,该异常检测方法还可以包括:确定一项或多项监控指标中与每项监控指标相对应的指标类型,其中,指标类型包括入口指标、中间指标和核心指标;获得与指标类型相对应的扣分值,其中,扣分值包括为入口指标设定的第一扣分值、为中间指标设定的第二扣分值和为核心指标设定的第三扣分值;获得与指标类型相对应的权重值,其中,权重值包括为入口指标设定的第一权重值、为中间指标设定的第二权重值和为核心指标设定的第三权重值;以及基于每项监控指标相对应的指标类型、与指标类型相对应的扣分值和权重值,确定数据库的健康度分值。
根据本公开的实施例,将所有的监控指标(包括数据库侧的监控指标以及服务器侧的监控指标)分为三种类型,分别为入口指标、中间指标、以及核心指标。其中入口指标主要用于最直观地反映数据库的状态变化,中间指标是能对数据库性能产生一定影响的指标,同时对入口指标的恶化有着显著的影响,核心指标是导致数据库产生问题的根本原因,不仅可以对中间指标产生直接影响,而且还可以对入口指标产生间接影响,因此较难通过指标监控所直接发现。但是找出导致数据库产生问题的根本原因并针对性地去解决产生的问题,是处理 MySQL数据库问题的关键所在。
在本公开中,三种类型指标分别对应的监控指标如下表所示。
表1
Figure BDA0003032992620000131
在本公开中,CPU使用率用于表征运行的程序占用的CPU资源,表示服务器在某个时间点的运行程序的情况。CPU使用率越高,说明服务器在这个时间上运行了很多程序,反之较少。连接数用于表征进程接收和发送数据的连接网际互联协议(Internet Protocol,IP)的数量。磁盘I/O用于表征硬盘读写的速度。MySQLbinlog为二进制日志文件,用于记录MySQL的数据更新或者潜在更新(比如DELETE语句执行删除而实际并没有符合条件的数据),在MySQL主从复制中就是依靠的binlog。QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。死锁是两个或多个事务/请求之间的锁产生了回路,也就是死循环了,其中一个循环不主动放弃解开的话,就永远解不开。而锁冲突则是有个session持有了某个资源(比如id=1 的数据)的写锁,另一个session正好也要请求同一条数据的写锁,就必须被阻塞,直到前面的session释放锁为止,一般称之为“锁死”或“长时间锁等待”。其中当访问服务器否个网页的时候,会在服务器端的内存里开辟一块内存,这块内存就叫做session,而这个内存是跟浏览器关联在一起的。
在此基础上,本公开采用单项监控指标进行异常检测以及多项监控指标进行关联分析来对MySQL数据库进行故障的定位与分析。其中单项监控指标进行异常检测主要通过对各类监控指标的历史监控数据进行学习来获得各项监控指标的数据特征,这样可以对接入的监控指标进行自动识别其数据特征,给出该监控指标的动态阈值(即基带,或动态基线),并可以自适配各种监控指标的特点,以准确检测到数据库的各类异常情况。当CPU使用率突然冲高时,可以根据关联分析模块进行多项监控指标的关联分析。
具体实施时,关联分析模块从入口指标开始,当数据库性能下降时,入口指标首先发生变化,最先能反映数据库的性能状况。在一个入口指标出现异常的情况下,触发关联分析流程,向下开始分析中间指标,最后分析定位到核心指标。
具体实施时,可以为不同类型的监控指标设定对应的权重值以及发生异常时的最高扣分值。考虑到入口指标是触发关联分析流程的入口,核心指标是产生问题的根本原因,可以为入口指标以及核心指标设定较高的权重和较高的最高扣分值,中间指标是分析流程的中间过程,重要性相对较低且分析问题流程中触发的较多,可以为中间指标设定较低的权重和较低的最高扣分值。
具体实施时,为入口指标设定的第一权重值为0.4,为入口指标设定的第一扣分值,即最高扣分值为5分(满分为100分),为中间指标设定的第二权重值为0.2,为中间指标设定的第二扣分值,即最高扣分值为3分,为核心指标设定的第三权重值为0.4,为核心指标设定的第三扣分值,即最高扣分值为5分。需要说明的是,上述权重值和最高扣分值的设定仅仅是示意性的,本公开对上述三种不同类型的监控指标的权重值和最高扣分值也不做具体限定,只要为三者设定的权重值之和为1即可。
通过本公开的实施例,按照由上而下,从入口指标开始,核心指标终止的整个关联分析的流程,可以在数据库发生异常的情况下,快速找到核心指标,定位问题,有助于运维人员及时地解决问题。
根据本公开的实施例,在实时监控值超过机器规则和专家规则的情况下,本公开还提供了一种基于三种类型的监控指标的评分体系。
作为一种可选的实施例,在实时监控值超过机器规则和专家规则的情况下,该异常检测方法还可以包括:获得为机器规则设定的第一规则权重值;获得为专家规则设定的第二规则权重值,其中,第二规则权重值大于第一规则权重值;确定一项或多项监控指标中与每项监控指标相对应的指标类型,其中,指标类型包括入口指标、中间指标和核心指标;获得与指标类型相对应的扣分值,其中,扣分值包括为入口指标设定的第一扣分值、为中间指标设定的第二扣分值和为核心指标设定的第三扣分值;获得与指标类型相对应的权重值,其中,权重值包括为入口指标设定的第一权重值、为中间指标设定的第二权重值和为核心指标设定的第三权重值;以及基于第一规则权重值、第二规则权重值、与每项监控指标相对应的指标类型、与指标类型相对应的扣分值和权重值,确定数据库的健康度分值。
具体实施时,除了可以为不同类型的监控指标设定对应的权重值以及发生异常时的最高扣分值,还可以为机器规则和专家规则设定不同的权重值。如前所述,考虑到入口指标是触发关联分析流程的入口,核心指标是产生问题的根本原因,可以为入口指标以及核心指标设定较高的权重和较高的最高扣分值,中间指标是分析流程的中间过程,重要性相对较低且分析问题流程中触发的较多,可以为中间指标设定较低的权重和较低的最高扣分值。相应地,考虑到机器规则是通过对各项监控指标的历史监控数据训练得出的基带(自适应指标规律的一个数据范围)能够有效地、实时地检测出异常值。其与专家规则不同的是,机器规则是根据历史监控数据动态的调整基线,而专家规则是根据运维经验预先定义好的规则,相较于机器规则更具有适用性,因此可以为两个规则分别设定不同的权重值。可选地,专家规则的权重值高于机器规则的权重值。
具体实施时,为入口指标设定的第一权重值为0.4,为入口指标设定的第一扣分值,即最高扣分值为5分(满分为100分),为中间指标设定的第二权重值为0.2,为中间指标设定的第二扣分值,即最高扣分值为3分,为核心指标设定的第三权重值为0.4,为核心指标设定的第三扣分值,即最高扣分值为5分。需要说明的是,上述权重值和最高扣分值的设定仅仅是示意性的,本公开对上述三种不同类型的监控指标的权重值和最高扣分值电不做具体限定,只要为三者设定的权重值之和为1即可。为机器规则设定的第一规则权重值0.3,为专家规则设定的第二规则权重值为0.7。
如若监控指标的监控值超过专家规则中为该监控指标所预先定义好的固定阈值,则表明该监控指标触发专家规则,该监控指标的最高扣分值全部扣除。如若监控指标的监控值超过机器规则训练得出的该监控指标的基带,则表明该监控指标触发机器规则,该监控指标的最高扣分值全部扣除。
例如,当一个入口指标(为入口指标设定的第一扣分值,即最高扣分值为5分)在某时刻既触发专家规则,也触发机器规则的情况下,其扣分分值为5×0.7+5×0.3=5,则在该时刻,数据库的健康度分值为 95分。当一个中间指标(为中间指标设定的第二扣分值,即最高扣分值为3分)在某时刻仅触发专家规则的情况下,其扣分分值为 3×0.7=2.1,则在该时刻,数据库的健康度分值为97.9分。
作为一种可选的实施例,该异常检测方法还可以包括:在确定检测到数据库的一项或多项监控指标存在异常的情况下,生成用于提示数据库处于异常的提示异常信息;以及发送或展示提示异常信息。
根据本公开的实施例,在检测到异常的情况下,还可以生成提示信息,来提示相关人员数据库的运行出现异常,或者数据库所在的服务器存在异常。具体实施时,可以以邮件、短信等各种即时通信的方式提示相关的运维人员具体的异常信息。异常信息可以包括但不限于导致数据库出现异常的监控指标信息、异常发生的时间信息、所在服务器的信息。本公开对具体的异常信息内容不做限定,只要可以起到提示作用,方便运维等相关人员快速找到异常所在的位置即可。
通过本公开的实施例,在数据库检测到异常的情况下,发送并展示相对应的提示异常信息,可以及时起到提醒的作用,避免由于异常导致的数据库宕机,或者服务器宕机所造成的不良后果。
作为一种可选的实施例,展示提示异常信息可以包括:确定与健康度分值相对应的健康等级,其中,不同的健康等级对应不同的展示效果;以及基于与健康等级相对应的展示效果,展示提示异常信息。
根据本公开的实施例,根据不同监控指标触发机器规则和专家规则的实际情况,扣除相应的分值,可以得出最终的健康度分值,根据不同的健康度分值可以将健康度分为三种类型,分别为健康、亚健康以及异常。其中健康的分值范围可以是90分到100分,亚健康的分值范围可以是70到89分,异常的分值范围可以是1分到69分。
具体实施时,提示异常信息可以以文字的形式展示,也可以以语音的形式展示,相应地,展示效果可以包括文字的展示效果、语音的展示效果。本公开对具体的展示效果不做限定,本领域的技术人员可以根据实际情况下需要,设计不同的展示效果以起到对不同健康等级的展示效果加以区分的技术效果。
通过本公开的实施例,利用不同的展示效果展示不同的健康等级,可以给相关人员提供直观的提示结果,便于相关人员根据不同的提示效果开展相应的解决措施。
作为一种可选的实施例,获得与一项或多项监控指标相对应的机器规则可以包括:获得训练数据集,其中,训练数据集包括与一项或多项监控指标相对应的历史监控值;以及训练训练数据集来获得与一项或多项监控指标相对应的机器规则。
根据本公开的实施例,通过对历史监控数据训练出的基带(基带是指自适应指标规律的一个范围)能够有效地、实时地检测出异常值。
通过对数据库的历史监控数值进行自学习识别数据特征,给出其动态阈值,以实现更准确地检测各类指标异常的目的;同时当同一运维对象的多类指标同时检测到异常时,能够快速、且有效地进行聚合分析,触发对其他指标的全量异常检测并提供故障定位的指标排序,辅助异常原因排查。
图4示意性示出了根据本公开实施例的异常检测装置的框图。
如图4所示,该装置400可以包括监控指标确定模块410、机器规则获得模块420、监控值获得模块430以及第一异常确定模块440。
监控指标确定模块410,用于确定多项监控指标,其中,多项监控指标包括针对数据库的监控指标和针对数据库运行的服务器的监控指标。可选地,监控指标确定模块410例如可以用于执行图3描述的操作S310,在此不再赘述。
机器规则获得模块420,用于获得与多项监控指标相对应的机器规则,其中,机器规则用于表征数据库处于正常的运行状态时,与一项或多项监控指标相对应的动态阈值范围。可选地,机器规则获得模块420例如可以用于执行图3描述的操作S320,在此不再赘述。
监控值获得模块430,用于获得与多项监控指标相对应的实时监控值。可选地,监控值获得模块430例如可以用于执行图3描述的操作S330,在此不再赘述。
第一异常确定模块440,用于在一项或多项监控指标的实时监控值超过机器规则的情况下,确定检测到数据库的一项或多项监控指标存在异常。可选地,第一异常确定模块440例如可以用于执行图3描述的操作S340,在此不再赘述。
作为一种可选的实施例,该异常检测装置还可以包括:专家规则获得模块,用于获得与多项监控指标相对应的专家规则,其中,专家规则用于表征数据库处于正常的运行状态时,与一项或多项监控指标相对应的静态预设阈值;以及第二异常确定模块,用于在一项或多项监控指标的实时监控值超过专家规则的情况下,确定检测到数据库的一项或多项监控指标存在异常。
作为一种可选的实施例,在实时监控值超过机器规则或专家规则的情况下,该异常装置还可以包括:第一指标类型确定模块,用于确定一项或多项监控指标中与每项监控指标相对应的指标类型,其中,指标类型包括入口指标、中间指标和核心指标;第一扣分值确定模块,用于获得与指标类型相对应的扣分值,其中,扣分值包括为入口指标设定的第一扣分值、为中间指标设定的第二扣分值和为核心指标设定的第三扣分值;第一权重值确定模块,用于获得与指标类型相对应的权重值,其中,权重值包括为入口指标设定的第一权重值、为中间指标设定的第二权重值和为核心指标设定的第三权重值;以及第一健康度确定模块,用于基于每项监控指标相对应的指标类型、与指标类型相对应的扣分值和权重值,确定数据库的健康度分值。
作为一种可选的实施例,在实时监控值超过机器规则和专家规则的情况下,该异常装置还可以包括:第一规则权重值获得模块,用于获得为机器规则设定的第一规则权重值;第二规则权重值获得模块,用于获得为专家规则设定的第二规则权重值,第二规则权重值大于第一规则权重值;第二指标类型确定模块,用于确定一项或多项监控指标中与每项监控指标相对应的指标类型,其中,指标类型包括入口指标、中间指标和核心指标;第二扣分值确定模块,用于获得与指标类型相对应的扣分值,其中,扣分值包括为入口指标设定的第一扣分值、为中间指标设定的第二扣分值和为核心指标设定的第三扣分值;第二重值确定模块,用于获得与指标类型相对应的权重值,其中,权重值包括为入口指标设定的第一权重值、为中间指标设定的第二权重值和为核心指标设定的第三权重值;以及第二健康度确定模块,用于基于第一规则权重值、第二规则权重值、与每项监控指标相对应的指标类型、与指标类型相对应的扣分值和权重值,确定数据库的健康度分值。
作为一种可选的实施例,该异常装置还可以包括:异常信息生成模块,用于在确定检测到数据库的一项或多项监控指标存在异常的情况下,生成用于提示数据库处于异常的提示异常信息;以及异常信息提示模块,用于发送或展示提示异常信息。
作为一种可选的实施例,异常信息提示模块可以包括:健康等级确定子模块,用于确定与健康度分值相对应的健康等级,其中,不同的健康等级对应不同的展示效果;以及异常信息展示子模块,用于基于与健康等级相对应的展示效果,展示提示异常信息。
作为一种可选的实施例,前述机器规则获得模块420可以包括:训练数据获得模块,用于获得训练数据集,其中,训练数据集包括与一项或多项监控指标相对应的历史监控值;以及训练数据训练模块,用于训练训练数据集来获得与一项或多项监控指标相对应的机器规则。
需要说明的是,异常检测装置部分实施例中各模块的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与异常检测方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FNGA)、可编程逻辑阵列(NLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,监控指标确定模块、机器规则获得模块、监控值获得模块、第一异常确定模块、专家规则获得模块、第二异常确定模块、第一指标类型确定模块、第一扣分值确定模块、第一权重值确定模块、第一健康度确定模块、第一规则权重值获得模块、第二规则权重值获得模块、第二指标类型确定模块、第二扣分值确定模块、第二重值确定模块、第二健康度确定模块、异常信息生成模块、异常信息提示模块、健康等级确定子模块、异常信息展示子模块、训练数据获得模块以及训练数据训练模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,监控指标确定模块、机器规则获得模块、监控值获得模块、第一异常确定模块、专家规则获得模块、第二异常确定模块、第一指标类型确定模块、第一扣分值确定模块、第一权重值确定模块、第一健康度确定模块、第一规则权重值获得模块、第二规则权重值获得模块、第二指标类型确定模块、第二扣分值确定模块、第二重值确定模块、第二健康度确定模块、异常信息生成模块、异常信息提示模块、健康等级确定子模块、异常信息展示子模块、训练数据获得模块以及训练数据训练模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FNGA)、可编程逻辑阵列(NLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,监控指标确定模块、机器规则获得模块、监控值获得模块、第一异常确定模块、专家规则获得模块、第二异常确定模块、第一指标类型确定模块、第一扣分值确定模块、第一权重值确定模块、第一健康度确定模块、第一规则权重值获得模块、第二规则权重值获得模块、第二指标类型确定模块、第二扣分值确定模块、第二重值确定模块、第二健康度确定模块、异常信息生成模块、异常信息提示模块、健康等级确定子模块、异常信息展示子模块、训练数据获得模块以及训练数据训练模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开实施例的适于实现上文描述的异常检测方法的计算机可读存储介质产品的示意图。
在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在设备上运行时,程序代码用于使设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的异常检测方法中的前述各项操作(或步骤),例如,电子设备可以执行如图3中所示的操作S310~操作S340。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表) 包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(ENROM 或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图5所示,描述了根据本公开的实施方式的异常检测的程序产品 500,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在设备,例如个人电脑上运行。然而本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、系统或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如 Java,C++等,还包括常规的过程式程序设计语言—诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAA)或广域网(WAA)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
图6示意性示出了根据本公开实施例的适于实现上文描述的异常检测方法的电子设备的框图。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,根据本公开实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608 加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CNU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601 可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有电子设备600操作所需的各种程序和数据。处理器601、ROM602以及RAM 603通过总线604彼此相连。处理器 601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例图3 中所示的操作S310~操作S340。
根据本公开的实施例,电子设备600还可以包括输入/输出(I/O) 接口605,输入/输出(I/O)接口605也连接至总线604。系统600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD) 等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAA卡、调制解调器等的网络接口卡的通信部分609。通信部分 609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的异常检测方法,包括图3中所示的操作S310~操作S340。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(ENROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/ 或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目标,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (9)

1.一种异常检测方法,包括:
确定多项监控指标,其中,所述多项监控指标包括针对数据库的监控指标和针对所述数据库运行的服务器的监控指标;
获得与所述多项监控指标相对应的机器规则,其中,所述机器规则用于表征所述数据库处于正常的运行状态时,与一项或多项监控指标相对应的动态阈值范围;获得与所述多项监控指标相对应的实时监控值;在所述一项或多项监控指标的实时监控值超过所述机器规则的情况下,确定检测到所述数据库的所述一项或多项监控指标存在异常;
在所述实时监控值超过所述机器规则的情况下,所述方法还包括:
确定所述一项或多项监控指标中与每项监控指标相对应的指标类型,其中,所述指标类型包括入口指标、中间指标和核心指标;
获得与所述指标类型相对应的扣分值,其中,所述扣分值包括为所述入口指标设定的第一扣分值、为所述中间指标设定的第二扣分值和为所述核心指标设定的第三扣分值;
获得与所述指标类型相对应的权重值,其中,所述权重值包括为所述入口指标设定的第一权重值、为所述中间指标设定的第二权重值和为所述核心指标设定的第三权重值;
基于所述每项监控指标相对应的指标类型、所述与所述指标类型相对应的扣分值和所述权重值,确定所述数据库的健康度分值;
其中,当数据库性能下降时,所述入口指标先于所述中间指标和所述核心指标发生变化;所述中间指标用于分析流程的中间过程;所述核心指标是导致数据库产生问题的根本原因;所述第一扣分值和所述第三扣分值分别高于所述第二扣分值;所述第一权重值和所述第三权重值分别高于所述第二权重值。
2.根据权利要求1所述的方法,其中,所述方法还包括:
获得与所述多项监控指标相对应的专家规则,其中,所述专家规则用于表征所述数据库处于正常的运行状态时,与所述一项或多项监控指标相对应的静态预设阈值;在所述一项或多项监控指标的实时监控值超过所述专家规则的情况下,确定检测到所述数据库的所述一项或多项监控指标存在异常。
3.根据权利要求2所述的方法,其中,在所述实时监控值超过所述机器规则和所述专家规则的情况下,所述方法还包括:
获得为所述机器规则设定的第一规则权重值;
获得为所述专家规则设定的第二规则权重值,其中,所述第二规则权重值大于所述第一规则权重值;
确定所述一项或多项监控指标中与每项监控指标相对应的指标类型,其中,所述指标类型包括入口指标、中间指标和核心指标;
获得与所述指标类型相对应的扣分值,其中,所述扣分值包括为所述入口指标设定的第一扣分值、为所述中间指标设定的第二扣分值和为所述核心指标设定的第三扣分值;
获得与所述指标类型相对应的权重值,其中,所述权重值包括为所述入口指标设定的第一权重值、为所述中间指标设定的第二权重值和为所述核心指标设定的第三权重值;
基于所述第一规则权重值、所述第二规则权重值、所述与每项监控指标相对应的指标类型、所述与所述指标类型相对应的扣分值和所述权重值,确定所述数据库的健康度分值。
4.根据权利要求1或2所述的方法,其中,所述方法还包括:
在确定检测到所述数据库的所述一项或多项监控指标存在异常的情况下,生成用于提示所述数据库处于异常的提示异常信息;
发送或展示所述提示异常信息。
5.根据权利要求4所述的方法,其中,所述展示所述提示异常信息包括:
确定与所述健康度分值相对应的健康等级,其中,不同的健康等级对应不同的展示效果;
基于与所述健康等级相对应的展示效果,展示所述提示异常信息。
6.根据权利要求1所述的方法,其中,所述获得与一项或多项监控指标相对应的机器规则包括:
获得训练数据集,其中,所述训练数据集包括与所述一项或多项监控指标相对应的历史监控值;
训练所述训练数据集来获得与所述一项或多项监控指标相对应的机器规则。
7.一种数据库监控装置,包括:
监控指标确定模块,用于确定多项监控指标,其中,所述多项监控指标包括针对数据库的监控指标和针对所述数据库运行的服务器的监控指标;
机器规则获得模块,用于获得与所述多项监控指标相对应的机器规则,其中,所述机器规则用于表征所述数据库处于正常的运行状态时,与一项或多项监控指标相对应的动态阈值范围;
监控值获得模块,用于获得与所述多项监控指标相对应的实时监控值;
异常状态确定模块,用于在所述一项或多项监控指标的实时监控值超过所述机器规则的情况下,确定检测到所述数据库的所述一项或多项监控指标存在异常,
其中,所述数据库监控装置用于实现根据权利要求1至6中任一项所述的方法。
8.一种电子设备,包括:
一个或多个处理器;以及
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时使处理器执行根据权利要求1至6中任一项所述的方法。
CN202110438982.2A 2021-04-22 2021-04-22 异常检测方法、装置、电子设备、介质 Active CN113064834B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110438982.2A CN113064834B (zh) 2021-04-22 2021-04-22 异常检测方法、装置、电子设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110438982.2A CN113064834B (zh) 2021-04-22 2021-04-22 异常检测方法、装置、电子设备、介质

Publications (2)

Publication Number Publication Date
CN113064834A CN113064834A (zh) 2021-07-02
CN113064834B true CN113064834B (zh) 2022-08-05

Family

ID=76567604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110438982.2A Active CN113064834B (zh) 2021-04-22 2021-04-22 异常检测方法、装置、电子设备、介质

Country Status (1)

Country Link
CN (1) CN113064834B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115857838B (zh) * 2023-03-01 2023-06-23 天翼云科技有限公司 存储资源的分析方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110782045A (zh) * 2019-10-17 2020-02-11 成都四方伟业软件股份有限公司 一种运维告警系统动态阈值的生成方法及装置
CN111045894A (zh) * 2019-12-13 2020-04-21 贵州广思信息网络有限公司广州分公司 数据库异常检测方法、装置、计算机设备和存储介质
CN111143163A (zh) * 2019-12-13 2020-05-12 上海硬通网络科技有限公司 数据监控方法、装置、计算机设备和存储介质
CN111506484A (zh) * 2020-03-24 2020-08-07 北京极简智能科技有限公司 一种程序性能评估方法、系统及设备
CN112286761A (zh) * 2020-10-29 2021-01-29 山东中创软件商用中间件股份有限公司 一种数据库状态检测方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7299367B2 (en) * 2003-11-07 2007-11-20 International Business Machines Corporation Methods, systems and computer program products for developing resource monitoring systems from observational data
CN109783322A (zh) * 2018-11-22 2019-05-21 远光软件股份有限公司 一种企业信息系统运行状态的监控分析系统及其方法
CN116719698A (zh) * 2019-05-06 2023-09-08 创新先进技术有限公司 一种指标异常原因的识别方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110782045A (zh) * 2019-10-17 2020-02-11 成都四方伟业软件股份有限公司 一种运维告警系统动态阈值的生成方法及装置
CN111045894A (zh) * 2019-12-13 2020-04-21 贵州广思信息网络有限公司广州分公司 数据库异常检测方法、装置、计算机设备和存储介质
CN111143163A (zh) * 2019-12-13 2020-05-12 上海硬通网络科技有限公司 数据监控方法、装置、计算机设备和存储介质
CN111506484A (zh) * 2020-03-24 2020-08-07 北京极简智能科技有限公司 一种程序性能评估方法、系统及设备
CN112286761A (zh) * 2020-10-29 2021-01-29 山东中创软件商用中间件股份有限公司 一种数据库状态检测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113064834A (zh) 2021-07-02

Similar Documents

Publication Publication Date Title
US20190236205A1 (en) Conversational knowledge graph powered virtual assistant for application performance management
US10459780B2 (en) Automatic application repair by network device agent
US20170093828A1 (en) System and method for detecting whether automatic login to a website has succeeded
US20180131779A1 (en) Recording And Triggering Web And Native Mobile Application Events With Mapped Data Fields
US9740668B1 (en) Plotting webpage loading speeds and altering webpages and a service based on latency and pixel density
US11637839B2 (en) Automated and adaptive validation of a user interface
US11763312B2 (en) Automated rules execution testing and release system
CN112817831A (zh) 应用性能监测方法、装置、计算机系统和可读存储介质
CN115061874A (zh) 日志信息验证方法、装置、设备及介质
CN113064834B (zh) 异常检测方法、装置、电子设备、介质
US20230198865A1 (en) Apparatuses, methods, and computer program products for predictive determinations of causal change identification for service incidents
CN115185839A (zh) 页面检测方法、装置、设备、介质
CN114238993A (zh) 风险检测方法、装置、设备及介质
CN113420935A (zh) 故障定位方法、装置、设备和介质
CN115550141A (zh) 事件处理方法、装置、电子设备及可读存储介质
CN114218283A (zh) 异常检测方法、装置、设备、介质
US11138537B2 (en) Data volume-based server hardware sizing using edge case analysis
CN114546786A (zh) 基于多级缓存的异常监控方法
CN114443663A (zh) 数据表处理方法、装置、设备及介质
CN113032237A (zh) 数据处理方法及装置、电子设备和计算机可读存储介质
CN114996119B (zh) 故障诊断方法、装置、电子设备及存储介质
CN113392142A (zh) Ip地址库命中率计算方法、装置、设备、介质和产品
US20230132670A1 (en) Metrics-based on-demand anomaly detection
CN116450465B (zh) 数据处理方法、装置、设备及介质
US20230412452A1 (en) Detecting network anomalies by correlating multiple information sources

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
GR01 Patent grant
GR01 Patent grant