MySQL数据库监控方法、装置、设备及可读存储介质与流程

文档序号:17488966发布日期:2019-04-23 20:15阅读:157来源:国知局
MySQL数据库监控方法、装置、设备及可读存储介质与流程
本发明涉及数据库监控的
技术领域
,尤其涉及一种mysql数据库监控方法、装置、设备及可读存储介质。
背景技术
:在mysql数据库的运行过程中,需要对mysql数据库的运行状态进行实时的监控,包括对连接情况、吞吐量、执行性能和缓冲池使用情况等的监控,实时发现mysql数据库的运行异常和资源消耗情况,能够在mysql数据库运行异常时,快速的提醒用户。目前,mysql数据库的监控方式为单条监控,即运维人员通过服务器平台单独配置每条监控项,配置完以后,在对应的mysql数据库主机中执行,然而,在mysql数据库监控中,往往针对不同的指标需要进行多条监控,需要运维人员通过配置多个单条监控的并列来实现多条监控,且不同的应用系统下使用的mysql数据库,需要配置不同的策略,mysql数据库的监控效率较低,适用性较低。因此,如何提高mysql数据库的监控效率和适用性是目前亟待解决的问题。技术实现要素:本发明的主要目的在于提供一种mysql数据库监控方法、装置、设备及可读存储介质,旨在提高mysql数据库的监控效率和适用性。为实现上述目的,本发明提供一种mysql数据库监控方法,所述mysql数据库监控方法包括以下步骤:当接收到数据库监控请求时,依据所述数据库监控请求中的数据库监控数据,对预设监控模板集进行配置,以获取当前监控模板集;依据所述当前监控模板集中的主机ip登录目标mysql数据库主机,并在所述目标mysql数据库主机中,执行所述当前监控模板集中各监控项的监控sql语句;依据各监控项的监控结果信息中的各监控指标确定是否触发数据库告警指令,并在触发数据库告警指令时,执行数据库告警操作。可选地,依据所述数据库监控请求中的数据库监控数据,对预设监控模板集进行配置,以获取当前监控模板集的步骤包括:从所述数据库监控请求中读取数据库监控数据,并获取预设监控模板集中各监控参数的标识字段;依据各监控参数的标识字段,从所述数据库监控数据中获取各监控参数的对应配置信息;依据各监控参数的对应配置信息,对预设监控模板集中的各监控参数进行配置,以获取当前监控模板集。可选地,依据所述当前监控模板集中的主机ip登录目标mysql数据库主机的步骤包括:从所述当前监控模板集中读取主机ip,并依据所述主机ip,获取目标mysql数据库主机的登录密码;依据所述登录密码,登录对应的目标mysql数据库主机。可选地,所述依据各监控项的监控结果信息中的各监控指标确定是否触发数据库告警指令的步骤包括:判断各监控项的监控结果信息中的各监控指标内是否存在至少一监控指标出现异常;若各监控项的监控结果信息中的各监控指标内存在至少一监控指标出现异常,则触发数据库告警指令。可选地,所述执行数据库告警操作的步骤包括:依据所述监控结果信息中的各监控指标,确定数据库告警等级;依据所述数据库告警等级,确定目标告警方式,并按照所述目标告警方式,执行对应的数据库告警操作。可选地,按照所述告警方式,执行对应的数据库告警操作的步骤包括:当所述目标告警方式为电话告警时,依据预设告警联系人树中各告警联系人的告警通知顺序,给对应的告警联系人拨打告警电话,直至所述告警电话被接听。可选地,依据所述当前监控模板集中的主机ip登录目标mysql数据库主机的步骤包括:依据所述当前监控模板集中的主机ip,确定目标mysql数据库主机;判断所述目标mysql数据库主机与本机的防火墙策略是否开通;若所述目标mysql数据库主机本机的防火墙策略未开通,则执行防火墙策略开通操作,直至所述目标mysql数据库主机本机的防火墙策略开通;依据所述主机ip,获取目标mysql数据库主机的登录密码,并依据所述登录密码,登录对应的目标mysql数据库主机。此外,为实现上述目的,本发明还提供一种mysql数据库监控装置,所述mysql数据库监控装置包括:配置模块,用于当接收到数据库监控请求时,依据所述数据库监控请求中的数据库监控数据,对预设监控模板集进行配置,以获取当前监控模板集;执行模块,用于依据所述当前监控模板集中的主机ip登录目标mysql数据库主机,并在所述目标mysql数据库主机中,执行所述当前监控模板集中各监控项的监控sql语句;告警模块,用于获取各监控项的监控结果信息,并依据所述监控结果信息中的各监控指标确定是否触发数据库告警指令,且在触发数据库告警指令时,执行数据库告警操作。此外,为实现上述目的,本发明还提供一种mysql数据库监控设备,所述mysql数据库监控设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的mysql数据库监控程序,其中所述mysql数据库监控程序被所述处理器执行时,实现如上述的mysql数据库监控方法的步骤。此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储有mysql数据库监控程序,其中所述mysql数据库监控程序被处理器执行时,实现如上述的mysql数据库监控方法的步骤。本发明提供一种mysql数据库监控方法、装置、设备及可读存储介质,本发明当接收到数据库监控请求时,依据该数据库监控请求中的数据库监控数据,对预设监控模板集进行配置,以获取当前监控模板集,然后依据当前监控模板集中的主机ip登录目标mysql数据库主机,并在该目标mysql数据库主机中,执行所述当前监控模板集中各监控项的监控sql语句,最后依据各监控项的监控结果信息中的各监控指标确定是否触发数据库告警指令,如果触发数据库告警指令,则执行数据库告警操作,通过设置监控模板集,运维人员仅需简单配置即可以实现对mysql数据库的多条监控,并在触发告警指令时,执行数据库告警操作,有效的提高mysql数据库的监控效率和适用性,也便于在数据库异常时,快速及时的发出告警。附图说明图1为本发明各实施例涉及的mysql数据库监控设备的硬件结构示意图;图2为本发明mysql数据库监控方法第一实施例的流程示意图;图3为本发明mysql数据库监控方法第二实施例的流程示意图;图4为本发明mysql数据库监控装置第一实施例的功能模块示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例涉及的mysql数据库监控方法主要应用于mysql数据库监控设备,该mysql数据库监控设备可以是pc(个人计算机personalcomputer)、便携计算机、移动终端等具有显示和处理功能的设备。参照图1,图1为本发明实施例方案中涉及的mysql数据库监控设备的硬件结构示意图。本发明实施例中,mysql数据库监控设备可以包括处理器1001(例如中央处理器centralprocessingunit、cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口);存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。继续参照图1,图1中作为一种可读存储介质的存储器1005可以包括操作系统、网络通信模块以及mysql数据库监控程序。在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的mysql数据库监控程序,并执行本发明实施例提供的mysql数据库监控方法的步骤。本发明实施例提供了一种mysql数据库监控方法。参照图2,图2为本发明mysql数据库监控方法第一实施例的流程示意图。本实施例中,该mysql数据库监控方法由mysql数据库监控设备实现,该mysql数据库监控设备可以是pc、掌上电脑和平板电脑等终端设备,可选为图1所示的设备,所述mysql数据库监控方法包括以下步骤:步骤s101,当接收到数据库监控请求时,依据数据库监控请求中的数据库监控数据,对预设监控模板集进行配置,以获取当前监控模板集;步骤s102,依据当前监控模板集中的主机ip登录目标mysql数据库主机,并在目标mysql数据库主机中,执行当前监控模板集中各监控项的监控sql语句;步骤s103,依据各监控项的监控结果信息中的各监控指标确定是否触发数据库告警指令,并在触发数据库告警指令时,执行数据库告警操作。目前,mysql数据库的监控方式为单条监控,即运维人员通过服务器平台单独配置每条监控项,配置完以后,在对应的mysql数据库主机中执行,然而,在mysql数据库监控中,往往针对不同的指标需要进行多条监控,需要运维人员通过配置多个单条监控的并列来实现多条监控,且不同的应用系统下使用的mysql数据库,需要配置不同的策略,mysql数据库的监控效率较低,适用性较低。考虑到上述问题,本实施例中提出一种mysql数据库监控方法,以下详细介绍mysql数据库监控方法的具体步骤:步骤s101,当接收到数据库监控请求时,依据数据库监控请求中的数据库监控数据,对预设监控模板集进行配置,以获取当前监控模板集;本实施例中,当监测到用户触发的监控模板集的配置指令时,前端显示监控参数配置界面,并通过该监控参数配置界面接收数据库监控数据,然后生成携带有数据库监控数据的数据库监控请求,并将该数据库监控请求发送至设备。其中,该数据库监控数据包括但不限于占位符(目标mysql数据库的所属系统、系统所在分组、系统所属部门或子公司)、sql语句、告警联系组、mysql数据库主机ip、mysql数据库主机端口、数据库名称、数据库登录用户、数据库登录密码,监控模板类型、告警方式、执行持续时间、执行间隔和监控描述。当接收到前端发送的数据库监控请求时,依据数据库监控请求中的数据库监控数据,对预设监控模板集进行配置,以获取当前监控模板集,即对占位符(目标mysql数据库的所属系统、系统所在分组、系统所属部门或子公司)、sql语句、告警联系组、mysql数据库主机ip、mysql数据库主机端口、数据库名称、数据库登录用户、数据库登录密码,监控模板类型、告警方式、执行持续时间和执行间隔进行配置。其中,预设监控模板集包括但不限于可用性监控项的监控sql语句、吞吐量监控项的监控sql语句、连接数监控项的监控sql语句、执行性能监控项的监控sql语句和缓冲池监控项的监控sql语句。具体地,从该数据库监控请求中读取数据库监控数据,并获取预设监控模板集中各监控参数的标识字段,依据各监控参数的标识字段,从数据库监控数据中获取各监控参数的对应配置信息,即从数据库监控数据中获取与各标识字段分别对应的配置信息,然后依据各监控参数的对应配置信息,对预设监控模板集中的各监控参数进行配置,以获取当前监控模板集,即按照配置信息与标识字段之间的对应关系,将配置信息分配给对应的监控参数。其中,监控参数包括但不限于sql语句、告警联系组、mysql数据库主机ip、mysql数据库主机端口、数据库名称、数据库登录用户和数据库登录密码。步骤s102,依据当前监控模板集中的主机ip登录目标mysql数据库主机,并在目标mysql数据库主机中,执行当前监控模板集中各监控项的监控sql语句;本实施例中,在配置完成预设监控模板集,得到当前监控模板集之后,依据当前监控模板集中的主机ip登录目标mysql数据库主机,即从当前监控模板集中获取主机ip,并获取与该主机ip关联的数据库登录密码,且依据该登录密码,登录对应的目标mysql数据库主机;然后在该目标mysql数据库主机中,执行当前监控模板集中各监控项的监控sql语句,即执行可用性监控项、吞吐量监控项、连接数监控项、执行性能监控项和缓冲池监控项等的监控sql语句,得到各监控项的监控结果信息。其中,可用性监控项的监控sql语句用于监控mysql数据库是否可以接收到外部请求,吞吐量监控项的监控sql语句用于监控mysql数据库的吞吐量,连接数监控项的监控sql语句用于监控mysql数据库当前连接数,执行性能监控项的监控sql语句用于监控mysql数据库的执行效率,缓冲池监控项的监控sql语句用于监控mysql数据库的缓冲池。步骤s103,依据各监控项的监控结果信息中的各监控指标确定是否触发数据库告警指令,并在触发数据库告警指令时,执行数据库告警操作。本实施例中,在执行当前监控模板集中各监控项的监控sql语句之后,获取各监控项的监控结果信息,并依据各监控项的监控结果信息中的各监控指标确定是否触发数据库告警指令,即依据各监控项的监控结果信息中的各监控指标确定mysql数据库是否异常,如果mysql数据库异常,则触发数据库告警指令,如果mysql数据库正常,则不触发数据库告警指令。具体地,判断各监控项的监控结果信息中的各监控指标内是否存在至少一监控指标出现异常,如果各监控项的监控结果信息中的各监控指标内存在至少一监控指标出现异常,则确定mysql数据库异常,需要触发数据库告警指令,如果各监控项的监控结果信息中的各监控指标内均正常,则确定mysql数据库正常,不需要触发数据库告警指令。其中,监控指标包括但不限于吞吐量、数据库连接数、数据库执行效率和缓冲池空闲资源,在吞吐量超过预设吞吐量、数据库连接数超过预设连接数、数据库执行效率低于预设执行效率或缓冲池空闲资源低于预设资源时,则确定mysql数据库异常。在触发数据库告警指令时,执行数据库告警操作,即依据各监控指标生成告警信息,并按照预设的告警方式将该告警信息发送给告警联系组。具体地,获取预设告警信息模板,并将各监控项的监控结果信息填充至预设告警信息模板中,以生成告警信息,即获取该预设告警信息模板中的各监控项的位置信息,并依据各监控项的位置信息,确定各监控项在预设告警信息模板中的所属填充位置,且将各监控项的监控结果信息填充至预设告警信息模板中的对应所属填充位置,以生成告警信息。其中,告警信息包括但不限于所属系统、系统所在分组、系统所属部门或子公司、告警联系组和异常信息,且该异常信息包括但不限于吞吐量、数据库连接数、数据库执行效率和缓冲池空闲资源,该告警方式包括但不限于邮件告警、短信告警和电话告警。进一步地,依据当前监控模板集中的主机ip,确定目标mysql数据库主机,并判断目标mysql数据库主机与本机的防火墙策略是否开通,如果目标mysql数据库主机本机的防火墙策略未开通,则执行防火墙策略开通操作,直至目标mysql数据库主机本机的防火墙策略开通,然后依据该主机ip,获取目标mysql数据库主机的登录密码,并依据该登录密码,登录对应的目标mysql数据库主机。在登录目标mysql数据库主机之前,验证目标mysql数据库主机与本机的防火墙策略是否开通,便于在登录目标mysql数据库主机时,防止由于防火墙策略未开通,出现无法登录目标mysql数据库主机的情况。本实施例当接收到数据库监控请求时,依据该数据库监控请求中的数据库监控数据,对预设监控模板集进行配置,以获取当前监控模板集,然后依据当前监控模板集中的主机ip登录目标mysql数据库主机,并在该目标mysql数据库主机中,执行所述当前监控模板集中各监控项的监控sql语句,最后依据各监控项的监控结果信息中的各监控指标确定是否触发数据库告警指令,如果触发数据库告警指令,则执行数据库告警操作,通过设置监控模板集,运维人员仅需简单配置即可以实现对mysql数据库的多条监控,并在触发告警指令时,执行数据库告警操作,有效的提高mysql数据库的监控效率和适用性,也便于在数据库异常时,快速及时的发出告警。进一步地,参照图3,基于上述第一实施例,提出了本发明mysql数据库监控方法的第二实施例,与前述实施例的区别在于,步骤s103中执行数据库告警操作的步骤包括:步骤s1031,依据监控结果信息中的各监控指标,确定数据库告警等级;本实施例中,如果触发数据库告警指令,则依据监控结果信息中的各监控指标,确定数据库告警等级。需要说明的是,告警等级的具体数量、重要程度和时效要求可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定,告警等级的具体数量可选为5,分别为第一告警等级、第二告警等级、第三告警等级、第四告警等级和第五告警等级,且重要程度和时效要求如下表所示:告警等级重要程度时效要求响应时效要求时效内处理率第一告警等级非常重要7*24实时响应<1小时>=95%第二告警等级重要7*24实时响应<2小时>=95%第三告警等级较重要5*24实时响应<6小时>=90%第四告警等级较低5*24实时响应<8小时>=85%第五告警等级低无要求无要求无要求其中,数据库告警等级的具体确定方式可以为统计出现异常的监控指标的个数,记为第一异常监控指标个数,并查询第一异常监控指标个数与数据库告警等级的映射关系,确定第一异常监控指标个数对应的数据库告警等级,其中,第一异常监控指标个数越高,则数据库告警等级也越高,其重要程度也越高;数据库告警等级的具体确定方式还可以为统计出现异常,且位于预设监控指标组的监控指标的个数,记为第二异常监控指标个数,并查询第二异常监控指标个数与数据库告警等级的映射关系,确定第二异常监控指标个数对应的数据库告警等级,其中,第二异常监控指标个数越高,则数据库告警等级也越高,其重要程度也越高。需要说明的是,异常监控指标个数与数据库告警等级的映射关系可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定。步骤s1032,依据数据库告警等级,确定目标告警方式,并按照目标告警方式,执行对应的数据库告警操作。本实施例中,在确定数据库告警等级之后,依据该数据库告警等级,确定告警方式,即查询数据库告警等级与告警方式的映射关系,将该数据库告警等级对应的告警方式确定为目标告警方式,并按照告警方式,执行对应的数据库告警操作;然后按照该目标告警方式,执行对应的数据库告警操作,即依据各监控指标生成告警信息,并按照该目标告警方式将该告警信息发送给告警联系组。具体地,当目标告警方式为电话告警时,依据预设告警联系人树中各告警联系人的告警通知顺序,给对应的告警联系人拨打告警电话,直至告警电话被接听,即先给预设告警联系人树的根结点所在的告警联系人拨打告警电话,未被接听时,给下一告警联系人拨打告警电话,直到告警电话被接听,在接听过程中,播放该告警信息。本实施例中,本发明基于不同的告警等级,采用不同的告警方式,便于用户快速的知晓数据库发生异常,能够及时解决问题,减少事故损失。此外,本发明实施例还提供一种mysql数据库监控装置。参照图4,图4为本发明mysql数据库监控装置第一实施例的功能模块示意图。本发明mysql数据库监控装置为虚拟装置,存储于图1所示mysql数据库监控设备的存储器1005中,用于实现mysql数据库监控程序的所有功能;当接收到数据库监控请求时,依据所述数据库监控请求中的数据库监控数据,对预设监控模板集进行配置,以获取当前监控模板集;依据所述当前监控模板集中的主机ip登录目标mysql数据库主机,并在所述目标mysql数据库主机中,执行所述当前监控模板集中各监控项的监控sql语句;依据各监控项的监控结果信息中的各监控指标确定是否触发数据库告警指令,并在触发数据库告警指令时,执行数据库告警操作。具体的,本实施例中,所述mysql数据库监控装置包括:配置模块101,用于当接收到数据库监控请求时,依据所述数据库监控请求中的数据库监控数据,对预设监控模板集进行配置,以获取当前监控模板集;执行模块102,用于依据所述当前监控模板集中的主机ip登录目标mysql数据库主机,并在所述目标mysql数据库主机中,执行所述当前监控模板集中各监控项的监控sql语句;告警模块103,用于依据各监控项的监控结果信息中的各监控指标确定是否触发数据库告警指令,并在触发数据库告警指令时,执行数据库告警操作。进一步地,所述配置模块101还用于:从所述数据库监控请求中读取数据库监控数据,并获取预设监控模板集中各监控参数的标识字段;依据各监控参数的标识字段,从所述数据库监控数据中获取各监控参数的对应配置信息;依据各监控参数的对应配置信息,对预设监控模板集中的各监控参数进行配置,以获取当前监控模板集。进一步地,所述执行模块102还用于:从所述当前监控模板集中读取主机ip,并依据所述主机ip,获取目标mysql数据库主机的登录密码;依据所述登录密码,登录对应的目标mysql数据库主机。进一步地,所述告警模块103还用于:判断各监控项的监控结果信息中的各监控指标内是否存在至少一监控指标出现异常;若各监控项的监控结果信息中的各监控指标内存在至少一监控指标出现异常,则触发数据库告警指令。进一步地,所述告警模块103还用于:依据所述监控结果信息中的各监控指标,确定数据库告警等级;依据所述数据库告警等级,确定目标告警方式,并按照所述目标告警方式,执行对应的数据库告警操作。进一步地,所述告警模块103还用于:当所述目标告警方式为电话告警时,依据预设告警联系人树中各告警联系人的告警通知顺序,给对应的告警联系人拨打告警电话,直至所述告警电话被接听。进一步地,所述执行模块102还用于:依据所述当前监控模板集中的主机ip,确定目标mysql数据库主机;判断所述目标mysql数据库主机与本机的防火墙策略是否开通;若所述目标mysql数据库主机本机的防火墙策略未开通,则执行防火墙策略开通操作,直至所述目标mysql数据库主机本机的防火墙策略开通;依据所述主机ip,获取目标mysql数据库主机的登录密码,并依据所述登录密码,登录对应的目标mysql数据库主机。其中,上述mysql数据库监控装置中各个模块的功能实现与上述mysql数据库监控方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。此外,本发明实施例还提供一种可读存储介质。本发明可读存储介质上存储有mysql数据库监控程序,其中所述mysql数据库监控程序被处理器执行时,实现如上述的mysql数据库监控方法的步骤。其中,mysql数据库监控程序被执行时所实现的方法可参照本发明mysql数据库监控方法的各个实施例,此处不再赘述。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,均同理包括在本发明的专利保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1