CN108874642A - Sql性能监控方法、装置、计算机设备及存储介质 - Google Patents
Sql性能监控方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN108874642A CN108874642A CN201810560805.XA CN201810560805A CN108874642A CN 108874642 A CN108874642 A CN 108874642A CN 201810560805 A CN201810560805 A CN 201810560805A CN 108874642 A CN108874642 A CN 108874642A
- Authority
- CN
- China
- Prior art keywords
- database journal
- database
- execution time
- server
- log
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
Abstract
本申请实施例公开了一种SQL性能监控方法、装置、计算机设备及存储介质。该方法包括:获取待监测服务器所产生的至少一条数据库日志;消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间;针对所述至少一条数据库日志中的任一数据库日志,判断所述数据库日志的执行时间是否超出由历史数据库日志数据训练得到基限区间;若数据库日志的执行时间超出基限区间,向待监测服务器所对应的信息接收端发送相应级别的警告信息。该方法实现对SQL执行时间和系统访问量的有效监控,并能实时发现执行时间超出基线阈值的SQL语句和异常访问量以及时提示。
Description
技术领域
本申请涉及性能监控技术领域,尤其涉及一种SQL性能监控方法、装置、计算机设备及存储介质。
背景技术
SQL性能是影响用户体验的一个重要的技术因素,如果用户点开互联网页面需要等待较长时间,会导致用户放弃登录这一页面。目前互联网页面的性能监测,只是在大量的用户都无法正常登录,才会通过增加服务器来增加缓解网页使用的压力,而不能尽早的通过监控服务器性能来对运营商发出警告信息。
发明内容
本申请提供了一种SQL性能监控方法、装置、计算机设备及存储介质,旨在解决现有技术中互联网页面只是在大量的用户都无法正常登录,才会通过增加服务器来增加缓解网页使用的压力,而不能尽早的通过监控服务器性能来对运营商发出警告信息的问题。
第一方面,本申请提供了一种SQL性能监控方法,其包括:
获取待监测服务器所产生的至少一条数据库日志;
消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间;
针对所述至少一条数据库日志中的任一数据库日志,判断所述数据库日志的执行时间是否超出由历史数据库日志数据训练得到基限区间;
若所述数据库日志的执行时间超出基限区间,向所述待监测服务器所对应的信息接收端发送警告信息。
第二方面,本申请提供了一种SQL性能监控装置,其包括:
数据库日志获取单元,用于获取待监测服务器所产生的至少一条数据库日志;
日志消费单元,用于消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间;
判断单元,用于针对所述至少一条数据库日志中的任一数据库日志,判断所述数据库日志的执行时间是否超出由历史数据库日志数据训练得到基限区间;
警告信息发送单元,用于若所述数据库日志的执行时间超出基限区间,向所述待监测服务器所对应的信息接收端发送相应级别的警告信息。
第三方面,本申请又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请提供的任一项所述的SQL性能监控方法。
第四方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任一项所述的SQL性能监控方法。
本申请提供一种SQL性能监控方法、装置、计算机设备及存储介质。该方法通过获取待监测服务器所产生的至少一条数据库日志;消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间;针对所述至少一条数据库日志中的任一数据库日志,判断所述数据库日志的执行时间是否超出由历史数据库日志数据训练得到基限区间;若所述数据库日志的执行时间超出基限区间,向所述待监测服务器所对应的信息接收端发送相应级别的警告信息。该方法实现对SQL执行时间和系统访问量的有效监控,并能实时发现执行时间超出基线阈值的SQL语句和异常访问量以及时提示。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种SQL性能监控方法的示意流程图;
图2为本申请实施例提供的一种SQL性能监控方法的另一示意流程图;
图3为本申请实施例提供的一种SQL性能监控方法的子流程示意图;
图4为本申请实施例提供的一种SQL性能监控方法的另一子流程示意图;
图5为本申请实施例提供的一种SQL性能监控装置的示意性框图;
图6为本申请实施例提供的一种SQL性能监控装置的另一示意性框图;
图7为本申请实施例提供的一种SQL性能监控装置的子单元示意性框图;
图8为本申请实施例提供的一种SQL性能监控装置的另一子单元示意性框图;
图9为本申请实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1是本申请实施例提供的一种SQL性能监控方法的示意流程图。该方法应用于台式电脑、手提电脑、平板电脑等终端中。如图1所示,该方法包括步骤S101~S104。
S101、获取待监测服务器所产生的至少一条数据库日志。
在本实施例中,预先构建好由日志收集服务器(即Flume)、分布式发布订阅消息服务器(即Kafka)、及流式处理框架服务器(即Spark Streaming,简记为SS)的框架系统。
其中,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。Flume提供了从console(控制台)、RPC(Thrift-RPC,即使用接口定义语言的远程过程调用协议)、text(文件)、tail(UNIX tail,tail指令即UNIX中查看文件结尾信息的指令)、syslog(syslog日志系统),支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。
Spark Streaming是Spark(Spark是专为大规模数据处理而设计的快速通用的计算引擎)上的一个流式处理框架,可以面向海量数据实现高吞吐量、高容错的实时计算。SS支持多种类型数据源,包括Kafka、Flume以及TCP sockets等。SS实时接收数据流,并按照一定的时间间隔将连续的数据流拆分成一批批离散的数据集;然后应用诸如map、reduce、join和window等丰富的API进行复杂的数据处理;最后提交给Spark引擎进行运算,得到批量结果数据,因此其也被称为准实时处理系统。而结果也能保存在很多地方,如HDFS,数据库等。另外SS也能和MLlib(机器学习)以及GraphX(图计算)完美融合。
在本实施例中,通过日志收集服务器获取待监测服务器所产生的至少一条数据库日志。所述数据库日志即为SQL全量日志,SQL全量日志中包括数据库服务器集群执行过的所有SQL语句。通过日志收集服务器能高效的收集各取待监测服务器所产生的数据库日志,将所获取的数据库日志发送至分布式发布订阅消息服务器。也即日志收集服务器实时监控写入数据库日志的磁盘,只要有新的数据库日志写入,日志收集服务器就会将数据库日志以消息的形式传递给分布式发布订阅消息服务器。
分布式发布订阅消息服务器接收了消息形式的数据库日志后,立即发送至流式处理框架服务器,由流式处理框架服务器对消息形式的数据库日志进行进一步处理。
在一实施例中,如图2所示,在所述步骤S101之后还包括:
S101a、获取与所述数据库日志对应的连续数据流;
S101b、将所述连续数据流进行拆分,得到离散化数据库日志。
在本实施例中,将由日志收集服务器从待监测服务器收集到数据库日志后,发送至分布式发布订阅消息服务器,在分布式发布订阅消息服务器中将数据库日志转化为连续数据流,分布式发布订阅消息服务器再将连续数据流发送至流式处理框架服务器。在流式处理框架服务器中将所述连续数据流进行拆分,得到离散化数据库日志。只有将数据离散化后,才能由流式处理框架服务器发送至Hive数据库中进行存储,而且所存储的离散化处理的数据能被用于进行SQL性能分析。
S102、消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间。
在一实施例中,如图3所示,在所述步骤S102包括:
S1021、添加分布式发布订阅消息系统与流式处理框架服务器之间的依赖;
S1022、接收所述离散化数据库日志;
S1023、解析所述离散化数据库日志中所包括的预设的指定关键词,获取与所述指定关键词相对应的数据库日志的执行时间。
在本实施例中,通过流式处理框架服务器消费数据库日志,可以确保不丢失数据,且由日志收集服务器所收集的数据库日志可及时被传到分布式发布订阅消息服务器,再由分布式发布订阅消息服务器发送至流式处理框架服务器。
Kafka为一个分布式的消息队列,Spark流操作kafka有两种方式:
第一种是利用接收器(receiver)和Kafka的高层API实现。
第二种是不利用接收器,直接用Kafka底层的API来实现(spark1.3以后引入)。
在本实施例中采用利用接收器的方式,即:
1)添加分布式发布订阅消息系统与流式处理框架服务器之间的依赖;
所添加的依赖如下:spark-streaming-kafka_2.10-1.3.0;
2)流式处理框架服务器接收由分布式发布订阅消息系统输出的离散化数据库日志;
流式处理框架服务器接收数据库日志通过:
import org.apache.spark.streaming.kafka._来实现;
3)解析离散化数据库日志中的executed关键字所对应的执行时间;
例如,数据库日志如下:
[03/01/18 11:56:03:003 CST]http-nio-8080-exec-2 DEBUG sql.Statement:{conn-10001,pstmt-20025}executed.6.503031 millis.
select*from t_paic_life_XXX WHERE 1=1 and create_time>=?order bycreate_time desc limit?,?
其中,executed关键字后的6.503031millis表示该条数据库日志的执行时间为6.503031毫秒。
通过利用接收器的方式,流式处理框架服务器能精确消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间。
S103、针对所述至少一条数据库日志中的任一数据库日志,判断所述数据库日志的执行时间是否超出由历史数据库日志数据训练得到基限区间。
在一实施例中,如图4所示,在所述步骤S103中由历史数据库日志数据训练得到基限区间包括:
S1031、获取多个待监控服务器所发送的数据库日志;
S1032、将多条数据库日志进行汇总,得到汇总后的数据库日志;
S1033、解析所述汇总后的数据库日志中每一数据库日志的执行时间,并获取所述汇总后的数据库日志中多条数据库日志对应的执行时间平均值和执行时间平均值标准差;
S1034、根据执行时间平均值与执行时间平均值标准差,对应设置基限区间。
在一实施例中,在所述步骤S1033中根据获取多条数据库日志对应的执行时间平均值,根据获取多条数据库日志对应的执行时间平均值标准差;其中,μ表示多条数据库日志对应的执行时间平均值,σ表示多条数据库日志对应的执行时间平均值标准差,xi是第i台待监控服务器所上传数据库日志对应的SQL的执行时间,且i的取值范围为[1,N],N为待监控服务器的总台数。
即日志收集服务器采集获取多个待监控服务器所发送数据库日志,并发送至分布式发布订阅消息服务器;分布式发布订阅消息服务器将多条数据库日志汇总后,得到汇总后的数据库日志,并将汇总后的数据库日志发送至流式处理框架服务器;流式处理框架服务器解析汇总后的数据库日志中每一数据库日志的执行时间,并获取汇总后的数据库日志中多条数据库日志对应的执行时间平均值μ和执行时间平均值标准差σ。
其中,在本实施例中可将第一基限区间设置为[μ-σ,μ+σ],将第二基限区间设置为[μ-2σ,μ+2σ],将第三基限区间设置为[μ-3σ,μ+3σ]。
S104、若数据库日志的执行时间超出基限区间,向待监测服务器所对应的信息接收端发送警告信息。
在本实施例中,若数据库日志的执行时间位于第一基限区间内,则不发出任何警告信息;
若数据库日志的执行时间超出了第一基限区间,但又位于第二基限区间内,则发出第一等级警告信息;
若数据库日志的执行时间超出了第二基限区间,但又位于第三基限区间内,则发出第二等级警告信息;
若数据库日志的执行时间超出了第三基限区间,则发出第三等级警告信息。
例如信息接收端接收到第一等级警告信息时需要在半小时内去完成对待监控服务器的维护,信息接收端接收到第二等级警告信息时需要在20分钟内去完成对待监控服务器的维护,信息接收端接收到第三等级警告信息时需要在10分钟内去完成对待监控服务器的维护。通过设置分级别的基限区间,及阶梯式的基限区间,能有效的通过数据库日志对待监控服务器的性能进行监测。
在一实施例中,如图1所示,在所述步骤S104之后还包括:
S105、若数据库日志的执行时间未超出基限区间,按预设的提示周期向对应的信息接收端发送运行正常的提示信息。
在本实施例中,若数据库日志的执行时间未超出基限区间,可设置每一小时向对应的信息接收端发送运行正常的提示信息,以提示各待监测服务器均运行正常。
可见,该方法实现对SQL执行时间和系统访问量的有效监控,并能实时发现执行时间超出基线阈值的SQL语句和异常访问量以及时提示。
本申请实施例还提供一种SQL性能监控装置,该SQL性能监控装置用于执行前述SQL性能监控方法的任一实施例。具体地,请参阅图4,图4是本申请实施例提供的一种SQL性能监控装置的示意性框图。SQL性能监控装置100可以配置于台式电脑、平板电脑、手提电脑、等终端中。
如图5所示,SQL性能监控装置100包括数据库日志获取单元101、日志消费单元102、判断单元103及警告信息发送单元104。
数据库日志获取单元101,用于获取待监测服务器所产生的至少一条数据库日志。
在本实施例中,预先构建好由日志收集服务器(即Flume)、分布式发布订阅消息服务器(即Kafka)、及流式处理框架服务器(即Spark Streaming,简记为SS)的框架系统。
其中,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。Flume提供了从console(控制台)、RPC(Thrift-RPC,即使用接口定义语言的远程过程调用协议)、text(文件)、tail(UNIX tail,tail指令即UNIX中查看文件结尾信息的指令)、syslog(syslog日志系统),支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。
Spark Streaming是Spark(Spark是专为大规模数据处理而设计的快速通用的计算引擎)上的一个流式处理框架,可以面向海量数据实现高吞吐量、高容错的实时计算。SS支持多种类型数据源,包括Kafka、Flume以及TCP sockets等。SS实时接收数据流,并按照一定的时间间隔将连续的数据流拆分成一批批离散的数据集;然后应用诸如map、reduce、join和window等丰富的API进行复杂的数据处理;最后提交给Spark引擎进行运算,得到批量结果数据,因此其也被称为准实时处理系统。而结果也能保存在很多地方,如HDFS,数据库等。另外SS也能和MLlib(机器学习)以及GraphX(图计算)完美融合。
在本实施例中,通过日志收集服务器获取待监测服务器所产生的至少一条数据库日志。所述数据库日志即为SQL全量日志,SQL全量日志中包括数据库服务器集群执行过的所有SQL语句。通过日志收集服务器能高效的收集各取待监测服务器所产生的数据库日志,将所获取的数据库日志发送至分布式发布订阅消息服务器。也即日志收集服务器实时监控写入数据库日志的磁盘,只要有新的数据库日志写入,日志收集服务器就会将数据库日志以消息的形式传递给分布式发布订阅消息服务器。
分布式发布订阅消息服务器接收了消息形式的数据库日志后,立即发送至流式处理框架服务器,由流式处理框架服务器对消息形式的数据库日志进行进一步处理。
在一实施例中,如图6所示,所述SQL性能监控装置100还包括:
连续数据流获取单元101a,用于获取与所述数据库日志对应的连续数据流;
拆分单元101b,用于将所述连续数据流进行拆分,得到离散化数据库日志。
在本实施例中,将由日志收集服务器从待监测服务器收集到数据库日志后,发送至分布式发布订阅消息服务器,在分布式发布订阅消息服务器中将数据库日志转化为连续数据流,分布式发布订阅消息服务器再将连续数据流发送至流式处理框架服务器。在流式处理框架服务器中将所述连续数据流进行拆分,得到离散化数据库日志。只有将数据离散化后,才能由流式处理框架服务器发送至Hive数据库中进行存储,而且所存储的离散化处理的数据能被用于进行SQL性能分析。
日志消费单元102,用于消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间。
在一实施例中,如图7所示,所述日志消费单元102包括:
依赖添加单元1021,用于添加分布式发布订阅消息系统与流式处理框架服务器之间的依赖;
离散日志接收单元1022,用于接收所述离散化数据库日志;
日志解析单元1023,用于解析所述离散化数据库日志中所包括的预设的指定关键词,获取与指定关键词相对应的数据库日志的执行时间。
在本实施例中,通过流式处理框架服务器消费数据库日志,可以确保不丢失数据,且由日志收集服务器所收集的数据库日志可及时被传到分布式发布订阅消息服务器,再由分布式发布订阅消息服务器发送至流式处理框架服务器。
Kafka为一个分布式的消息队列,Spark流操作kafka有两种方式:
第一种是利用接收器(receiver)和Kafka的高层API实现。
第二种是不利用接收器,直接用Kafka底层的API来实现(spark1.3以后引入)。
在本实施例中采用利用接收器的方式,即:
1)添加分布式发布订阅消息系统与流式处理框架服务器之间的依赖;
所添加的依赖如下:spark-streaming-kafka_2.10-1.3.0;
2)流式处理框架服务器接收由分布式发布订阅消息系统输出的离散化数据库日志;
流式处理框架服务器接收数据库日志通过:
import org.apache.spark.streaming.kafka._来实现;
3)解析离散化数据库日志中的executed关键字所对应的执行时间;
例如,数据库日志如下:
[03/01/18 11:56:03:003 CST]http-nio-8080-exec-2 DEBUG sql.Statement:{conn-10001,pstmt-20025}executed.6.503031millis.
select*from t_paic_life_XXX WHERE 1=1 and create_time>=?order bycreate_time desc limit?,?
其中,executed关键字后的6.503031millis表示该条数据库日志的执行时间为6.503031毫秒。
通过利用接收器的方式,流式处理框架服务器能精确消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间。
判断单元103,用于针对所述至少一条数据库日志中的任一数据库日志,判断所述数据库日志的执行时间是否超出由历史数据库日志数据训练得到基限区间。
在一实施例中,如图8所示,所述判断单元103包括:
并行监控单元1031,用于获取多个待监控服务器所发送的数据库日志;
日志汇总单元1032,用于将多条数据库日志进行汇总,得到汇总后的数据库日志;
计算单元1033,用于解析所述汇总后的数据库日志中每一数据库日志的执行时间,并获所述取汇总后的数据库日志中多条数据库日志对应的执行时间平均值和执行时间平均值标准差;
基限区间设置单元1034,用于根据执行时间平均值与执行时间平均值标准差,对应设置基限区间。
在一实施例中,根据获取多条数据库日志对应的执行时间平均值,根据获取多条数据库日志对应的执行时间平均值标准差;其中,μ表示多条数据库日志对应的执行时间平均值,σ表示多条数据库日志对应的执行时间平均值标准差,xi是第i台待监控服务器所上传数据库日志对应的SQL的执行时间,且i的取值范围为[1,N],N为待监控服务器的总台数。
即日志收集服务器采集获取多个待监控服务器所发送数据库日志,并发送至分布式发布订阅消息服务器;分布式发布订阅消息服务器将多条数据库日志汇总后,得到汇总后的数据库日志,并将汇总后的数据库日志发送至流式处理框架服务器;流式处理框架服务器解析汇总后的数据库日志中每一数据库日志的执行时间,并获取汇总后的数据库日志中多条数据库日志对应的执行时间平均值μ和执行时间平均值标准差σ。
其中,在本实施例中可将第一基限区间设置为[μ-σ,μ+σ],将第二基限区间设置为[μ-2σ,μ+2σ],将第三基限区间设置为[μ-3σ,μ+3σ]。
警告信息发送单元104,用于若数据库日志的执行时间超出基限区间,向待监测服务器所对应的信息接收端发送相应级别的警告信息。
在本实施例中,若数据库日志的执行时间位于第一基限区间内,则不发出任何警告信息;
若数据库日志的执行时间超出了第一基限区间,但又位于第二基限区间内,则发出第一等级警告信息;
若数据库日志的执行时间超出了第二基限区间,但又位于第三基限区间内,则发出第二等级警告信息;
若数据库日志的执行时间超出了第三基限区间,则发出第三等级警告信息。
例如信息接收端接收到第一等级警告信息时需要在半小时内去完成对待监控服务器的维护,信息接收端接收到第二等级警告信息时需要在20分钟内去完成对待监控服务器的维护,信息接收端接收到第三等级警告信息时需要在10分钟内去完成对待监控服务器的维护。通过设置分级别的基限区间,及阶梯式的基限区间,能有效的通过数据库日志对待监控服务器的性能进行监测。
在一实施例中,如图5所示,SQL性能监控装置100还包括:
提示信息发送单元105,用于若数据库日志的执行时间未超出基限区间,按预设的提示周期向对应的信息接收端发送运行正常的提示信息。
在本实施例中,若数据库日志的执行时间未超出基限区间,可设置每一小时向对应的信息接收端发送运行正常的提示信息,以提示各待监测服务器均运行正常。
可见,该装置实现对SQL执行时间和系统访问量的有效监控,并能实时发现执行时间超出基线阈值的SQL语句和异常访问量以及时提示。
上述SQL性能监控装置可以实现为一种计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500设备可以是终端。该终端可以是平板电脑、笔记本电脑、台式电脑、个人数字助理等电子设备。
参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种SQL性能监控方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种SQL性能监控方法。
该网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:获取待监测服务器所产生的至少一条数据库日志;消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间;针对所述至少一条数据库日志中的任一数据库日志,判断所述数据库日志的执行时间是否超出由历史数据库日志数据训练得到基限区间;若数据库日志的执行时间超出基限区间,向待监测服务器所对应的信息接收端发送相应级别的警告信息。
在一实施例中,处理器502还执行如下操作:获取与所述数据库日志对应的连续数据流;将所述连续数据流进行拆分,得到离散化数据库日志。
在一实施例中,处理器502还执行如下操作:添加分布式发布订阅消息系统与流式处理框架服务器之间的依赖;接收离散化数据库日志;解析离散化数据库日志中所包括的预设的指定关键词,获取与指定关键词相对应的数据库日志的执行时间。
在一实施例中,处理器502还执行如下操作:获取多个待监控服务器所发送的数据库日志;将多条数据库日志进行汇总,得到汇总后的数据库日志;解析汇总后的数据库日志中每一数据库日志的执行时间,并获取汇总后的数据库日志中多条数据库日志对应的执行时间平均值和执行时间平均值标准差;根据执行时间平均值与执行时间平均值标准差,对应设置基限区间。
在一实施例中,处理器502还执行如下操作:根据获取多条数据库日志对应的执行时间平均值,根据获取多条数据库日志对应的执行时间平均值标准差;其中,μ表示多条数据库日志对应的执行时间平均值,σ表示多条数据库日志对应的执行时间平均值标准差,xi是第i台待监控服务器所上传数据库日志对应的SQL的执行时间,且i的取值范围为[1,N],N为待监控服务器的总台数。
本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请的另一实施例中提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:获取待监测服务器所产生的至少一条数据库日志;消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间;针对所述至少一条数据库日志中的任一数据库日志,判断所述数据库日志的执行时间是否超出由历史数据库日志数据训练得到基限区间;若数据库日志的执行时间超出基限区间,向待监测服务器所对应的信息接收端发送相应级别的警告信息。
在一实施例中,该程序指令被处理器执行时实现:获取与所述数据库日志对应的连续数据流;将所述连续数据流进行拆分,得到离散化数据库日志。
在一实施例中,该程序指令被处理器执行时实现:添加分布式发布订阅消息系统与流式处理框架服务器之间的依赖;接收离散化数据库日志;解析离散化数据库日志中所包括的预设的指定关键词,获取与指定关键词相对应的数据库日志的执行时间。
在一实施例中,该程序指令被处理器执行时实现:获取多个待监控服务器所发送的数据库日志;将多条数据库日志进行汇总,得到汇总后的数据库日志;解析汇总后的数据库日志中每一数据库日志的执行时间,并获取汇总后的数据库日志中多条数据库日志对应的执行时间平均值和执行时间平均值标准差;根据执行时间平均值与执行时间平均值标准差,对应设置基限区间。
在一实施例中,该程序指令被处理器执行时实现:根据获取多条数据库日志对应的执行时间平均值,根据获取多条数据库日志对应的执行时间平均值标准差;其中,μ表示多条数据库日志对应的执行时间平均值,σ表示多条数据库日志对应的执行时间平均值标准差,xi是第i台待监控服务器所上传数据库日志对应的SQL的执行时间,且i的取值范围为[1,N],N为待监控服务器的总台数。
所述存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种SQL性能监控方法,其特征在于,包括:
获取待监测服务器所产生的至少一条数据库日志;
消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间;
针对所述至少一条数据库日志中的任一数据库日志,判断所述数据库日志的执行时间是否超出由历史数据库日志数据训练得到基限区间;
若所述数据库日志的执行时间超出基限区间,向所述待监测服务器所对应的信息接收端发送警告信息。
2.根据权利要求1所述的SQL性能监控方法,其特征在于,所述获取待监测服务器所产生的至少一条数据库日志之后,还包括:
获取与所述数据库日志对应的连续数据流;
将所述连续数据流进行拆分,得到离散化数据库日志。
3.根据权利要求2所述的SQL性能监控方法,其特征在于,所述消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间,包括:
添加分布式发布订阅消息系统与流式处理框架服务器之间的依赖;
接收所述离散化数据库日志;
解析所述离散化数据库日志中所包括的预设的指定关键词,获取与所述指定关键词相对应的数据库日志的执行时间。
4.根据权利要求1所述的SQL性能监控方法,其特征在于,所述由历史数据库日志数据训练得到基限区间,包括:
获取多个待监控服务器所发送的数据库日志;
将多条数据库日志进行汇总,得到汇总后的数据库日志;
解析所述汇总后的数据库日志中每一数据库日志的执行时间,并获取所述汇总后的数据库日志中多条数据库日志对应的执行时间平均值和执行时间平均值标准差;
根据执行时间平均值与执行时间平均值标准差,对应设置基限区间。
5.根据权利要求4所述的SQL性能监控方法,其特征在于,所述获取汇总后的数据库日志中多条数据库日志对应的执行时间平均值和执行时间平均值标准差中,根据获取多条数据库日志对应的执行时间平均值,根据获取多条数据库日志对应的执行时间平均值标准差;其中,μ表示多条数据库日志对应的执行时间平均值,σ表示多条数据库日志对应的执行时间平均值标准差,xi是第i台待监控服务器所上传数据库日志对应的SQL的执行时间,且i的取值范围为[1,N],N为待监控服务器的总台数。
6.一种SQL性能监控装置,其特征在于,包括:
数据库日志获取单元,用于获取待监测服务器所产生的至少一条数据库日志;
日志消费单元,用于消费所述至少一条数据库日志,得到每条数据库日志各自的执行时间;
判断单元,用于针对所述至少一条数据库日志中的任一数据库日志,判断所述数据库日志的执行时间是否超出由历史数据库日志数据训练得到基限区间;
警告信息发送单元,用于若所述数据库日志的执行时间超出基限区间,向待监测服务器所对应的信息接收端发送警告信息。
7.根据权利要求6所述的SQL性能监控装置,其特征在于,还包括:
连续数据流获取单元,用于获取与所述数据库日志对应的连续数据流;
数据拆分单元,用于将所述连续数据流进行拆分,得到离散化数据库日志。
8.根据权利要求7所述的SQL性能监控装置,其特征在于,所述日志消费单元,包括:
依赖添加单元,用于添加分布式发布订阅消息系统与流式处理框架服务器之间的依赖;
离散日志接收单元,用于接收所述离散化数据库日志;
日志解析单元,用于解析所述离散化数据库日志中所包括的预设的指定关键词,获取与指定关键词相对应的数据库日志的执行时间。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的SQL性能监控方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-5任一项所述的SQL性能监控方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810560805.XA CN108874642A (zh) | 2018-05-25 | 2018-05-25 | Sql性能监控方法、装置、计算机设备及存储介质 |
PCT/CN2018/102473 WO2019223155A1 (zh) | 2018-05-25 | 2018-08-27 | Sql性能监控方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810560805.XA CN108874642A (zh) | 2018-05-25 | 2018-05-25 | Sql性能监控方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108874642A true CN108874642A (zh) | 2018-11-23 |
Family
ID=64336918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810560805.XA Pending CN108874642A (zh) | 2018-05-25 | 2018-05-25 | Sql性能监控方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108874642A (zh) |
WO (1) | WO2019223155A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299132A (zh) * | 2018-11-29 | 2019-02-01 | 中国人民财产保险股份有限公司 | Sql数据处理方法、系统以及电子设备 |
CN109359930A (zh) * | 2018-12-20 | 2019-02-19 | 上海德启信息科技有限公司 | 物流作业资源监控方法、装置和计算机设备 |
CN110309110A (zh) * | 2019-05-24 | 2019-10-08 | 深圳壹账通智能科技有限公司 | 一种大数据日志监控方法及装置、存储介质和计算机设备 |
CN110502581A (zh) * | 2019-08-27 | 2019-11-26 | 中国联合网络通信集团有限公司 | 分布式数据库系统监测方法及装置 |
CN110750425A (zh) * | 2019-10-25 | 2020-02-04 | 上海中通吉网络技术有限公司 | 数据库监控方法、装置、系统和存储介质 |
CN110941541A (zh) * | 2019-11-06 | 2020-03-31 | 北京百度网讯科技有限公司 | 对数据流服务进行问题定级的方法以及装置 |
CN111124839A (zh) * | 2019-12-31 | 2020-05-08 | 中国银行股份有限公司 | 分布式日志数据监控方法及装置 |
CN112653567A (zh) * | 2019-10-12 | 2021-04-13 | 上海哔哩哔哩科技有限公司 | 监控方法、装置、计算机设备及存储介质 |
CN112749410A (zh) * | 2021-01-08 | 2021-05-04 | 广州锦行网络科技有限公司 | 一种数据库安全保护方法及装置 |
CN116662059A (zh) * | 2023-07-24 | 2023-08-29 | 上海爱可生信息技术股份有限公司 | MySQL数据库CPU故障诊断及自愈方法及可读存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111563022B (zh) * | 2020-05-12 | 2023-09-05 | 中国民航信息网络股份有限公司 | 一种集中式存储器监控方法和装置 |
CN115599656A (zh) * | 2022-12-12 | 2023-01-13 | 深圳联友科技有限公司(Cn) | 基于Java自定义SQL监控告警实现的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103854064A (zh) * | 2012-11-29 | 2014-06-11 | 中国科学院计算机网络信息中心 | 一种面向特定区域的事件发生风险预测并预警方法 |
CN104572391A (zh) * | 2013-10-16 | 2015-04-29 | 深圳市腾讯计算机系统有限公司 | 监控告警策略配置方法及装置、监控告警方法及装置 |
CN105610647A (zh) * | 2015-12-30 | 2016-05-25 | 华为技术有限公司 | 一种探测业务异常的方法和服务器 |
CN106407085A (zh) * | 2016-11-24 | 2017-02-15 | 中国银行股份有限公司 | 一种性能监控方法及装置 |
US20170083576A1 (en) * | 2015-09-17 | 2017-03-23 | International Business Machines Corporation | Estimating database modification |
CN107038669A (zh) * | 2015-07-28 | 2017-08-11 | 平安科技(深圳)有限公司 | 异常结算数据预警提示系统及方法 |
CN107705149A (zh) * | 2017-09-22 | 2018-02-16 | 平安科技(深圳)有限公司 | 数据实时监控方法、装置、终端设备及存储介质 |
CN108063699A (zh) * | 2017-12-28 | 2018-05-22 | 携程旅游信息技术(上海)有限公司 | 网络性能监控方法、装置、电子设备、存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793526A (zh) * | 2014-02-24 | 2014-05-14 | 浪潮电子信息产业股份有限公司 | 一种监控sql语句性能的方法 |
CN105808413A (zh) * | 2016-03-02 | 2016-07-27 | 上海新炬网络信息技术有限公司 | 基于业务流程可视化的sql性能监控方法 |
-
2018
- 2018-05-25 CN CN201810560805.XA patent/CN108874642A/zh active Pending
- 2018-08-27 WO PCT/CN2018/102473 patent/WO2019223155A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103854064A (zh) * | 2012-11-29 | 2014-06-11 | 中国科学院计算机网络信息中心 | 一种面向特定区域的事件发生风险预测并预警方法 |
CN104572391A (zh) * | 2013-10-16 | 2015-04-29 | 深圳市腾讯计算机系统有限公司 | 监控告警策略配置方法及装置、监控告警方法及装置 |
CN107038669A (zh) * | 2015-07-28 | 2017-08-11 | 平安科技(深圳)有限公司 | 异常结算数据预警提示系统及方法 |
US20170083576A1 (en) * | 2015-09-17 | 2017-03-23 | International Business Machines Corporation | Estimating database modification |
CN105610647A (zh) * | 2015-12-30 | 2016-05-25 | 华为技术有限公司 | 一种探测业务异常的方法和服务器 |
CN106407085A (zh) * | 2016-11-24 | 2017-02-15 | 中国银行股份有限公司 | 一种性能监控方法及装置 |
CN107705149A (zh) * | 2017-09-22 | 2018-02-16 | 平安科技(深圳)有限公司 | 数据实时监控方法、装置、终端设备及存储介质 |
CN108063699A (zh) * | 2017-12-28 | 2018-05-22 | 携程旅游信息技术(上海)有限公司 | 网络性能监控方法、装置、电子设备、存储介质 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299132B (zh) * | 2018-11-29 | 2021-08-06 | 中国人民财产保险股份有限公司 | Sql数据处理方法、系统以及电子设备 |
CN109299132A (zh) * | 2018-11-29 | 2019-02-01 | 中国人民财产保险股份有限公司 | Sql数据处理方法、系统以及电子设备 |
CN109359930A (zh) * | 2018-12-20 | 2019-02-19 | 上海德启信息科技有限公司 | 物流作业资源监控方法、装置和计算机设备 |
CN110309110A (zh) * | 2019-05-24 | 2019-10-08 | 深圳壹账通智能科技有限公司 | 一种大数据日志监控方法及装置、存储介质和计算机设备 |
CN110502581A (zh) * | 2019-08-27 | 2019-11-26 | 中国联合网络通信集团有限公司 | 分布式数据库系统监测方法及装置 |
CN110502581B (zh) * | 2019-08-27 | 2022-07-08 | 中国联合网络通信集团有限公司 | 分布式数据库系统监测方法及装置 |
CN112653567A (zh) * | 2019-10-12 | 2021-04-13 | 上海哔哩哔哩科技有限公司 | 监控方法、装置、计算机设备及存储介质 |
CN110750425A (zh) * | 2019-10-25 | 2020-02-04 | 上海中通吉网络技术有限公司 | 数据库监控方法、装置、系统和存储介质 |
CN110941541A (zh) * | 2019-11-06 | 2020-03-31 | 北京百度网讯科技有限公司 | 对数据流服务进行问题定级的方法以及装置 |
CN111124839A (zh) * | 2019-12-31 | 2020-05-08 | 中国银行股份有限公司 | 分布式日志数据监控方法及装置 |
CN112749410A (zh) * | 2021-01-08 | 2021-05-04 | 广州锦行网络科技有限公司 | 一种数据库安全保护方法及装置 |
CN112749410B (zh) * | 2021-01-08 | 2022-02-25 | 广州锦行网络科技有限公司 | 一种数据库安全保护方法及装置 |
CN116662059A (zh) * | 2023-07-24 | 2023-08-29 | 上海爱可生信息技术股份有限公司 | MySQL数据库CPU故障诊断及自愈方法及可读存储介质 |
CN116662059B (zh) * | 2023-07-24 | 2023-10-24 | 上海爱可生信息技术股份有限公司 | MySQL数据库CPU故障诊断及自愈方法及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019223155A1 (zh) | 2019-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874642A (zh) | Sql性能监控方法、装置、计算机设备及存储介质 | |
CN111913818B (zh) | 一种确定服务间依赖关系的方法及相关装置 | |
WO2020256824A1 (en) | Systems and methods for real-time processing of data streams | |
CN108170538B (zh) | 一种信息处理方法、装置以及电子设备 | |
CN111181770B (zh) | 一种资源分配方法、系统、电子设备和存储介质 | |
WO2017131774A1 (en) | Log event summarization for distributed server system | |
CN109743295A (zh) | 访问阈值调整方法、装置、计算机设备及存储介质 | |
US20120066694A1 (en) | Event overflow handling by coalescing and updating previously-queued event notification | |
CN106470123B (zh) | 日志收集方法、客户端、服务器和电子设备 | |
US20140215055A1 (en) | Monitoring network entities via a central monitoring system | |
CN110532152A (zh) | 一种基于Kapacitor计算引擎的监控告警处理方法及系统 | |
CN108182139B (zh) | 预警方法、装置和系统 | |
CN113157545A (zh) | 业务日志的处理方法、装置、设备及存储介质 | |
CN109685336A (zh) | 催收任务分配方法、装置、计算机设备及存储介质 | |
CN114553682B (zh) | 实时告警方法、系统、计算机设备及存储介质 | |
CN108289041B (zh) | 一种服务器信息的处理方法以及相关装置 | |
CN113064920A (zh) | 基于Flink的实时计算方法、装置、计算机设备及存储介质 | |
CN109889399A (zh) | RocketMQ客户端连接数监控方法、装置、电子设备及存储介质 | |
CN115080363A (zh) | 一种基于业务日志的系统容量评估方法及装置 | |
CN110868330A (zh) | 云平台可划分cpu资源的评估方法、装置及评估系统 | |
CN107682432A (zh) | 基于Spark的数据处理系统和方法 | |
CN110297748A (zh) | 一种定位调用出错的方法、装置和计算机可读存储介质 | |
CN114390015A (zh) | 一种基于物模型的数据推送系统、方法、设备及存储介质 | |
CN109766238B (zh) | 基于session数的运维平台性能监控方法、装置及相关设备 | |
CN106453594A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181123 |