CN110221936A - 数据库告警处理方法、装置、设备及计算机可读存储介质 - Google Patents

数据库告警处理方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN110221936A
CN110221936A CN201910508774.8A CN201910508774A CN110221936A CN 110221936 A CN110221936 A CN 110221936A CN 201910508774 A CN201910508774 A CN 201910508774A CN 110221936 A CN110221936 A CN 110221936A
Authority
CN
China
Prior art keywords
database
alarm
host
root
resource
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
CN201910508774.8A
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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910508774.8A priority Critical patent/CN110221936A/zh
Publication of CN110221936A publication Critical patent/CN110221936A/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/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/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/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/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及金融科技领域,并公开了一种数据库告警处理方法,该方法包括:当检测到主机产生数据库告警时,获取所述数据库告警的数据库类型和告警指标;根据所述数据库类型和所述告警指标查找预设的告警处理配置表,得到待获取的数据库现场信息的种类;根据所述待获取的数据库现场信息的种类,采集对应的数据库现场信息;根据所述数据库现场信息确定所述数据库告警的根因。本发明还公开了一种数据库告警处理装置、设备和一种计算机可读存储介质。本发明提高了数据库根因分析的效率和准确性。

Description

数据库告警处理方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及数据库告警处理方法、装置、设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
在目前的金融领域,各类金融机构的交易系统数据库一般具备告警机制,即通过预先设计好的告警阈值触发告警,以通知数据库管理员进行处理。然而,目前的告警机制只能告诉管理员什么指标出现了异常,而导致异常的根因,需要数据库管理员结合过往经验以及告警指标进行人工分析,这种人工分析不仅耗时耗力,而且分析结果取决于数据库管理员的个人经验,准确性难以保证。
发明内容
本发明的主要目的在于提出一种数据库告警处理方法、装置、设备及计算机可读存储介质,旨在实现自动分析数据库告警产生的根因,提高根因分析的效率和准确性。
为实现上述目的,本发明提供一种数据库告警处理方法,所述数据库告警处理方法包括如下步骤:
当检测到主机产生数据库告警时,获取所述数据库告警的数据库类型和告警指标;
根据所述数据库类型和所述告警指标查找预设的告警处理配置表,得到待获取的数据库现场信息的种类;
根据所述待获取的数据库现场信息的种类,采集对应的数据库现场信息;
根据所述数据库现场信息确定所述数据库告警的根因。
优选地,所述根据所述数据库现场信息确定所述数据库告警的根因的步骤之前,还包括:
在采集所述数据库现场信息的过程中,判断是否接收到主机异常告警,所述主机异常告警包括磁盘只读/磁盘满告警、主机宕机告警和数据库启动进程异常退出告警中的任意一种;
若接收到主机异常告警,则将所述主机异常告警的告警原因确定为所述数据库告警的根因;
若未接收到主机异常告警,则执行步骤:根据所述数据库现场信息确定所述数据库告警的根因。
优选地,所述根据所述待获取的数据库现场信息的种类,采集对应的数据库现场信息的步骤包括:
当所述待获取的数据库现场信息的种类包括存储引擎信息、会话信息、主机资源信息、锁等待信息和慢查询信息时,采集所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数;
所述根据所述数据库现场信息确定所述数据库告警的根因的步骤包括:
根据所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数确定所述数据库告警的根因。
优选地,所述根据所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数确定所述数据库告警的根因的步骤包括:
获取所述存储引擎的活跃线程数在所述预设时间段内的峰值;
判断所述峰值是否大于或等于第一预设阈值;
若所述峰值大于或等于第一预设阈值,则判断所述慢查询语句的个数是否大于或等于第二预设阈值;
若所述慢查询语句的个数大于或等于第二预设阈值,则根据所述CPU使用率和所述磁盘吞吐量判断所述主机资源是否耗尽;
若所述主机资源未耗尽,则将线程数跑满确定为所述数据库告警的根因。
优选地,所述根据所述CPU使用率和所述磁盘吞吐量判断所述主机资源是否耗尽的步骤包括:
判断所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数是否达到预设次数;
若所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数均未达到预设次数,则判定所述主机资源未耗尽。
优选地,所述判断所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数是否达到预设次数的步骤之后,还包括:
若所述CPU使用率或所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机资源耗尽,并将所述主机资源耗尽确定为所述数据库告警的根因。
优选地,所述若所述CPU使用率或所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机资源耗尽,并将所述主机资源耗尽确定为所述数据库告警的根因的步骤包括:
若仅所述CPU使用率在所述预设时间段内跑满的次数达到预设次数,则判定所述主机的CPU资源耗尽,并将所述主机的CPU资源耗尽确定为所述数据库告警的根因;
若仅所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机的磁盘吞吐量资源耗尽,并将所述主机的磁盘吞吐量资源耗尽确定为所述数据库告警的根因;
若所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数均达到预设次数,则判定所述主机的CPU资源和所述磁盘吞吐量资源同时耗尽,并将所述主机的CPU资源和所述磁盘吞吐量资源同时耗尽确定为所述数据库告警的根因。
优选地,所述数据库告警处理方法还包括:
将所述数据库类型、所述告警指标、所述数据库现场信息和确定得到的所述数据库告警的根因进行关联后,发送至前端页面进行展示。
此外,为实现上述目的,本发明还提供一种数据库告警处理装置,所述数据库告警处理装置包括:
获取模块,用于当检测到主机产生数据库告警时,获取所述数据库告警的数据库类型和告警指标;
查找模块,用于根据所述数据库类型和所述告警指标查找预设的告警处理配置表,得到待获取的数据库现场信息的种类;
采集模块,用于根据所述待获取的数据库现场信息的种类,采集对应的数据库现场信息;
第一确定模块,用于根据所述数据库现场信息确定所述数据库告警的根因。
优选地,所述数据库告警处理装置还包括:
判断模块,用于在采集所述数据库现场信息的过程中,判断是否接收到主机异常告警,所述主机异常告警包括磁盘只读/磁盘满告警、主机宕机告警和数据库启动进程异常退出告警中的任意一种;
第二确定模块,用于在接收到主机异常告警时,将所述主机异常告警的告警原因确定为所述数据库告警的根因;
所述第一确定模块,还用于在未接收到主机异常告警时,根据所述数据库现场信息确定所述数据库告警的根因。
优选地,所述采集模块,还用于当所述待获取的数据库现场信息的种类包括存储引擎信息、会话信息、主机资源信息、锁等待信息和慢查询信息时,采集所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数;
所述第一确定模块,还用于根据所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数确定所述数据库告警的根因。
优选地,所述第一确定模块还用于:
获取所述存储引擎的活跃线程数在所述预设时间段内的峰值;
判断所述峰值是否大于或等于第一预设阈值;
若所述峰值大于或等于第一预设阈值,则判断所述慢查询语句的个数是否大于或等于第二预设阈值;
若所述慢查询语句的个数大于或等于第二预设阈值,则根据所述CPU使用率和所述磁盘吞吐量判断所述主机资源是否耗尽;
若所述主机资源未耗尽,则将线程数跑满确定为所述数据库告警的根因。
优选地,所述第一确定模块还用于:
判断所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数是否达到预设次数;
若所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数均未达到预设次数,则判定所述主机资源未耗尽。
优选地,所述第一确定模块还用于:
若所述CPU使用率或所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机资源耗尽,并将所述主机资源耗尽确定为所述数据库告警的根因。
优选地,所述第一确定模块还用于:
若仅所述CPU使用率在所述预设时间段内跑满的次数达到预设次数,则判定所述主机的CPU资源耗尽,并将所述主机的CPU资源耗尽确定为所述数据库告警的根因;
若仅所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机的磁盘吞吐量资源耗尽,并将所述主机的磁盘吞吐量资源耗尽确定为所述数据库告警的根因;
若所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数均达到预设次数,则判定所述主机的CPU资源和所述磁盘吞吐量资源同时耗尽,并将所述主机的CPU资源和所述磁盘吞吐量资源同时耗尽确定为所述数据库告警的根因。
优选地,所述数据库告警处理装置还包括:
发送模块,用于将所述数据库类型、所述告警指标、所述数据库现场信息和确定得到的所述数据库告警的根因进行关联后,发送至前端页面进行展示。
此外,为实现上述目的,本发明还提供一种数据库告警处理设备,所述数据库告警处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据库告警处理程序,所述数据库告警处理程序被所述处理器执行时实现如上所述的数据库告警处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据库告警处理程序,所述数据库告警处理程序被处理器执行时实现如上所述的数据库告警处理方法的步骤。
本发明当检测到主机产生数据库告警时,获取所述数据库告警的数据库类型和告警指标;根据所述数据库类型和所述告警指标查找预设的告警处理配置表,得到待获取的数据库现场信息的种类;根据所述待获取的数据库现场信息的种类,采集对应的数据库现场信息;根据所述数据库现场信息确定所述数据库告警的根因。这种方式相比于现有的人工分析,实现了根据数据库类型和告警指标自动分析数据库告警产生的根因,提高了根因分析的效率和准确性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明数据库告警处理方法第一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例数据库告警处理设备可以是PC机、服务器等设备。
如图1所示,该数据库告警处理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据库告警处理程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据库告警处理程序,并执行下述数据库告警处理方法实施例中的操作。
基于上述硬件结构,提出本发明数据库告警处理方法实施例。
参照图2,图2为本发明数据库告警处理方法第一实施例的流程示意图,所述方法包括:
步骤S10,当检测到主机产生数据库告警时,获取所述数据库告警的数据库类型和告警指标;
本实施例数据库告警处理方法应用于数据库告警处理设备,该数据库告警处理设备可以对主机产生的数据库告警进行实时监测和处理。
以金融场景为例,目前运行在主机上的各类金融机构的交易系统数据库一般具备告警机制,而这种告警机制只能告诉管理员什么指标出现了异常,而导致异常的根本原因可能有多种,比如有一个耗资源的语句在线上跑,会导致CPU、IO(磁盘吞吐量)、活跃连接数、慢查询语句个数等告警指标的上涨,而有时候仅仅由于业务活动推广(如折扣、优惠等),导致正常的语句并发量高,也会出现这种多指标异常的现象。为了实现对数据库告警根因的准确分析,本实施例提出一种数据库告警处理方法。
具体地,当数据库告警处理设备检测到主机产生数据库告警时,可以对数据库告警信息进行分析,获取其中携带的数据库类型和告警指标,其中,数据库类型指的是当前产生告警的数据库的类型,其包括但不限于关系型数据库(如MySQL、TDSQL(TencentDistributed MySQL,腾讯分布式MySQL)、ORACLE),内存型数据库(如共享内存、REDIS),非关系型数据库(如MONGODB),大数据类型的数据库(如HIVE、HBASE)等,告警指标指的是当前存在异常的数据库指标,其包括但不限于主从切换、活跃连接数、CPU使用率、磁盘吞吐量、内存使用率等。
步骤S20,根据所述数据库类型和所述告警指标查找预设的告警处理配置表,得到待获取的数据库现场信息的种类;
在本实施例中,预先设置有一告警处理配置表,该告警处理配置表中至少保存有数据库类型、告警指标和待获取的数据库现场信息的种类之间的对应关系,此外,该告警处理配置表中还可以保存与数据库类型和告警指标对应的告警值、告警级别、分析程序等信息。
进一步地,所述待获取的数据库现场信息的种类包括存储引擎信息、会话信息、主机资源信息、锁等待信息、慢查询信息、活动会话历史信息和执行计划信息中的一种或多种的组合。具体实施时,待获取的数据库现场信息的种类可根据实际分析需要进行灵活设置。
在一实施方式中,告警处理配置表中的配置如下表所示:
在获取到当前数据库告警的数据库类型和告警指标后,根据获取到的数据库类型和告警指标查询预设的告警处理配置表,可以得到待获取的数据库现场信息的种类,也即需要保留的数据库现场信息的种类。
比如,若当前数据库告警的数据库类型为TDSQL,且告警指标为主从切换,则查询上述告警处理配置表,可以得到待获取的数据库现场信息的种类包括存储引擎信息、会话信息、主机资源信息、锁等待信息、慢查询等;若当前数据库告警的数据库类型为ORACLE,且告警指标为活跃连接数,则查询上述告警处理配置表,可以得到待获取的数据库现场信息的种类包括会话信息、主机资源信息、锁等待信息、ASH(Active Session History,活动会话历史)信息、执行计划等。另外,对于某些告警级别较低,如Minor(一般)、Warning(提醒)级别的数据库告警,则可以不处理,即不必对其进行根因分析,以节省系统资源。
步骤S30,根据所述待获取的数据库现场信息的种类,采集对应的数据库现场信息;
该步骤中,根据上述查询到的待获取的数据库现场信息的种类,采集对应的数据库现场信息,以供后续分析。其中,数据库现场信息包括但不限于存储引擎的活跃线程数、数据页使用情况、当前处理的语句及对应的处理状态、CPU使用率、磁盘吞吐量、慢查询语句的个数等,
步骤S40,根据所述数据库现场信息确定所述数据库告警的根因。
该步骤中,可以根据预设的分析规则,对上述数据库现场信息进行分析,从而确定数据库告警的根因。其中,分析规则可以根据既往的分析经验灵活设置,确定的数据库告警的根因包括但不限于CPU负载满、IO负载满、存储引擎线程池跑满、语句异常等。
在本实施例中,当检测到主机产生数据库告警时,获取所述数据库告警的数据库类型和告警指标;根据所述数据库类型和所述告警指标查找预设的告警处理配置表,得到待获取的数据库现场信息的种类;根据所述待获取的数据库现场信息的种类,采集对应的数据库现场信息;根据所述数据库现场信息确定所述数据库告警的根因。这种方式相比于现有的人工分析,实现了根据数据库类型和告警指标自动分析数据库告警产生的根因,提高了根因分析的效率和准确性。
进一步地,基于本发明数据库告警处理方法第一实施例,提出本发明数据库告警处理方法第二实施例。
在本实施例中,上述步骤S40之前,还可以包括:在采集所述数据库现场信息的过程中,判断是否接收到主机异常告警,所述主机异常告警包括磁盘只读/磁盘满告警、主机宕机告警和数据库启动进程异常退出告警中的任意一种;若接收到主机异常告警,则将所述主机异常告警的告警原因确定为所述数据库告警的根因;若未接收到主机异常告警,则执行步骤:根据所述数据库现场信息确定所述数据库告警的根因。
本实施例中,以TDSQL主从切换为例,引起主从切换的逻辑是对TDSQL数据库每隔预设时长进行一次心跳检查,若连续检测到TDSQL数据库不可写的次数达到预定次数,则会触发主从切换,而引起数据库不可写的原因包括:1、磁盘只读/磁盘满;2、主机宕机不可用;3、mysqld(mysqld是用来启动mysql数据库的命令)进程异常退出;4、CPU负载满;5、IO负载满;6、存储引擎线程池跑满。前三种可以根据主机异常告警直观判断,即,在采集数据库现场信息的过程中,判断是否接收到主机异常告警,该主机异常告警包括磁盘只读/磁盘满告警、主机宕机告警和数据库启动进程异常退出告警中的任意一种,若接收到主机异常告警,则极有可能无法正常采集到数据库现场信息,此时直接将该主机异常告警的告警原因(磁盘只读/磁盘满、主机宕机或数据库启动进程异常退出)确定为所述数据库告警的根因;反之,若未接收到主机异常告警,则需要通过采集到的数据库现场信息确定所述数据库告警的根因。
上述方式考虑了在采集数据库现场信息的过程中接收到主机异常告警的情形,该情形下,通过将主机异常告警的告警原因确定为数据库告警的根因,实现了对数据库告警的根因的准确判定,且提高了根因分析的效率。
进一步地,基于本发明数据库告警处理方法第一实施例,提出本发明数据库告警处理方法第三实施例。
在本实施例中,上述步骤S30可以包括:当所述待获取的数据库现场信息的种类包括存储引擎信息、会话信息、主机资源信息、锁等待信息和慢查询信息时,采集所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数;对应地,步骤S40可以包括:根据所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数确定所述数据库告警的根因。
在本实施例中,仍以TDSQL主从切换为例,若告警处理配置表中与TDSQL主从切换对应的待获取的数据库现场信息的种类包括存储引擎信息、会话信息、主机资源信息、锁等待信息和慢查询信息,则可以对应采集主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数,并根据采集到的主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数确定数据库告警的根因。
进一步地,所述根据所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数确定所述数据库告警的根因的步骤包括:获取所述存储引擎的活跃线程数在所述预设时间段内的峰值;判断所述峰值是否大于或等于第一预设阈值;若所述峰值大于或等于第一预设阈值,则判断所述慢查询语句的个数是否大于或等于第二预设阈值;若所述慢查询语句的个数大于或等于第二预设阈值,则根据所述CPU使用率和所述磁盘吞吐量判断所述主机资源是否耗尽;若所述主机资源未耗尽,则将线程数跑满确定为所述数据库告警的根因。
其中,第一预设阈值、第二预设阈值以及预设时间段可以根据经验灵活设置,比如,若10s内存储引擎的活跃线程数的峰值大于64,且慢查询语句的个数大于100,则极有可能是线程数跑满导致的数据库告警,此时进一步根据CPU使用率和磁盘吞吐量判断主机资源是否耗尽,若主机资源未耗尽,则可以确定数据库告警的根因为线程数跑满。
进一步地,所述根据所述CPU使用率和所述磁盘吞吐量判断所述主机资源是否耗尽的步骤包括:判断所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数是否达到预设次数;若所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数均未达到预设次数,则判定所述主机资源未耗尽。
在本实施例中,可以通过CPU使用率和磁盘吞吐量判断主机资源是否耗尽。具体地,若在预设时间段内CPU使用率跑满的次数或磁盘吞吐量跑满的次数均未达到预设次数,则可以判定主机资源未耗尽。其中,CPU使用率和磁盘吞吐量跑满指的是CPU使用率和磁盘吞吐量达到100%。
当然,判断主机资源是否耗尽并不限于上述方式,比如,还可以判断CPU使用率和磁盘吞吐量在预设时间段内是否持续大于或等于预设阈值,若CPU使用率和磁盘吞吐量在预设时间段内均未持续大于或等于预设阈值,则可以判定主机资源未耗尽,具体实施时可灵活设置。
进一步地,所述判断所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数是否达到预设次数的步骤之后,还可以包括:若所述CPU使用率或所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机资源耗尽,并将所述主机资源耗尽确定为所述数据库告警的根因。
具体地,若仅所述CPU使用率在所述预设时间段内跑满的次数达到预设次数,则判定所述主机的CPU资源耗尽,并将所述主机的CPU资源耗尽确定为所述数据库告警的根因;若仅所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机的磁盘吞吐量资源耗尽,并将所述主机的磁盘吞吐量资源耗尽确定为所述数据库告警的根因;若所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数均达到预设次数,则判定所述主机的CPU资源和所述磁盘吞吐量资源同时耗尽,并将所述主机的CPU资源和所述磁盘吞吐量资源同时耗尽确定为所述数据库告警的根因。
本实施例通过将既往的根因分析经验落地到程序中,实现了对数据库告警根因的确定,提高了根因分析的效率和准确性。
进一步地,基于本发明数据库告警处理方法第一、第二、第三实施例,提出本发明数据库告警处理方法第四实施例。
在本实施例中,数据库告警处理方法还可以包括:将所述数据库类型、所述告警指标、所述数据库现场信息和确定得到的所述数据库告警的根因进行关联后,发送至前端页面进行展示。
在本实施例中,在得到根因分析结果后,可以将此次根因分析的数据库类型、告警指标、数据库现场信息和确定得到的数据库告警的根因进行关联后,发送至前端页面进行展示。具体地,可以将关联后的信息发送至统一的告警管理平台,以使告警管理平台将关联后的信息推送至管理员终端,以通知管理员及时进行处理,其中,推送形式包括但不限于文字、语音、电话等,具体实施时可灵活设置。
上述方式通过将数据库类型、告警指标、数据库现场信息和确定得到的数据库告警的根因等信息一并发送至前端页面进行展示,便于管理员直接获知数据库告警原因,并及时对告警进行处理。
本发明还提供一种数据库告警处理装置。所述数据库告警处理装置包括:
获取模块,用于当检测到主机产生数据库告警时,获取所述数据库告警的数据库类型和告警指标;
查找模块,用于根据所述数据库类型和所述告警指标查找预设的告警处理配置表,得到待获取的数据库现场信息的种类;
采集模块,用于根据所述待获取的数据库现场信息的种类,采集对应的数据库现场信息;
第一确定模块,用于根据所述数据库现场信息确定所述数据库告警的根因。
进一步地,所述数据库告警处理装置还包括:
判断模块,用于在采集所述数据库现场信息的过程中,判断是否接收到主机异常告警,所述主机异常告警包括磁盘只读/磁盘满告警、主机宕机告警和数据库启动进程异常退出告警中的任意一种;
第二确定模块,用于在接收到主机异常告警时,将所述主机异常告警的告警原因确定为所述数据库告警的根因;
所述第一确定模块,还用于在未接收到主机异常告警时,根据所述数据库现场信息确定所述数据库告警的根因。
进一步地,所述采集模块,还用于当所述待获取的数据库现场信息的种类包括存储引擎信息、会话信息、主机资源信息、锁等待信息和慢查询信息时,采集所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数;
所述第一确定模块,还用于根据所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数确定所述数据库告警的根因。
进一步地,所述第一确定模块还用于:
获取所述存储引擎的活跃线程数在所述预设时间段内的峰值;
判断所述峰值是否大于或等于第一预设阈值;
若所述峰值大于或等于第一预设阈值,则判断所述慢查询语句的个数是否大于或等于第二预设阈值;
若所述慢查询语句的个数大于或等于第二预设阈值,则根据所述CPU使用率和所述磁盘吞吐量判断所述主机资源是否耗尽;
若所述主机资源未耗尽,则将线程数跑满确定为所述数据库告警的根因。
进一步地,所述第一确定模块还用于:
判断所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数是否达到预设次数;
若所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数均未达到预设次数,则判定所述主机资源未耗尽。
进一步地,所述第一确定模块还用于:
若所述CPU使用率或所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机资源耗尽,并将所述主机资源耗尽确定为所述数据库告警的根因。
进一步地,所述第一确定模块还用于:
若仅所述CPU使用率在所述预设时间段内跑满的次数达到预设次数,则判定所述主机的CPU资源耗尽,并将所述主机的CPU资源耗尽确定为所述数据库告警的根因;
若仅所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机的磁盘吞吐量资源耗尽,并将所述主机的磁盘吞吐量资源耗尽确定为所述数据库告警的根因;
若所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数均达到预设次数,则判定所述主机的CPU资源和所述磁盘吞吐量资源同时耗尽,并将所述主机的CPU资源和所述磁盘吞吐量资源同时耗尽确定为所述数据库告警的根因。
进一步地,所述数据库告警处理装置还包括:
发送模块,用于将所述数据库类型、所述告警指标、所述数据库现场信息和确定得到的所述数据库告警的根因进行关联后,发送至前端页面进行展示。
上述各程序模块所执行的方法可参照本发明数据库告警处理方法各个实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有数据库告警处理程序,所述数据库告警处理程序被处理器执行时实现如上所述的数据库告警处理方法的步骤。
其中,在所述处理器上运行的数据库告警处理程序被执行时所实现的方法可参照本发明数据库告警处理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (17)

1.一种数据库告警处理方法,其特征在于,所述数据库告警处理方法包括如下步骤:
当检测到主机产生数据库告警时,获取所述数据库告警的数据库类型和告警指标;
根据所述数据库类型和所述告警指标查找预设的告警处理配置表,得到待获取的数据库现场信息的种类;
根据所述待获取的数据库现场信息的种类,采集对应的数据库现场信息;
根据所述数据库现场信息确定所述数据库告警的根因。
2.如权利要求1所述的数据库告警处理方法,其特征在于,所述根据所述数据库现场信息确定所述数据库告警的根因的步骤之前,还包括:
在采集所述数据库现场信息的过程中,判断是否接收到主机异常告警,所述主机异常告警包括磁盘只读/磁盘满告警、主机宕机告警和数据库启动进程异常退出告警中的任意一种;
若接收到主机异常告警,则将所述主机异常告警的告警原因确定为所述数据库告警的根因;
若未接收到主机异常告警,则执行步骤:根据所述数据库现场信息确定所述数据库告警的根因。
3.如权利要求1所述的数据库告警处理方法,其特征在于,所述根据所述待获取的数据库现场信息的种类,采集对应的数据库现场信息的步骤包括:
当所述待获取的数据库现场信息的种类包括存储引擎信息、会话信息、主机资源信息、锁等待信息和慢查询信息时,采集所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数;
所述根据所述数据库现场信息确定所述数据库告警的根因的步骤包括:
根据所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数确定所述数据库告警的根因。
4.如权利要求3所述的数据库告警处理方法,其特征在于,所述根据所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数确定所述数据库告警的根因的步骤包括:
获取所述存储引擎的活跃线程数在所述预设时间段内的峰值;
判断所述峰值是否大于或等于第一预设阈值;
若所述峰值大于或等于第一预设阈值,则判断所述慢查询语句的个数是否大于或等于第二预设阈值;
若所述慢查询语句的个数大于或等于第二预设阈值,则根据所述CPU使用率和所述磁盘吞吐量判断所述主机资源是否耗尽;
若所述主机资源未耗尽,则将线程数跑满确定为所述数据库告警的根因。
5.如权利要求4所述的数据库告警处理方法,其特征在于,所述根据所述CPU使用率和所述磁盘吞吐量判断所述主机资源是否耗尽的步骤包括:
判断所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数是否达到预设次数;
若所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数均未达到预设次数,则判定所述主机资源未耗尽。
6.如权利要求5所述的数据库告警处理方法,其特征在于,所述判断所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数是否达到预设次数的步骤之后,还包括:
若所述CPU使用率或所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机资源耗尽,并将所述主机资源耗尽确定为所述数据库告警的根因。
7.如权利要求6所述的数据库告警处理方法,其特征在于,所述若所述CPU使用率或所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机资源耗尽,并将所述主机资源耗尽确定为所述数据库告警的根因的步骤包括:
若仅所述CPU使用率在所述预设时间段内跑满的次数达到预设次数,则判定所述主机的CPU资源耗尽,并将所述主机的CPU资源耗尽确定为所述数据库告警的根因;
若仅所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机的磁盘吞吐量资源耗尽,并将所述主机的磁盘吞吐量资源耗尽确定为所述数据库告警的根因;
若所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数均达到预设次数,则判定所述主机的CPU资源和所述磁盘吞吐量资源同时耗尽,并将所述主机的CPU资源和所述磁盘吞吐量资源同时耗尽确定为所述数据库告警的根因。
8.如权利要求1至7中任一项所述的数据库告警处理方法,其特征在于,所述数据库告警处理方法还包括:
将所述数据库类型、所述告警指标、所述数据库现场信息和确定得到的所述数据库告警的根因进行关联后,发送至前端页面进行展示。
9.一种数据库告警处理装置,其特征在于,所述数据库告警处理装置包括:
获取模块,用于当检测到主机产生数据库告警时,获取所述数据库告警的数据库类型和告警指标;
查找模块,用于根据所述数据库类型和所述告警指标查找预设的告警处理配置表,得到待获取的数据库现场信息的种类;
采集模块,用于根据所述待获取的数据库现场信息的种类,采集对应的数据库现场信息;
第一确定模块,用于根据所述数据库现场信息确定所述数据库告警的根因。
10.如权利要求9所述的数据库告警处理装置,其特征在于,所述数据库告警处理装置还包括:
判断模块,用于在采集所述数据库现场信息的过程中,判断是否接收到主机异常告警,所述主机异常告警包括磁盘只读/磁盘满告警、主机宕机告警和数据库启动进程异常退出告警中的任意一种;
第二确定模块,用于在接收到主机异常告警时,将所述主机异常告警的告警原因确定为所述数据库告警的根因;
所述第一确定模块,还用于在未接收到主机异常告警时,根据所述数据库现场信息确定所述数据库告警的根因。
11.如权利要求9所述的数据库告警处理装置,其特征在于,
所述采集模块,还用于当所述待获取的数据库现场信息的种类包括存储引擎信息、会话信息、主机资源信息、锁等待信息和慢查询信息时,采集所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数;
所述第一确定模块,还用于根据所述主机在预设时间段内的CPU使用率、磁盘吞吐量、存储引擎的活跃线程数和慢查询语句的个数确定所述数据库告警的根因。
12.如权利要求11所述的数据库告警处理装置,其特征在于,所述第一确定模块还用于:
获取所述存储引擎的活跃线程数在所述预设时间段内的峰值;
判断所述峰值是否大于或等于第一预设阈值;
若所述峰值大于或等于第一预设阈值,则判断所述慢查询语句的个数是否大于或等于第二预设阈值;
若所述慢查询语句的个数大于或等于第二预设阈值,则根据所述CPU使用率和所述磁盘吞吐量判断所述主机资源是否耗尽;
若所述主机资源未耗尽,则将线程数跑满确定为所述数据库告警的根因。
13.如权利要求12所述的数据库告警处理装置,其特征在于,所述第一确定模块还用于:
判断所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数是否达到预设次数;
若所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数均未达到预设次数,则判定所述主机资源未耗尽。
14.如权利要求13所述的数据库告警处理装置,其特征在于,所述第一确定模块还用于:
若所述CPU使用率或所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机资源耗尽,并将所述主机资源耗尽确定为所述数据库告警的根因。
15.如权利要求14所述的数据库告警处理装置,其特征在于,所述第一确定模块还用于:
若仅所述CPU使用率在所述预设时间段内跑满的次数达到预设次数,则判定所述主机的CPU资源耗尽,并将所述主机的CPU资源耗尽确定为所述数据库告警的根因;
若仅所述磁盘吞吐量在所述预设时间段内跑满的次数达到预设次数,则判定所述主机的磁盘吞吐量资源耗尽,并将所述主机的磁盘吞吐量资源耗尽确定为所述数据库告警的根因;
若所述CPU使用率和所述磁盘吞吐量在所述预设时间段内跑满的次数均达到预设次数,则判定所述主机的CPU资源和所述磁盘吞吐量资源同时耗尽,并将所述主机的CPU资源和所述磁盘吞吐量资源同时耗尽确定为所述数据库告警的根因。
16.一种数据库告警处理设备,其特征在于,所述数据库告警处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据库告警处理程序,所述数据库告警处理程序被所述处理器执行时实现如权利要求1至8中任一项所述的数据库告警处理方法的步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据库告警处理程序,所述数据库告警处理程序被处理器执行时实现如权利要求1至8中任一项所述的数据库告警处理方法的步骤。
CN201910508774.8A 2019-06-12 2019-06-12 数据库告警处理方法、装置、设备及计算机可读存储介质 Pending CN110221936A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910508774.8A CN110221936A (zh) 2019-06-12 2019-06-12 数据库告警处理方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910508774.8A CN110221936A (zh) 2019-06-12 2019-06-12 数据库告警处理方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN110221936A true CN110221936A (zh) 2019-09-10

Family

ID=67816854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910508774.8A Pending CN110221936A (zh) 2019-06-12 2019-06-12 数据库告警处理方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110221936A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026608A (zh) * 2019-11-28 2020-04-17 深圳供电局有限公司 一种Oracle数据库性能诊断方法及其系统、设备、介质
CN112699007A (zh) * 2021-01-04 2021-04-23 网宿科技股份有限公司 监控机器性能的方法、系统、网络设备及存储介质
CN113505044A (zh) * 2021-09-09 2021-10-15 格创东智(深圳)科技有限公司 数据库告警方法、装置、设备和存储介质
CN113590579A (zh) * 2021-06-22 2021-11-02 微梦创科网络科技(中国)有限公司 一种基于数据仓库的根因分析方法、装置及系统
CN115221009A (zh) * 2022-09-19 2022-10-21 中国人寿保险股份有限公司上海数据中心 一种信创数据库的监控告警集成系统及其实现方法
CN113590579B (zh) * 2021-06-22 2024-05-31 微梦创科网络科技(中国)有限公司 一种基于数据仓库的根因分析方法、装置及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026608A (zh) * 2019-11-28 2020-04-17 深圳供电局有限公司 一种Oracle数据库性能诊断方法及其系统、设备、介质
CN112699007A (zh) * 2021-01-04 2021-04-23 网宿科技股份有限公司 监控机器性能的方法、系统、网络设备及存储介质
CN113590579A (zh) * 2021-06-22 2021-11-02 微梦创科网络科技(中国)有限公司 一种基于数据仓库的根因分析方法、装置及系统
CN113590579B (zh) * 2021-06-22 2024-05-31 微梦创科网络科技(中国)有限公司 一种基于数据仓库的根因分析方法、装置及系统
CN113505044A (zh) * 2021-09-09 2021-10-15 格创东智(深圳)科技有限公司 数据库告警方法、装置、设备和存储介质
CN115221009A (zh) * 2022-09-19 2022-10-21 中国人寿保险股份有限公司上海数据中心 一种信创数据库的监控告警集成系统及其实现方法

Similar Documents

Publication Publication Date Title
CN110221936A (zh) 数据库告警处理方法、装置、设备及计算机可读存储介质
US8954971B2 (en) Data collecting method, data collecting apparatus and network management device
CN110347716B (zh) 日志数据处理方法、装置、终端设备及存储介质
CN109873904B (zh) 消息推送的用户消息状态上报处理方法、装置及存储介质
US8407306B1 (en) Systems and methods for managing message delivery based on message priority
CN110362401A (zh) 数据跑批方法、装置、存储介质及集群中的成员主机
CN110659307A (zh) 一种事件流的关联分析方法与系统
CN110502546A (zh) 一种数据处理方法及装置
CN107783829B (zh) 任务处理方法、装置、存储介质和计算机设备
WO2014169661A1 (en) Method and system for processing report information
CN107908518A (zh) 数据库性能监测方法、装置、存储介质和计算机设备
CN110716800B (zh) 任务调度方法及装置、存储介质及电子设备
CN112162965A (zh) 一种日志数据处理的方法、装置、计算机设备及存储介质
CN114201278A (zh) 任务处理方法、任务处理装置、电子设备以及存储介质
CN112383585A (zh) 消息处理系统、方法及电子设备
CN113014608B (zh) 一种流量分发控制方法、装置、电子设备及存储介质
EP3422186B1 (en) Method, device and system for preventing memory data loss
CN109766198B (zh) 流式处理方法、装置、设备及计算机可读存储介质
CN112530074A (zh) 排队叫号提醒方法、装置、设备及存储介质
US20210250356A1 (en) Whitelist self-learning method and device based on machine learning technology
CN112948223A (zh) 一种监测运行情况的方法和装置
KR20160039273A (ko) 컨셉 검색 및 탐색 시스템 및 방법
CN111324583B (zh) 一种业务日志的分类方法及装置
CN114697247B (zh) 流媒体系统的故障检测方法、装置、设备和存储介质
CN115658635A (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