CN109165133A - 数据监控方法、装置、设备及存储介质 - Google Patents
数据监控方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109165133A CN109165133A CN201810709568.9A CN201810709568A CN109165133A CN 109165133 A CN109165133 A CN 109165133A CN 201810709568 A CN201810709568 A CN 201810709568A CN 109165133 A CN109165133 A CN 109165133A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- key value
- service
- time
- 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.)
- Granted
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 556
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000002776 aggregation Effects 0.000 claims abstract description 161
- 238000004220 aggregation Methods 0.000 claims abstract description 161
- 238000012806 monitoring device Methods 0.000 claims abstract description 39
- 238000000605 extraction Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 21
- 230000002194 synthesizing effect Effects 0.000 claims description 9
- 235000019580 granularity Nutrition 0.000 description 77
- 238000012545 processing Methods 0.000 description 32
- 230000004044 response Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000006116 polymerization reaction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种数据监控方法、装置、设备及存储介质。其中,方法包括:根据监控关键值,匹配出与所述监控关键值相等的聚合关键值;获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,其中,所述至少一个监控目标的历史统计量用于确定被监控业务的业务状态。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据监控方法、装置、设备及存储介质。
背景技术.
现有技术中,监控系统通常将被监控业务的业务日志持久化到数据库中,在对被监控业务的业务状态进行监控时,则按照配置文件中设定的配置信息从数据库中获取业务日志,对业务进行分析,从而实现对被监控业务的业务状态进行监控。但是,将业务日志持久化到数据库中需要占据大量的存储空间,浪费存储资源。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种数据监控方法、装置、设备及存储介质。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种数据监控方法,包括:
根据监控关键值,匹配出与所述监控关键值相等的聚合关键值;
获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,其中,所述至少一个监控目标的历史统计量用于确定被监控业务的业务状态。
上述方案中,所述根据监控关键值,匹配出与所述监控关键值相等的聚合关键值之前,还包括:
获取至少一条业务日志,所述业务日志中至少包含日志生成时间;
根据时间粒度和所述日志生成时间得到所述业务日志的聚合关键值;
按照设定统计规则,对具有相同聚合关键值的至少一个业务日志进行统计,得到所述业务日志中所述监控目标的当前统计量;
关联存储所述聚合关键值和对应于所述监控目标的当前统计量。
上述方案中,所述监控关键值的确定过程包括:
获取至少一条业务日志,所述业务日志中至少包含日志生成时间;
根据时间粒度和所述日志生成时间得到所述业务日志的监控关键值;
将所述业务日志的所述监控关键值与存储的监控关键值进行比较,确定所述监控关键值与存储的监控关键值不相同时,存储所述监控关键值。
上述方案中,所述获取至少一条业务日志之前,还包括:
获取至少一条历史记录,得到所述历史记录中记录的业务日志的接收时间和日志生成时间;
根据所述接收时间与所述日志生成时间的时间差,确定接收时延;
所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量之前还包括:根据所述时间粒度确定统计量获取周期,得到对应于所述统计量获取周期的第一统计量提取时刻;根据所述接收时延、所述第一统计量提取时刻,确定对应于所述统计量获取周期的第二统计量提取时刻;
所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,包括:在所述第二统计量提取时刻,获取所述监控目标的历史统计量。
上述方案中,所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量之后,还包括:
根据所述监控关键值和设定的第一比对参数,确定第一监控历史关键值;
匹配出与所述第一监控历史关键值相等的第一聚合比对关键值,获取与所述第一聚合比对关键值关联存储的所述监控目标的历史比对统计量;
确定所述历史统计量与所述历史比对统计量的比值超过设定比值时,发出报警信息。
上述方案中,所述方法还包括:
根据所述监控关键值和设定的第二比对参数,确定第二监控历史关键值;
匹配出与所述第二监控历史关键值相等的第二聚合比对关键值,获取与所述第二聚合比对关键值关联存储的指定监控目标的监控统计量;
根据所述指定监控目标的所述监控统计量,调整时间粒度。
上述方案中,所述业务日志中包含业务编号、接口编号、日志生成时间;
所述根据时间粒度和所述日志生成时间得到所述业务日志的聚合关键值,包括:根据所述时间粒度、所述业务编号、所述接口编号和所述日志生成时间合成所述业务日志的聚合关键值;
所述根据时间粒度和所述日志生成时间得到所述业务日志的监控关键值,包括:根据所述时间粒度、所述业务编号、所述接口编号和所述日志生成时间合成所述业务日志的监控关键值;
所述被监控业务具有至少两个接口,所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量之后,还包括:
针对每个接口,获取对应于相应接口的监控目标的历史统计量;
根据所述至少两个接口对应的监控目标的历史统计量,确定对应于所述被监控业务的监控对象的监控量。
本发明实施例还提供了一种数据监控装置,包括:
关键值匹配模块,用于根据监控关键值,匹配出与所述监控关键值相等的聚合关键值;
统计量获取模块,用于获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,其中,所述至少一个监控目标的历史统计量用于确定被监控业务的业务状态。
本发明实施例又提供了一种数据监控设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;
其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。
本发明实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
本发明实施例提供的数据监控方法、装置、设备及存储介质,采用监控关键值匹配出与监控关键值相等的聚合关键值,从而获取与聚合关键值关联存储的监控目标的历史统计量,实现对被监控业务的业务状态进行监控。由于只需对被监控业务的监控目标的统计量进行存储,比及对整个业务日志进行存储,可明显减少需要存储的数据量,节约了存储资源。
附图说明
图1为本发明实施例提供的数据监控方法流程图;
图2为本发明应用实施例提供的数据监控方法流程图;
图3为本发明实施例提供的业务监控架构图;
图4为本发明实施例提供的监控参数配置过程示意图;
图5为本发明实施例提供的数据监控过程示意图;
图6为本发明实施例提供的数据监控装置的结构示意图;
图7为本发明实施例提供的数据监控设备的硬件结构示意图。
具体实施方式
下面结合附图及实施例对本发明再作进一步详细的描述。
本发明实施例提供一种数据监控方法,如图1所述,该方法包括:
步骤101:根据监控关键值,匹配出与所述监控关键值相等的聚合关键值;
步骤102:获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,其中,所述至少一个监控目标的历史统计量用于确定被监控业务的业务状态。
本实施例中,采用监控关键值匹配出与监控关键值相等的聚合关键值,从而获取与聚合关键值关联存储的监控目标的历史统计量,实现对监控目标进行监控。其中,监控目标是指被监控业务中需要被监控的具体业务参数,如响应时间等。由于只需对与聚合关键值关联存储的监控目标的统计量进行存储,相比现有技术中的对完整业务日志进行存储,可明显减少需要存储的数据量,节约了存储资源。
在一些实施例中,所述监控关键值的确定过程包括:
获取至少一条业务日志,所述业务日志中至少包含日志生成时间;
根据时间粒度和所述日志生成时间得到所述业务日志的监控关键值;
将所述业务日志的所述监控关键值与存储的监控关键值进行比较,确定所述监控关键值与存储的监控关键值不相同时,存储所述监控关键值。
这里,可以根据业务日志对被监控业务的业务状态进行监控。时间粒度为监控被监控业务的业务状态的监控周期,时间粒度越小,则对业务状态进行监控的实时性越高。对业务日志进行监控时,首先,根据时间粒度和对应于业务日志的日志生成时间分别得到各业务日志的监控关键值;然后,对所获得的监控关键值进行选择存储,具体地,先存储一个监控关键值,然后将其它监控关键值与存储的监控关键值进行比较,若相同则剔除,若不相同则存储;满足设定条件时,如当前监控周期结束后,或达到第二设定时长时、或获取的业务日志的数量已达到第二设定数量,将存储的监控关键值与存储的聚合关键值进行匹配,确定已存储有与所述监控关键值相等的聚合关键值时,获取与聚合关键值关联的监控目标的历史统计量,其中,所述监控目标为业务日志中记录的能够用于确定业务状态的信息。
得到业务日志的监控关键值时,具体可以包括:基于时间粒度确定监控业务日志的起始时间,从该起始时间开始的监控周期内,对日志生成时间在所述监控周期内的各业务日志的日志生成时间进行归一处理,从而使得起始时间确定的一个时间粒度内的各业务日志具有相同的监控关键值。具体地,若监控目标分别为业务响应时间和业务接口返回码,则确定已存储有与所述监控关键值相等的聚合关键值时,获取与聚合关键值关联的业务响应时间的历史统计量和业务接口返回码的历史统计量。需要说明的是,并不需要将业务日志中的所有用于标识业务状态的信息都设定为监控目标,监控目标可以结合用户的监控需求进行设定,举例来说,若业务甲的业务日志中记录的能够用于确定业务状态的信息包括业务响应时间和业务接口返回码,而用户的监控需求为只希望对业务响应时间进行监控,则此时,监控目标为业务响应时间。
另外,更加具体地,对业务日志进行监控时,若时间粒度为一分钟,且获取了3条业务日志,分别为A、B、C,均针对X业务Y接口,即业务编号为X,接口编号为Y,其中,A的日志生成时间为20170930113623(年月日时分秒),B的日志生成时间为20170930113640,C的日志生成时间为20170930113658,则在对业务日志进行监控时,首先,根据时间粒度和A的日志生成时间得到A的监控关键值,具体为,在A的日志生成时间20170930113623上,进行归一处理、即切掉秒信息得到时间戳20170930113600,此时,A的监控关键值为XY20170930113600,以此类推,得到B、C的监控关键值均为XY20170930113600;然后,对所获得的3个监控关键值进行选择存储,可以先存储A的监控关键值,然后分别将B的监控关键值和C的监控关键值与存储的A的监控关键值进行比较,这里,由于得到的3个监控关键值相等,故存储的监控关键值为XY20170930113600;最后,根据存储的监控关键值XY20170930113600与存储的聚合关键值进行匹配,确定已存储有聚合关键值XY20170930113600时,获取与聚合关键值XY20170930113600关联存储的监控目标的历史统计量。需要说明的是,所述时间戳为对日志生成时间进行归一处理后得到的时间;监控关键值和聚合关键值的存储方式和存储路径可以不一致,具体地,可以对监控关键值采用缓存方式存储,以及可以采用持久化存储方式对聚合关键值及其关联的监控目标的历史统计量进行存储。
从上面的描述可以看出,同一监控周期中的监控关键值相同。因此,若存储的监控关键值不同,则表明所获取的业务日志来自不同的监控周期,此时,可以根据存储的不同的监控关键值分别与存储的聚合关键值进行匹配,从而得到对应于不同监控关键值的监控目标的历史统计量。
另外,实际应用中,为了保证对业务状态进行监控的实时性,获取用于获得监控关键值的业务日志的周期通常小于或等于监控周期,具体地,所述获取至少一条业务日志,包括:获取第二设定数量的业务日志,或以第二设定时长为周期获取业务日志。这里,若一个监控周期为1分钟,每个监控周期中,被监控业务所产生的业务日志的数量较大,则可以以达到第二设定数量为周期获取业务日志,如,每次获取50条业务日志;另外,也可以以第二设定时长为周期获取业务日志,如,每20秒获取一次业务日志。
本实施例中,获取用于获得监控关键值的业务日志的周期通常小于或等于监控周期,可以及时根据业务日志的监控关键值从数据库中获取被监控业务的监控目标的历史统计量,即,可以及时获知业务状态,从而实现在被监控业务处于非正常状态时,及时发出报警信息。其中,具体地,所述获取所述数据库中与所述聚合关键值关联的监控目标的历史统计量之后,还包括:
确定所述监控目标的历史统计量超过设定上限监控阈值时,发出报警信息。
这里,若在监控周期的中间时刻或结束时刻获知被监控业务的监控目标的历史统计量超过设定上限监控阈值,则表明被监控业务在该时刻已处于非正常状态,可以及时发出报警信息。
本实施例中,可以根据业务日志获取监控关键值。同时,可以根据业务日志获取聚合关键值,实际上,根据业务日志获取监控关键值和根据业务日志获取聚合关键值是两个并行的过程。具体地,在一些实施例中,所述根据监控关键值,匹配出与所述监控关键值相等的聚合关键值之前,还包括:
获取至少一条业务日志,所述业务日志中至少包含日志生成时间;
根据时间粒度和所述日志生成时间得到所述业务日志的聚合关键值;
按照设定统计规则,对具有相同聚合关键值的至少一个业务日志进行统计,得到所述业务日志中所述监控目标的当前统计量;
关联存储所述聚合关键值和对应于所述监控目标的当前统计量。
这里,在获取到业务日志时,首先,根据时间粒度和对应于业务日志的日志生成时间分别得到各业务日志的聚合关键值。具体地,若时间粒度为1分钟,且获取了3条业务日志,分别为A、B、C,均针对X业务Y接口,即业务编号为X,接口编号为Y,其中,A的日志生成时间为20170930113623(年月日时分秒),B的日志生成时间为20170930113640,C的日志生成时间为20170930113658,则在获取对应于业务日志的聚合关键值时,先根据时间粒度和A的日志生成时间得到A的聚合关键值,具体为,在A的日志生成时间20170930113623上,进行归一处理、即切掉秒信息得到20170930113600,得到A的聚合关键值为XY20170930113600;以此类推,得到B、C的聚合关键值均为XY20170930113600。从上面的描述可以看出,同一监控周期中,同一业务且同一接口下,业务日志的聚合关键值相同。
然后,按照设定统计规则,对具有相同聚合关键值的至少一个业务日志进行统计,得到所述业务日志中所述监控目标的当前统计量,举例来说,若有3条业务日志的聚合关键值相同,则对这3条业务日志进行统计,另外,若这3条业务日志中,监控目标为业务响应时间和业务接口返回码,则统计过程中,可以将3条业务日志中的业务响应时间的均值作为业务响应时间的当前统计量,以及可以将存在业务接口返回码的业务日志的数量与当前获取到的业务日志的数量(这里为3)的比值(或称接口返回码占比),作为业务接口返回码的当前统计量。需要说明的是,针对不同的监控目标,可以设定不同的统计方式,以获得能够对被监控业务进行有效监控的监控目标的统计量。
最后,在获取到具有相同聚合关键值的各业务日志中监控目标的当前统计量时,对聚合关键值和对应于所述监控目标的当前统计量进行关联存储。
另外,为了提高对业务状态进行监控的实时性,获取用于获得聚合关键值的业务日志的周期通常小于或等于监控周期,具体地,所述获取至少一条所述业务日志,包括:获取第一设定数量的业务日志,或以第一设定时长为周期获取业务日志。
这里,若一个监控周期为1分钟,每个监控周期中,被监控业务所产生的业务日志的数量较大,则可以以达到第一设定数量为周期获取业务日志,如,每次获取20条业务日志;另外,也可以以第一设定时长为周期获取业务日志,如,每10秒获取一次业务日志。
本实施例中,获取用于获得聚合关键值的业务日志的周期通常小于或等于监控周期,可以及时将聚合关键值和对应于监控目标的当前统计量进行存储。有助于及时根据监控关键值从已存储的聚合关键值中,匹配出与所述监控关键值相等的聚合关键值,从而获取与聚合关键值关联的监控目标的历史统计量,即,可以及时获知业务状态,从而实现在被监控业务处于非正常状态时,及时发出报警信息。
本实施例中,由于获取用于获得聚合关键值的业务日志的周期通常小于或等于监控周期,也就是说,一个监控周期的业务日志可能需要分多次获取,此外,根据前述描述,同一监控周期中的聚合关键值相同,因此,一个监控周期的业务日志虽是分多次获取,但所对应的聚合关键值相同。
基于上述描述,在一些实施例中,所述关联存储所述聚合关键值和对应于所述监控目标的当前统计量之前,还包括:
将所述业务日志的聚合关键值与存储的聚合关键值进行比较,确定已存储有所述聚合关键值时,获取已存储的与所述聚合关键值关联的所述监控目标的历史统计量;
根据所述历史统计量,对所述当前统计量进行更新。
这里,通过将当前的聚合关键值与已存储的聚合关键值进行比较,若已存储的聚合关键值中,存在与当前的聚合关键值相等的聚合关键值时,则获取已存储的与聚合关键值关联的监控目标的历史统计量,然后根据历史统计量对当前统计量进行更新。其中,针对不同的监控目标,根据历史统计量对当前统计量进行更新的方式不同,具体地,针对同一个监控目标,更新的方式与前述的对监控目标的统计方式相同。
另外,为了确保总是可以根据监控关键值匹配出与所述监控关键值相等的聚合关键值,获取用于获得聚合关键值的业务日志的周期通常比获取用于获得监控关键值的业务日志的周期短。
需要说明的是,本实施例中,从获取到的业务日志到关联存储所述聚合关键值和对应于所述监控目标的当前统计量的处理过程,从获取到的业务日志到获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量的处理过程,上述两个处理过程为两个并行的处理过程,后面的处理过程不需要等待前面的处理过程的处理结果,有助于提高对被监控业务的业务状态进行监控的实时性。
在一些实施例中,所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量之前还包括:根据时间粒度确定统计量获取周期,得到对应于所述统计量获取周期的第一统计量提取时刻;
所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,包括:在所述第一统计量提取时刻,获取所述监控目标的历史统计量。
这里,为了确保对业务状态进行准确监控,需要得到对应于完整监控周期的监控目标的历史统计量。另外,由于本实施例中的聚合关键值和监控关键值的生成均是利用了业务日志的日志生成时间,故,以统计量获取周期对统计量进行提取,其中,每一个统计量获取周期的起点为单位时间的0时刻,终点为该单位时间的末时刻,具体地,若监控周期为一分钟,则统计量获取周期的起点为每一分钟的第0秒,终点为该分钟的第60秒。此外,每个统计量获取周期,具有一个第一统计量提取时刻,在所述第一统计量提取时刻,获取监控目标的历史统计量。这里,可以设定每个统计量获取周期的第一统计量提取时刻为统计量获取周期的终点,举例来说,若监控周期为一分钟,则可以在第60秒获取所述监控目标的历史统计量。如此,可以尽可能完整地提取到一个监控周期的监控目标的历史统计量,实现对业务状态准确监控。
但是,由于业务日志从产生到被接收,在传输的过程中需要耗费一定的时间,即,存在接收时延,也就是说,若在上述确定的第一统计量提取时刻对监控目标的历史统计量进行提取,会因为接收时延,导致监控周期中日志生成时间靠后的业务日志里的监控目标的数据没有被统计上,即,不能获得对应于完整监控周期的监控目标的历史统计量。
因此,针对存在接收时延的情况,在一些实施例中,所述获取至少一条业务日志之前,还包括:
获取至少一条历史记录,得到所述历史记录中记录的业务日志的接收时间和日志生成时间;
根据所述接收时间与所述日志生成时间的时间差,确定接收时延;
所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量之前还包括:根据所述时间粒度确定统计量获取周期,得到对应于所述统计量获取周期的第一统计量提取时刻;根据所述接收时延、所述第一统计量提取时刻,确定对应于所述统计量获取周期的第二统计量提取时刻;
所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,包括:在所述第二统计量提取时刻,获取所述监控目标的历史统计量。
这里,根据接收时延,对对应于统计量获取周期的第一统计量提取时刻进行修正。具体地,首先,获取多条记录有业务日志的接收时间和日志生成时间的历史记录,统计每条历史记录中接收时间与日志生成时间的时间差,将所获得的各时间差的均值确定为接收时延;然后,针对每个统计量获取周期,以第一统计量提取时刻为基准,加上接收时延,得到对应于相应统计量获取周期的第二统计量提取时刻;最后,在第二统计量提取时刻,获取监控目标的历史统计量。本实施例中,由于对接收时延进行了考虑,可以获得对应于完整监控周期的监控目标的历史统计量。
需要说明的是,获得对应于完整监控周期的监控目标的历史统计量,可以更准确地获知当前监控周期中被监控业务是否处于非正常状态,具体地,若未对监控周期中监控目标的历史统计量统计完全,可能存在因为一部分数据漏统计而被视为正常的情况,此时原本超过设定上限监控阈值的情况被认为正常,未能实现对业务状态进行准确监控,可能导致错过对被监控业务进行相关处理的最佳时机。
另外,在一些实施例中,在获得对应于完整监控周期的监控目标的历史统计量后,若监控目标的历史统计量低于设定下限监控阈值,则表明业务可能处于不正常状态,具体地,所述获取所述监控目标的历史统计量之后,还包括:
确定所述监控目标的历史统计量低于设定下限监控阈值时,发出报警信息。
在一些实施例中,可以根据所获得的对应于完整监控周期的监控目标的历史统计量,准确获知被监控业务的波动情况。具体地,所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量之后,还包括:
根据所述监控关键值和设定的第一比对参数,确定第一监控历史关键值;
匹配出与所述第一监控历史关键值相等的第一聚合比对关键值,获取与所述第一聚合比对关键值关联存储的所述监控目标的历史比对统计量。
其中,所述第一比对参数用于设定历史监控周期,具体地,若第一比对参数为前一天,则设定的历史监控周期为前一天的与当前监控周期相同的时间点。举例来说,若当前监控周期为2017年9月30日11时36分,监控关键值的时间戳为20170930113600,设定的第一比对参数为前一天,则可以确定历史监控周期为2017年9月29日11时36分,那么,可以得到对应于历史监控周期的第一监控历史关键值的时间戳20170929113600。在获得第一监控历史关键值之后,将第一监控历史关键值与已存储的聚合关键值进行匹配,得到与第一监控历史关键值相等的第一聚合比对关键值的时间戳20170929113600,并获取与第一聚合比对关键值的时间戳20170929113600关联的监控目标的历史比对统计量,即,获得历史监控周期中监控目标的历史比对统计量。本实施例中,通过当前监控周期中监控目标的历史统计量和历史监控周期中监控目标的历史比对统计量,可以获知被监控业务的波动情况。其中,所述历史监控周期与当前监控周期的时间长度相同。
此外,在一些实施例中,所述获取与所述第一聚合比对关键值关联存储的所述监控目标的历史比对统计量之后,还包括:
确定所述历史统计量与所述历史比对统计量的比值超过设定比值时,发出报警信息。
这里,历史统计量与历史比对统计量的比值,最能反映被监控业务的监控目标的波动情况,也即是,最能反映被监控业务的波动情况。另外,若第一比对参数设定的历史监控周期为至少两个,则可以采用当前监控周期对应的历史统计量与至少两个历史监控周期对应的至少两个历史比对统计量的均值的比值,衡量被监控业务的波动情况。举例来说,若有三个历史监控周期,分别为周期Z1、周期Z2、周期Z3,对于同一个监控目标,当前监控周期的历史统计量为C,周期Z1的历史比对统计量为C1,周期Z2的历史比对统计量为C2,周期Z3的历史比对统计量为C3,则,可以采用比值C/(C1+C2+C3)来衡量被监控业务的波动情况。
实际应用中,由于时间粒度为对被监控业务进行监控的监控周期,另外,又由于同一业务在不同的时段产生的业务日志的数量也具有较大区别,因此,若在产生业务日志密集的时段和产生业务日志稀疏的时段,均以同样的监控周期对被监控业务进行监控,则显然不够灵活。故而,在一些实施例中,根据所述监控关键值和设定的第二比对参数,确定第二监控历史关键值;
匹配出与所述第二监控历史关键值相等的第二聚合比对关键值,获取与所述第二聚合比对关键值关联存储的指定监控目标的监控统计量;
根据所述指定监控目标的所述监控统计量,调整时间粒度。
其中,所述第二比对参数用于设定历史监控周期,具体地,若第二比对参数为前一天,则设定的历史监控周期为前一天的与当前监控周期相同的时间点。举例来说,若当前监控周期为2017年9月30日11时36分,监控关键值的时间戳为20170930113600,设定的第二比对参数为前一天,则可以确定历史监控周期为2017年9月29日11时36分,那么,可以得到对应于历史监控周期的第二监控历史关键值的时间戳20170929113600。在获得第二监控历史关键值之后,将第二监控历史关键值与已存储的聚合关键值进行匹配,得到与第二监控历史关键值相等的第二聚合比对关键值的时间戳20170929113600,并获取与第二聚合比对关键值的时间戳20170929113600关联的指定监控目标的监控统计量,即,获得历史监控周期中指定监控目标的监控统计量。本实施例中,根据历史监控周期中指定监控目标的监控统计量,确定是否需要对当前时间点的(如,当前的11时36分)的时间粒度进行调整。其中,指定监控目标可以是业务请求,所述指定监控目标的监控统计量可以是业务请求量。另外,根据历史监控周期中指定监控目标的监控统计量对时间粒度进行调整时,具体地,所述根据所述指定监控目标的所述监控统计量,调整所述时间粒度,包括:
确定所述指定监控目标的所述监控统计量大于第一设定量值,减小所述时间粒度;
确定所述指定监控目标的所述监控统计量小于第二设定量值,增大所述时间粒度。
这里,若指定监控目标的监控统计量大于第一设定量值,则减小时间粒度,提高监控频率,可以提升预警的精确度;若指定监控目标的监控统计量小于第二设定量值,则增大时间粒度,降低监控频率,减少处理资源的耗费。
需要说明的是,若第二比对参数设定的历史监控周期为有至少两个,则可以根据至少两个历史监控周期对应的至少两个指定监控目标的监控统计量的均值,判断是否需要对时间粒度进行调整,具体地,若至少两个指定监控目标的监控统计量的均值大于第一设定量值,则减小时间粒度;若至少两个指定监控目标的监控统计量的均值小于第二设定量值,则增大时间粒度。
在一些实施例中,所述业务日志中包含业务编号、接口编号、日志生成时间;
所述根据时间粒度和所述日志生成时间得到所述业务日志的聚合关键值,包括:根据所述时间粒度、所述业务编号、所述接口编号和所述日志生成时间合成所述业务日志的聚合关键值;
所述根据时间粒度和所述日志生成时间得到所述业务日志的监控关键值,包括:根据所述时间粒度、所述业务编号、所述接口编号和所述日志生成时间合成所述业务日志的监控关键值。
这里,由于实际应用中,可以有多个被监控业务,且每个被监控业务的接口数量不止一个,故将业务编号、接口编号与时间粒度、日志生成时间共同合成监控关键值或聚合关键值。具体地,以聚合关键值的合成为例,若业务日志中记录的业务编号为Game,接口编号为2001,时间粒度为1分钟,日志生成时间为20170930113623(年月日时分秒),则合成后的对应于业务日志的聚合关键值为Game:2001:20170930113600,即,聚合关键值的格式为,业务编号:接口编号:时间戳,另外,本实施例中,监控关键值的合成方式与聚合关键值的合成方式相同,这里不再赘述。
另外,实际应用中,对于多业务、多接口的情况,为了提高对业务日志处理的实时性,可以根据业务日志的业务编号、接口编号、日志生成时间对业务日志进行分流,以使得相同业务编号、相同接口编号、相同时间粒度的业务日志为一处理分支,如此,可实现同时对多个处理分支并行处理,可加快处理速度,实现对多个被监控业务的业务状态进行实时监控。
在一些实施例中,所述被监控业务具有至少两个接口,所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量之后,还包括:
针对每个接口,获取对应于相应接口的监控目标的历史统计量;
根据所述至少两个接口对应的监控目标的历史统计量,确定对应于所述被监控业务的监控对象的监控量。
这里,由于一个业务通常具有多个接口,不同的接口实现不同的功能,且多个接口间相互协作以实现业务的整体功能,也就是说,对被监控业务的业务状态进行监控时,需要对每个接口的情况加以考虑。本实施例中,被监控业务具有至少两个接口时,通过对各接口的监控目标的历史统计量进行综合处理确定对应于所述被监控业务的监控对象的监控量,从而确定被监控业务的业务状态。具体地,若被监控业务具有两个接口,分别为接口J1和接口J2,其中,接口J1具有请求接收功能,接口J2具有请求处理功能,则接口J1的监控目标可以包括每秒查询率(Queries Per Second,QPS),接口J2的监控目标可以包括每秒事务处理量(Transactions Per Second,TPS),被监控业务的监控对象则可以包括TPS、QPS、QPS/TPS。
另外,本实施例中,除了上述提及的TPS、QPS、QPS/TPS,被监控业务的监控对象还可以包括业务响应时间、各接口请求量占比、接口返回码占比等。
此外,在一些实施例中,所述根据所述至少一个聚合关键值的关联监控目标的历史统计量确定对应于所述被监控业务的监控对象的监控量之后,还包括:
确定所述监控对象的所述监控量超过设定监控指标时,发出报警信息。
以上各步骤的处理具体可由数据监控设备来完成,所述数据监控设备可以是服务器。
下面结合应用实施例对本发明再作详细的描述。
本应用实施例中,对被监控业务进行监控的过程,如图2所示,包括如下步骤:
步骤201:获取业务日志;这里,如图3所示,被监控业务产生的业务日志会被实时写入消息队列RocketMQ,数据监控设备可以采用与RocketMQ同等数量的消息队列消费者RocketmqConsumer提取RocketMQ中的业务日志,以实现并发、高效地提取RocketMQ中的业务日志,从而对被监控业务进行实时监控。其中,所获得的业务日志为遵循设定格式的业务日志,且所述遵循设定格式的业务日志中,至少包括,业务编号、业务接口、日志生成时间。其中,业务编号,是业务的标识,用来标识各个业务;接口编号,是业务的各个接口的标识,用来标识业务的接口;日志生成时间,为业务日志被生成的时间。
步骤202:获取与被监控业务对应的监控参数;这里,可以对不同的被监控业务配置不同的监控参数。具体地,监控参数可以基于用户输入的配置信息获得。可以配置的监控参数主要有:业务编号、接口编号、时间粒度和监控目标、如监控对象及对应于监控对象的监控指标。其中,时间粒度,是对业务日志进行聚合的时间颗粒度,为对被监控业务进行监控的监控周期,具体地,若时间粒度是1秒,则以将日志生成时间属于同一秒的业务日志进行聚合,另外,时间粒度越小,则实时性越高;监控对象,是被监控业务中需要被监控的内容,具体可以为业务响应时间、TPS、QPS、QPS/TPS、各接口请求量占比、接口返回码占比等。另外,若需要添加新的被监控业务,则用户只需输入针对新业务的配置信息,这里,用户输入的新的配置信息可即时生效,即,数据监控设备可以即时读取配置信息,然后根据配置信息生成新业务的监控参数,实现对新业务进行及时监控,另外,由于用户输入的新的配置信息可即时生效,新业务的加入不会对其它正在被监控的业务产生影响,比及现有技术中,需重启整个业务监控系统方能读取修改后的配置信息,显然更加灵活。
另外,用户输入新增配置信息或修改配置信息,均是在设定平台进行输入,本实施中,如图3所示地,用户可通过配置中心Web Management System输入配置信息,具体地,如图4所示地,用户可以在Web Management System的相应配置页面输入配置信息。
步骤203:对业务日志进行分流;这里,可以先按照业务的维度对业务日志进行分流,再按照接口的维度对业务日志进行分流,最后按照时间粒度对业务日志进行分流。这里,可以进行三层分流,在计算资源充足的情况下,甚至可以对每一条业务日志用单独的进程或线程去处理,从而实现对多个被监控业务的业务状态进行实时监控。
另外,按照时间粒度对业务日志进行分流时,由于每条业务日志会记录有日志生成时间的时间戳,故可以通过时间戳来对业务日志进行分流。具体地,如图5所示,先通过时间戳使得同一时间粒度中业务日志的key值相同,然后将具有相同key值的业务日志流向同一个关键值处理单元KeyHandle,其中,所述关键值处理单元为数据监控设备的关键值处理单元,用于对相同key值的业务日志进行分流处理。
另外,上述的通过时间戳使得同一时间粒度中同一业务同一接口下业务日志的key值相同,具体方式可以为:对每条业务日志的时间戳进行切分,然后,将(业务编号+接口编号+切分后的时间戳)作为业务日志的key值。举例来说,如果时间粒度是1分钟,那么对于时间戳“20170930113623”(年月时分秒)可以切掉秒信息得到归一处理后的时间戳20170930113600,然后将Game:2001:20170930113600(业务编号:接口编号:时间戳)作为业务日志的key值。
此外,由于业务日志的key值中包含业务编号、接口编号、时间片信息,格式简洁,故可以根据key值来对业务日志进行分流。
步骤204:对业务日志进行聚合;如图5所示地,数据监控设备的数据聚合单元Aggregator对同一时间粒度(key值相同)的业务日志进行聚合,这里,所述对同一时间粒度的业务日志进行聚合,为把具有相同key值的业务日志汇聚到一起,然后对业务日志中的监控目标进行累加或求平均处理,如,把具有相同key值的业务日志汇聚到一起,然后算出具有相同key值的业务日志的总量。另外,如图3或图5所示地,会将聚合结果存储到数据库时间粒度中,其中,时间粒度为通用的基于分布式文件存储的数据库。需要说明的是,对应每一个时间粒度只会存储一条数据到数据库中,且该条数据中存储有被监控业务在时间粒度内的各监控目标的统计量值。这里,采用业务日志的key值对业务日志进行聚合,则业务日志的key值即为聚合关键值。
另外,如图3所示,还可以把聚合结果输出到搜索服务器Elasticsearch中,具体地,Elasticsearch用来和Kibana配合进行前端展示。其中,Kibana为通用的分析与可视化平台。图3中,sherlock为数据监控设备,从图3可知,本实施例采用storm框架实现对被监控业务进行监控,其中,所述storm为通用的流式处理框架,每个storm topology为数据监控设备的一个处理分支,如图5所示地,每个storm topology处理分支可实现数据监控设备的关键值处理单元KeyHandle的功能、数据监控设备的数据聚合单元Aggregator的功能、数据监控设备的报警监控单元BizMonitor的功能。
本实施例中,通过将聚合结果进行存储,而非对所有的业务日志进行存储,减少了持久化需要存储的数据量,可以减少监控时进行查询的数据量,大大提高了业务数据查询的效率,从空间和时间上都得到了最大化的解放。
步骤205:根据监控关键值对被监控业务进行监控;如图5所示,数据监控设备的报警监控单元BizMonitor,根据接收到的业务日志对被监控业务进行监控。实际上,报警监控单元BizMonitor和前述的数据监控设备的数据聚合单元Aggregator所接收到的业务日志均是经过分流后的业务日志,且数据监控设备是通过广播的方式,将分流后的业务日志发送给报警监控单元和数据聚合单元,也就是说,报警监控单元和数据聚合单元可以同时获取到业务日志,如此,能够让数据存储和业务报警同时进行,达到最大化的实时性。
另外,数据监控设备的报警监控单元接收到的业务日志后,获取业务日志的key值,确定为监控关键值,然后,根据监控关键值从数据库中获取当前监控周期中监控目标的历史统计量,在当前监控周期中监控目标的历史统计量超过设定上限阈值时,发出报警信息;另外,将当前监控周期中监控目标的历史统计量与历史监控周期中监控目标的历史比对统计量进行对比,且在二者的比值超过设定比值时,发出报警信息。也就是说,本实施例中,分两个维度来对被监控业务进行实时监控,第一个监控维度是,判断当前监控周期的监控目标的历史统计量是否超过了设定上限阈值;第二个监控维度是,将当前监控周期中监控目标的历史统计量与历史监控周期中监控目标的历史比对统计量的平均值进行对比,判断二者比值是否超过设定比值,上述两个维度中的一个或两个满足条件时,则进行报警,可以实现对被监控业务进行全面、准确监控。
具体地,针对上述的第二个监控维度,若当前监控周期的监控关键值为Game:2001:20170930113600,要对比前两天中与当前监控周期相同时段的历史监控周期,则可生成对应两个历史监控周期的两个监控历史关键值,分别为,监控历史关键值Game:2001:20170929113600和监控历史关键值Game:2001:20170928113600,然后,根据这两个监控历史关键值分别从数据库中取出对应两个历史监控周期的监控目标的历史比对统计量,然后,计算当前监控周期的监控目标的历史统计量与两个历史比对统计量的平均值的比值,若比值超过设定比值,则发出报警信息,进行报警。
另外,需要说明的是,数据监控设备的报警监控单元只是根据所获得的业务日志得到key值,即,监控关键值,不会对业务日志进行额外的计算处理,即,不会根据所获得的key值再进行聚合处理。另外,数据监控设备的报警监控单元得到监控关键值的目的是,利用监控关键值,去数据库中获取已存储的监控目标的历史统计量。
步骤206:获取完整监控周期的统计数据;该步骤可为步骤205的替代方案。由于对被监控业务进行监控时,为了对被监控业务进行准确监控,往往需要获取对应于完整监控周期的监控目标的历史统计量,故,需要确定出能够准确获取到完整监控周期的监控目标的历史统计量的统计量提取时刻。
另外,由于业务日志从产生到被数据监控设备接收到,需要经过一定的时间,即,具有接收时延。这里,可以根据业务日志的日志生成时间和数据监控设备接收到业务日志的时间,确定接收时延。接收时延确定后,根据每个监控周期的末端的时间点加上接收时延,确定统计量提取时刻。具体地,若监控周期为1分钟,接收时延为10秒,则每个监控周期的末端为每分钟的第60秒,加上接收时延后,可以确定出每个监控周期实际对应的统计量提取时刻为下一监控周期的第10秒的时刻。将接收时延进行考虑,可以准确获取到完整监控周期的监控目标的历史统计量,可在防止误报的同时,提高对被监控业务进行监控的实时性。
另外,针对考虑接收时延的情况,具体地,若数据监控设备需要获知某业务的计费请求接口在今天18点10分这一分钟内的请求量是否低于前7天18点10分的平均值的百分之五十,则数据监控设备需要拿到今天18点10分的完整数据后再去和历史数据的均值做比较。由于业务日志从产生到被数据监控设备接收具有一定的接收时延,若数据监控设备18点11分00秒时就去数据库拿18点10分的监控目标的统计量数据,很可能发生误报,因为实际上,在18点11分00秒时刻,18点10分的在后生成的业务日志可能还没有完全流入到数据监控设备中的,所以,数据监控设备需要等待一个接收时延,这里,若接收时延是200ms,则数据监控设备可以在18点11分0.2s秒到数据库中拿18点10分的数据。
另外,数据监控设备可以以设定周期对接收时延进行更新。
步骤207:调整时间粒度;这里,由于不同的被监控业务,业务请求量差异比较大,故,不同的被监控业务应具有不同的时间粒度。同样的,同一个被监控业务在不同时间段的业务请求量差异也比较大,如,白天请求量大,半夜请求量小,故同一被监控业务在不同的时间段也应具有不同的时间粒度。这里,可以根据历史监控周期中指定监控目标的监控统计量,确定是否需要对时间粒度进行调整。具体地,若指定监控目标为业务请求,指定监控目标的监控统计量为业务请求量,则可以获取历史监控周期的业务请求量,若历史监控周期的业务请求量大于第一设定量值,则减小时间粒度,提高监控频率,可以提升预警的精确度;若历史监控周期的业务请求量小于第二设定量值,则增大时间粒度,降低监控频率,减少处理资源的耗费。
以上各步骤的处理具体可由数据监控设备来完成,所述数据监控设备可以是服务器。
为实现本发明实施例的数据监控方法,本发明实施例还提供了一种数据监控装置,如图6所示,所述数据监控装置包括:关键值匹配模块601、统计量获取模块602;其中,
关键值匹配模块601,用于根据监控关键值,匹配出与所述监控关键值相等的聚合关键值;
统计量获取模块,用于获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,其中,所述至少一个监控目标的历史统计量用于确定被监控业务的业务状态。
在一些实施例中,所述数据监控装置还包括:
日志获取模块,用于获取至少一条业务日志,所述业务日志中至少包含日志生成时间;
关键值获取模块,用于根据时间粒度和所述日志生成时间得到所述业务日志的聚合关键值;
日志聚合模块,用于按照设定统计规则,对具有相同聚合关键值的至少一个业务日志进行统计,得到所述业务日志中所述监控目标的当前统计量;
统计量存储模块,用于关联存储所述聚合关键值和对应于所述监控目标的当前统计量。
在一些实施例中,所述数据监控装置还包括历史比对模块,用于:
根据所述监控关键值和设定的第一比对参数,确定第一监控历史关键值;
匹配出与所述第一监控历史关键值相等的第一聚合比对关键值,获取与所述第一聚合比对关键值关联存储的所述监控目标的历史比对统计量。
在一些实施例中,所述数据监控装置还包括历史比对报警模块,用于:
确定所述历史统计量与所述历史比对统计量的比值超过设定比值时,发出报警信息。
在一些实施例中,所述数据监控装置还包括粒度调整模块,用于:
根据所述监控关键值和设定的第二比对参数,确定第二监控历史关键值;
匹配出与所述第二监控历史关键值相等的第二聚合比对关键值,获取与所述第二聚合比对关键值关联存储的指定监控目标的监控统计量;
根据所述指定监控目标的所述监控统计量,调整时间粒度。
在一些实施例中,所述数据监控装置还包括综合统计模块,用于:
针对每个接口,获取对应于相应接口的监控目标的历史统计量;
根据所述至少两个接口对应的监控目标的历史统计量,确定对应于所述被监控业务的监控对象的监控量。
在一些实施例中,所述数据监控装置还包括统计量更新模块,用于:
将所述业务日志的聚合关键值与存储的聚合关键值进行比较,确定已存储有所述聚合关键值时,获取已存储的与所述聚合关键值关联的所述监控目标的历史统计量;
根据所述历史统计量,对所述当前统计量进行更新。
所述数据监控装置中,通过报警监控单元BizMonitor实现根据监控关键值,匹配出与所述监控关键值相等的聚合关键值;获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量。通过数据聚合单元Aggregator实现获取至少一条业务日志;根据时间粒度和所述日志生成时间得到所述业务日志的聚合关键值;按照设定统计规则,对具有相同聚合关键值的至少一个业务日志进行统计,得到所述业务日志中所述监控目标的当前统计量;关联存储所述聚合关键值和对应于所述监控目标的当前统计量。
实际应用时,所述关键值匹配模块601和所述统计量获取模块602可由数据监控装置的处理器实现。
需要说明的是:上述实施例提供的数据监控装置在进行数据监控时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述各程序模块的处理分配由不同的程序模块完成,即将数据监控装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据监控装置与数据监控方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
为了实现本发明实施例的数据监控方法,本发明实施例还提供了一种基于硬件实现的数据监控设备,如图7所示,该数据监控设备710包括:处理器701和用于存储能够在处理器上运行的计算机程序的存储器702,其中,所述处理器701用于运行所述计算机程序时,执行:
根据监控关键值,匹配出与所述监控关键值相等的聚合关键值;
获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,其中,所述至少一个监控目标的历史统计量用于确定被监控业务的业务状态。
在一些实施例中,所述处理器701还用于运行所述计算机程序时,执行:
获取至少一条业务日志,所述业务日志中至少包含日志生成时间;
根据时间粒度和所述日志生成时间得到所述业务日志的聚合关键值;
按照设定统计规则,对具有相同聚合关键值的至少一个业务日志进行统计,得到所述业务日志中所述监控目标的当前统计量;
关联存储所述聚合关键值和对应于所述监控目标的当前统计量。
在一些实施例中,所述处理器701还用于运行所述计算机程序时,执行:
获取至少一条业务日志,所述业务日志中至少包含日志生成时间;
根据时间粒度和所述日志生成时间得到所述业务日志的监控关键值;
将所述业务日志的所述监控关键值与存储的监控关键值进行比较,确定所述监控关键值与存储的监控关键值不相同时,存储所述监控关键值。
在一些实施例中,所述处理器701还用于运行所述计算机程序时,执行:
所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量之前还包括:根据时间粒度确定统计量获取周期,得到对应于所述统计量获取周期的第一统计量提取时刻;
所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,包括:在所述第一统计量提取时刻,获取所述监控目标的历史统计量。
在一些实施例中,所述处理器701还用于运行所述计算机程序时,执行:
获取至少一条历史记录,得到所述历史记录中记录的业务日志的接收时间和日志生成时间;
根据所述接收时间与所述日志生成时间的时间差,确定接收时延;
所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量之前还包括:根据所述时间粒度确定统计量获取周期,得到对应于所述统计量获取周期的第一统计量提取时刻;根据所述接收时延、所述第一统计量提取时刻,确定对应于所述统计量获取周期的第二统计量提取时刻;
所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,包括:在所述第二统计量提取时刻,获取所述监控目标的历史统计量。
在一些实施例中,所述处理器701还用于运行所述计算机程序时,执行:
根据所述监控关键值和设定的第一比对参数,确定第一监控历史关键值;
匹配出与所述第一监控历史关键值相等的第一聚合比对关键值,获取与所述第一聚合比对关键值关联存储的所述监控目标的历史比对统计量。
在一些实施例中,所述处理器701还用于运行所述计算机程序时,执行:
确定所述历史统计量与所述历史比对统计量的比值超过设定比值时,发出报警信息。
在一些实施例中,所述处理器701还用于运行所述计算机程序时,执行:
根据所述监控关键值和设定的第二比对参数,确定第二监控历史关键值;
匹配出与所述第二监控历史关键值相等的第二聚合比对关键值,获取与所述第二聚合比对关键值关联存储的指定监控目标的监控统计量;
根据所述指定监控目标的所述监控统计量,调整时间粒度。
在一些实施例中,所述处理器701还用于运行所述计算机程序时,执行:
所述业务日志中包含业务编号、接口编号、日志生成时间;
所述根据时间粒度和所述日志生成时间得到所述业务日志的聚合关键值,包括:根据所述时间粒度、所述业务编号、所述接口编号和所述日志生成时间合成所述业务日志的聚合关键值;
所述根据时间粒度和所述日志生成时间得到所述业务日志的监控关键值,包括:根据所述时间粒度、所述业务编号、所述接口编号和所述日志生成时间合成所述业务日志的监控关键值。
在一些实施例中,所述处理器701还用于运行所述计算机程序时,执行:
针对每个接口,获取对应于相应接口的监控目标的历史统计量;
根据所述至少两个接口对应的监控目标的历史统计量,确定对应于所述被监控业务的监控对象的监控量。
在一些实施例中,所述处理器701还用于运行所述计算机程序时,执行:
将所述业务日志的聚合关键值与存储的聚合关键值进行比较,确定已存储有所述聚合关键值时,获取已存储的与所述聚合关键值关联的所述监控目标的历史统计量;
根据所述历史统计量,对所述当前统计量进行更新。
上述实施例提供的数据监控设备与数据监控方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
当然,实际应用时,如图7所示,该数据监控设备还可以包括至少一个通信接口703。数据监控设备中的各个组件通过总线系统704耦合在一起。可理解,总线系统704用于实现这些组件之间的连接通信。总线系统704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统704。
其中,通信接口703,用于与其它设备进行交互。
可以理解,存储器702可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器702旨在包括但不限于这些和任意其它适合类型的存储器。
本发明实施例中的存储器702用于存储各种类型的数据以支持数据监控设备的操作。
上述本发明实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力,更具体地,内置有数据监控算法,即具有数据监控能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,数据监控设备可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器702,上述计算机程序可由数据监控设备710的处理器701执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种数据监控方法,其特征在于,所述方法包括:
根据监控关键值,匹配出与所述监控关键值相等的聚合关键值;
获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,其中,所述至少一个监控目标的历史统计量用于确定被监控业务的业务状态。
2.根据权利要求1所述方法,其特征在于,所述根据监控关键值,匹配出与所述监控关键值相等的聚合关键值之前,还包括:
获取至少一条业务日志,所述业务日志中至少包含日志生成时间;
根据时间粒度和所述日志生成时间得到所述业务日志的聚合关键值;
按照设定统计规则,对具有相同聚合关键值的至少一个业务日志进行统计,得到所述业务日志中所述监控目标的当前统计量;
关联存储所述聚合关键值和对应于所述监控目标的当前统计量。
3.根据权利要求2所述的方法,其特征在于,所述监控关键值的确定过程包括:
获取至少一条业务日志,所述业务日志中至少包含日志生成时间;
根据时间粒度和所述日志生成时间得到所述业务日志的监控关键值;
将所述业务日志的所述监控关键值与存储的监控关键值进行比较,确定所述监控关键值与存储的监控关键值不相同时,存储所述监控关键值。
4.根据权利要求2所述的方法,其特征在于,所述获取至少一条业务日志之前,还包括:
获取至少一条历史记录,得到所述历史记录中记录的业务日志的接收时间和日志生成时间;
根据所述接收时间与所述日志生成时间的时间差,确定接收时延;
所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量之前还包括:根据所述时间粒度确定统计量获取周期,得到对应于所述统计量获取周期的第一统计量提取时刻;根据所述接收时延、所述第一统计量提取时刻,确定对应于所述统计量获取周期的第二统计量提取时刻;
所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,包括:在所述第二统计量提取时刻,获取所述监控目标的历史统计量。
5.根据权利要求1所述的方法,其特征在于,所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量之后,还包括:
根据所述监控关键值和设定的第一比对参数,确定第一监控历史关键值;
匹配出与所述第一监控历史关键值相等的第一聚合比对关键值,获取与所述第一聚合比对关键值关联存储的所述监控目标的历史比对统计量;
确定所述历史统计量与所述历史比对统计量的比值超过设定比值时,发出报警信息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述监控关键值和设定的第二比对参数,确定第二监控历史关键值;
匹配出与所述第二监控历史关键值相等的第二聚合比对关键值,获取与所述第二聚合比对关键值关联存储的指定监控目标的监控统计量;
根据所述指定监控目标的所述监控统计量,调整时间粒度。
7.根据权利要求3所述的方法,其特征在于,
所述业务日志中包含业务编号、接口编号、日志生成时间;
所述根据时间粒度和所述日志生成时间得到所述业务日志的聚合关键值,包括:根据所述时间粒度、所述业务编号、所述接口编号和所述日志生成时间合成所述业务日志的聚合关键值;
所述根据时间粒度和所述日志生成时间得到所述业务日志的监控关键值,包括:根据所述时间粒度、所述业务编号、所述接口编号和所述日志生成时间合成所述业务日志的监控关键值;
所述被监控业务具有至少两个接口,所述获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量之后,还包括:
针对每个接口,获取对应于相应接口的监控目标的历史统计量;
根据所述至少两个接口对应的监控目标的历史统计量,确定对应于所述被监控业务的监控对象的监控量。
8.一种数据监控装置,其特征在于,所述装置包括:
关键值匹配模块,用于根据监控关键值,匹配出与所述监控关键值相等的聚合关键值;
统计量获取模块,用于获取与所述聚合关键值关联存储的至少一个监控目标的历史统计量,其中,所述至少一个监控目标的历史统计量用于确定被监控业务的业务状态。
9.一种数据监控设备,其特征在于,所述设备包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810709568.9A CN109165133B (zh) | 2018-07-02 | 2018-07-02 | 数据监控方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810709568.9A CN109165133B (zh) | 2018-07-02 | 2018-07-02 | 数据监控方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109165133A true CN109165133A (zh) | 2019-01-08 |
CN109165133B CN109165133B (zh) | 2022-03-25 |
Family
ID=64897534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810709568.9A Active CN109165133B (zh) | 2018-07-02 | 2018-07-02 | 数据监控方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109165133B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377483A (zh) * | 2019-06-28 | 2019-10-25 | 浪潮电子信息产业股份有限公司 | 服务器监控系统及方法 |
CN111078503A (zh) * | 2019-12-23 | 2020-04-28 | 中国建设银行股份有限公司 | 一种异常监控方法及系统 |
CN113126929A (zh) * | 2021-04-23 | 2021-07-16 | 重庆紫光华山智安科技有限公司 | 一种特征数据去重的方法、系统、介质和终端 |
CN113722194A (zh) * | 2021-08-02 | 2021-11-30 | 中移(杭州)信息技术有限公司 | 日志统计方法、装置、设备及存储介质 |
CN113946627A (zh) * | 2021-10-27 | 2022-01-18 | 北京科杰科技有限公司 | 数据实时同步场景下的数据准确性检测预警系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040205207A1 (en) * | 2003-02-26 | 2004-10-14 | Tetsuro Motoyama | Method and system for monitoring network connected devices with multiple protocols |
CN101771566A (zh) * | 2009-01-04 | 2010-07-07 | 华为技术有限公司 | 网管间性能数据的传输方法、装置及系统 |
CN104778111A (zh) * | 2014-01-14 | 2015-07-15 | 深圳市腾讯计算机系统有限公司 | 一种进行报警的方法和装置 |
CN105159964A (zh) * | 2015-08-24 | 2015-12-16 | 广东欧珀移动通信有限公司 | 一种日志监控方法及系统 |
CN105488201A (zh) * | 2015-12-08 | 2016-04-13 | 北京皮尔布莱尼软件有限公司 | 一种日志查询方法和系统 |
US20160294606A1 (en) * | 2014-10-09 | 2016-10-06 | Splunk Inc. | Service Detail Monitoring Console |
CN108063699A (zh) * | 2017-12-28 | 2018-05-22 | 携程旅游信息技术(上海)有限公司 | 网络性能监控方法、装置、电子设备、存储介质 |
-
2018
- 2018-07-02 CN CN201810709568.9A patent/CN109165133B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040205207A1 (en) * | 2003-02-26 | 2004-10-14 | Tetsuro Motoyama | Method and system for monitoring network connected devices with multiple protocols |
CN101771566A (zh) * | 2009-01-04 | 2010-07-07 | 华为技术有限公司 | 网管间性能数据的传输方法、装置及系统 |
CN104778111A (zh) * | 2014-01-14 | 2015-07-15 | 深圳市腾讯计算机系统有限公司 | 一种进行报警的方法和装置 |
US20160294606A1 (en) * | 2014-10-09 | 2016-10-06 | Splunk Inc. | Service Detail Monitoring Console |
CN105159964A (zh) * | 2015-08-24 | 2015-12-16 | 广东欧珀移动通信有限公司 | 一种日志监控方法及系统 |
CN105488201A (zh) * | 2015-12-08 | 2016-04-13 | 北京皮尔布莱尼软件有限公司 | 一种日志查询方法和系统 |
CN108063699A (zh) * | 2017-12-28 | 2018-05-22 | 携程旅游信息技术(上海)有限公司 | 网络性能监控方法、装置、电子设备、存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377483A (zh) * | 2019-06-28 | 2019-10-25 | 浪潮电子信息产业股份有限公司 | 服务器监控系统及方法 |
CN110377483B (zh) * | 2019-06-28 | 2022-07-22 | 浪潮电子信息产业股份有限公司 | 服务器监控系统及方法 |
CN111078503A (zh) * | 2019-12-23 | 2020-04-28 | 中国建设银行股份有限公司 | 一种异常监控方法及系统 |
CN111078503B (zh) * | 2019-12-23 | 2023-08-01 | 中国建设银行股份有限公司 | 一种异常监控方法及系统 |
CN113126929A (zh) * | 2021-04-23 | 2021-07-16 | 重庆紫光华山智安科技有限公司 | 一种特征数据去重的方法、系统、介质和终端 |
CN113126929B (zh) * | 2021-04-23 | 2022-04-22 | 重庆紫光华山智安科技有限公司 | 一种特征数据去重的方法、系统、介质和终端 |
CN113722194A (zh) * | 2021-08-02 | 2021-11-30 | 中移(杭州)信息技术有限公司 | 日志统计方法、装置、设备及存储介质 |
CN113722194B (zh) * | 2021-08-02 | 2024-05-24 | 中移(杭州)信息技术有限公司 | 日志统计方法、装置、设备及存储介质 |
CN113946627A (zh) * | 2021-10-27 | 2022-01-18 | 北京科杰科技有限公司 | 数据实时同步场景下的数据准确性检测预警系统及方法 |
CN113946627B (zh) * | 2021-10-27 | 2022-04-29 | 北京科杰科技有限公司 | 数据实时同步场景下的数据准确性检测预警系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109165133B (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165133B (zh) | 数据监控方法、装置、设备及存储介质 | |
CN107766575B (zh) | 读写分离的数据库访问方法及装置 | |
CN112751726B (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
CN105979532B (zh) | 一种业务处理系统的性能容量分析预警方法及装置 | |
CN110389967B (zh) | 数据存储方法、装置、服务器及存储介质 | |
CN103856353B (zh) | 一种业务日志数据访问与统计分析的方法及装置 | |
CN110751045B (zh) | 故障录波方法、系统及终端设备 | |
CN114095032A (zh) | 基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质 | |
CN112214394B (zh) | 内存泄漏检测方法、装置和设备 | |
CN113220551A (zh) | 指标趋势预测及预警方法、装置、电子设备及存储介质 | |
CN108463813B (zh) | 一种进行数据处理的方法和装置 | |
CN111159009B (zh) | 一种日志服务系统的压力测试方法及装置 | |
CN110543509B (zh) | 用户访问数据的监控系统、方法、装置及电子设备 | |
CN116029731A (zh) | 一种处理行情数据的方法、装置及电子设备 | |
EP4336883A1 (en) | Modeling method, network element data processing method and apparatus, electronic device, and medium | |
CN115664992A (zh) | 网络运行数据的处理方法、装置、电子设备及介质 | |
CN110633165B (zh) | 故障处理方法、装置、系统服务器及计算机可读存储介质 | |
CN114218303A (zh) | 一种交易数据的处理系统、处理方法、介质和设备 | |
CN115114316A (zh) | 一种高并发数据的处理方法、装置、集群和存储介质 | |
CN113225228B (zh) | 数据处理方法及装置 | |
CN112988542B (zh) | 一种应用评分方法、装置、设备和可读存储介质 | |
CN111190803A (zh) | 一种性能统计数据的收集和存储方法及装置 | |
CN115982240A (zh) | 时序数据的处理方法、电子设备和存储介质 | |
CN117271572A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |