CN116302835A - 一种运维数据异常检测装置、方法及存储介质 - Google Patents

一种运维数据异常检测装置、方法及存储介质 Download PDF

Info

Publication number
CN116302835A
CN116302835A CN202310329625.1A CN202310329625A CN116302835A CN 116302835 A CN116302835 A CN 116302835A CN 202310329625 A CN202310329625 A CN 202310329625A CN 116302835 A CN116302835 A CN 116302835A
Authority
CN
China
Prior art keywords
maintenance data
result
processing
data
algorithm
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
CN202310329625.1A
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.)
Jiajia Technology Co ltd
Original Assignee
Jiajia Technology 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 Jiajia Technology Co ltd filed Critical Jiajia Technology Co ltd
Priority to CN202310329625.1A priority Critical patent/CN116302835A/zh
Publication of CN116302835A publication Critical patent/CN116302835A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S10/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/50Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明公开了一种运维数据异常检测装置、方法及存储介质,通过获取模块获取运维数据,检测模块与获取模块连接用于接收获取模块的运维数据,根据运维数据的类型通过异常检测算法对运维数据进行异常检测处理,得到异常检测结果,以及根据运维数据的类型对运维数据进行预测处理,得到预测结果;使得包括指标、日志以及调用链的运维数据可以统一接入到检测模块中,统一了接口调用和运维数据的输入方式,统一通过检测模块进行异常检测处理以及预测处理,不需要额外进行整合,且统一了结果的输出方式,有利于提高便捷性;另外,异常检测算法利用无监督学习以及集成学习投票,有利于避免打标签的繁琐工作以及根据不同具体业务进行复用,提高了适用性。

Description

一种运维数据异常检测装置、方法及存储介质
技术领域
本发明涉及检测技术领域,特别是涉及一种运维数据异常检测装置、方法及存储介质。
背景技术
目前在运维可观测领域,运维数据中通常具有不同类型的数据,
基于这些运维数据去做的智能算法应用,目前都是零散和独立的,由于某些类型的数据与其他类型的数据需要进行不同的数据处理,例如利用不同的算法进行数据处理,或者一个类型的数据同时需要进行多种数据处理,需要将不同类型的数据入口到不同的智能算法应用以及将一个类型的数据入口到不同的智能算法应用,并且不同的智能算法应用输入的结果也需要重新进行整合才能了解运维数据的整体检测结果,非常繁琐。另外,现今的检测算法都是基于有监督学习或深度学习算法,打标签的工作量繁重,异常的判断又需要结合具体业务,因此难以统一标准,现今的检测算法难以复用,适用性差。
发明内容
基于此,本发明的目的在于解决上述问题中的至少之一,提供一种运维数据异常检测装置、方法及存储介质,提高便捷性以及适用性。
本发明实施例提供一种运维数据异常检测装置,包括:
获取模块,用于获取运维数据;所述运维数据的类型包括指标、日志以及调用链;
检测模块,与所述获取模块连接,用于接收所述获取模块的所述运维数据,根据所述运维数据的类型,通过异常检测算法对所述运维数据进行异常检测处理,得到异常检测结果,以及根据所述运维数据的类型,对所述运维数据进行预测处理,得到预测结果;
其中,所述异常检测算法利用无监督学习以及集成学习投票。
本发明实施例还提供了一种运维数据异常检测方法,包括:
通过获取模块获取运维数据;所述运维数据的类型包括指标、日志以及调用链;
通过检测模块接收所述获取模块的所述运维数据,根据所述运维数据的类型,通过异常检测算法对所述运维数据进行异常检测处理,得到异常检测结果,以及根据所述运维数据的类型,对所述运维数据进行预测处理,得到预测结果;
其中,所述异常检测算法利用无监督学习以及集成学习投票。
进一步,所述根据所述运维数据的类型对所述运维数据进行预测处理,得到预测结果,包括:
确定所述运维数据的类型为所述指标,对所述指标进行预测可行性评估;
当预测可行性评估结果表征通过,从预测算法集合中确定目标预测算法,并根据所述目标预测算法以及所述指标,确定预测结果;
其中,所述预测算法集合中包括prophet、holt-winters、SARIMA以及回归类算法中的至少一种。
进一步,所述对所述指标进行预测可行性评估,包括:
对所述指标进行平稳性校验;
当平稳性校验结果表征平稳性数据,通过傅里叶算法对所述指标进行周期性处理,得到周期值;
当所述周期值满足预设周期性,所述预测可行性评估结果表征通过;
其中,当所述平稳性校验结果表征非平稳数据或所述周期值不满足预设周期性,所述预测可行性评估结果表征不通过。
进一步,所述根据所述运维数据的类型,通过异常检测算法对所述运维数据进行异常检测处理,得到异常检测结果,包括:
确定所述运维数据的类型为所述调用链,根据所述调用链的入口服务以及接口进行统计处理,得到所述调用链的链路图;
对所述调用链的链路图进行社区划分处理,得到若干个社区的子图;
通过预设权重算法计算所述若干个社区的子图对应的子图权重,并对所述子图权重进行排序,得到第一检测结果;异常检测结果包括所述第一检测结果。
进一步,所述根据所述运维数据的类型,通过异常检测算法对所述运维数据进行异常检测处理,得到异常检测结果,包括:
确定所述运维数据的类型为所述日志,对所述日志进行模板提取处理,得到目标模板;
根据所述目标模板确定第二检测结果;其中,异常检测结果包括第二检测结果,所述根据所述目标模板确定第二检测结果包括以下步骤的至少之一:
对所述目标模板与预设模板进行比较,当所述目标模板为新模板,得到表征异常的第二检测结果;
对所述目标模板单位时间内的数量指标进行检测,当所述数量指标与指标阈值的差距大于第一差距阈值,得到表征异常的第二检测结果;
对所述目标模板进行过滤处理,当过滤处理后的目标模板的数量与预设数量的的差距大于第二差距阈值,得到表征异常的第二检测结果;
提取所述目标模板的参数量,当所述参数量为离散型数据,计算所述参数量的状态占比,当所述状态占比与历史占比的差距大于第三差距阈值,得到表征异常的第二检测结果,或者,当所述参数量为连续型数据,当所述参数量位于历史变化范围外,得到表征异常的第二检测结果。
进一步,所述对所述日志进行模板提取处理,得到目标模板,包括:
提取所述日志的日志消息,自动生成用于拆分所述日志消息的若干不同的候选分隔符;
将出现次数大于预设次数阈值的候选分隔符作为最终分隔符,生成至少一候选模板;
计算每一所述候选模板的杰卡德相似度,并将杰卡德相似度大于预设相似度阈值的候选模板进行合并,得到目标模板。
进一步,所述根据所述运维数据的类型,通过异常检测算法对所述运维数据进行异常检测处理,得到异常检测结果,包括:
确定所述运维数据的类型为所述指标,对所述指标进行分类处理,得到不同的分类指标;
将满足正态分布形式的分类指标通过无监督学习的第一算法进行第一处理,得到第一处理结果;
将满足多集中值形式的分类指标通过无监督学习的第二算法进行第二处理,得到第二处理结果;
将满足缓慢变化形式的分类指标通过无监督学习的第三算法进行第三处理,得到第三处理结果;
将均不满足正态分布形式、多集中值形式、缓慢变化形式的分类指标通过无监督学习的第四算法进行第四处理,得到第四处理结果;
将不同的分类指标通过无监督学习的通用算法进行处理,得到第五处理结果;
对所述第一处理结果、所述第二处理结果、所述第三处理结果、所述第四处理结果以及所述第五处理结果进行集成学习投票,得到第三检测结果;异常检测结果包括第三检测结果。
本发明实施例还提供一种运维数据异常检测装置,所述运维数据异常检测装置包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现所述方法。
本发明实施例还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现所述方法。
本发明的有益效果是:
通过获取模块获取运维数据,检测模块与所述获取模块连接,用于接收所述获取模块的所述运维数据,根据所述运维数据的类型,通过异常检测算法对所述运维数据进行异常检测处理,得到异常检测结果,以及根据所述运维数据的类型,对所述运维数据进行预测处理,得到预测结果;使得包括指标、日志以及调用链的运维数据都可以统一接入到检测模块中,统一了接口调用和运维数据的输入方式,统一通过检测模块进行异常检测处理以及预测处理,不需要额外进行整合,并且统一了预测结果以及异常检测结果的输出方式,有利于提高便捷性;另外,所述异常检测算法利用无监督学习以及集成学习投票,有利于避免打标签的繁琐工作以及有利于根据不同具体业务进行复用,提高了适用性。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明运维数据异常检测装置的示意图;
图2为本发明运维数据异常检测方法的步骤流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
如图1所示,本发明实施例提供一种运维数据异常检测装置,包括获取模块以及检测模块。
本发明实施例中,获取模块用于获取运维数据,可选地运维数据的类型包括但不限于指标、日志以及调用链。
本发明实施例中,检测模块与获取模块连接,可以为获取模块提供统一的接口调用和数据输入方式,从而接收获取模块的指标、日志以及调用链等运维数据,并在检测模块对运维数据进行处理,实现结果的统一输出以及显示。可选地,检测模块对运维数据的处理包括但不限于:根据运维数据的类型,通过异常检测算法对运维数据进行异常检测处理,得到异常检测结果,以及根据运维数据的类型,对运维数据进行预测处理,得到预测结果。需要说明的是,异常检测算法利用无监督学习以及集成学习投票。
如图2所示,本发明实施例提供一种运维数据异常检测方法,可以应用于上述的运维数据异常检测装置,包括步骤S100-S200:
S100、通过获取模块获取运维数据。
可选地,运维数据的类型包括但不限于指标、日志以及调用链。其中,运维数据可以为通过python相关的sdk去获取kafka、es或者其他数据库中的数据得到。
S200、通过检测模块接收获取模块的运维数据,根据运维数据的类型,通过异常检测算法对运维数据进行异常检测处理,得到异常检测结果,以及根据运维数据的类型,对运维数据进行预测处理,得到预测结果。
需要说明的是,异常检测算法利用无监督学习以及集成学习投票。
可选地,检测模块可以包括第一AI系统、第二AI系统以及第三AI系统,第一AI系统包括第一预处理单元、第二AI系统包括第二预处理单元、第三AI系统包括第三预处理单元。本发明实施例中,在检测模块接收获取模块的运维数据之后,还可以包括数据预处理步骤S201:
S201、通过第一预处理单元对指标进行预处理,通过第二预处理单元对指标进行日志预处理,通过第三预处理单元对调用链进行预处理。
需要说明的是,步骤S200中异常检测算法以及预测处理的运维数据均可以为经过预处理后的运维数据。可选地,通过第一预处理单元对指标进行预处理包括但不限于:针对指标的时序数据进行字段校验、时间戳转换、类型转换、极值点移除、排序、去重、规整时间戳、计算数据频率、补全缺失值等处理步骤;通过第二预处理单元对指标进行日志预处理包括但不限于:正则替换变量,无效字符去除,无效日志去除等步骤;通过第三预处理单元对调用链进行预处理包括但不限于:断链、错链的筛除等步骤。
本发明实施例中,步骤S200中根据运维数据的类型对运维数据进行预测处理,得到预测结果,包括步骤S211-S212,其中步骤S211-S212可以通过第一AI系统执行:
S211、确定运维数据的类型为指标,对指标进行预测可行性评估。
可选地,对指标进行预测可行性评估包括步骤S2111-S2113:
S2111、对指标进行平稳性校验。
具体地,对指标进行平稳性校验,如果平稳性校验结果表征非平稳数据,即指标为非平稳数据,此时认为无法进行预测或者预测的准确性低,此时预测可行性评估结果不通过。
可选地,平稳性校验可以通过ADF检验方法基于ADF的检验回归式进行平稳性校验。具体地,使用python包arch.unitroot.ADF,直接对时序数据计算显著性水平p做判断,即可知道时序数据是否平稳,是否趋势平稳等。
S2112、当平稳性校验结果表征平稳性数据,通过傅里叶算法对指标进行周期性处理,得到周期值。
S2113、当周期值满足预设周期性,预测可行性评估结果表征通过。
具体地,当平稳性校验结果表征平稳性数据,此时需要进行周期性判断。可选地,周期性判断包括:通过傅里叶算法对指标进行周期性处理,得到周期值,当周期值满足预设周期性,认为可以进行预测,此时预测可行性评估结果表征通过,若周期值不满足预设周期性,此时认为指标为白噪声,无法进行预测或者预测的准确性低,此时预测可行性评估结果不通过。可选地,通过确定最大振幅对应的周期值与预设周期范围进行对比,当周期值位于预设周期范围内,认为周期值满足预设周期性,当周期值位于预设周期范围外,认为周期值不满足预设周期性。
需要说明的是,当平稳性校验结果表征非平稳数据或周期值不满足预设周期性,预测可行性评估结果表征不通过,此时无法输出有效的预测结果,可以得到具有提示内容的预测结果,例如提示内容可以为:无法预测或者可以为请重新获取运维数据等,不作具体限定。
S212、当预测可行性评估结果表征通过,从预测算法集合中确定目标预测算法,并根据目标预测算法以及指标,确定预测结果。
可选地,预测算法集合中的算法包括但不限于prophet、holt-winters、SARIMA以及回归类算法中的至少一种。其中,当预测可行性评估结果表征通过,此时可根据机器资源以及使用人员的算法能力从预测算法集合中选择一种算法作为目标预测算法,通过目标预测算法对指标进行处理,确定预测结果。
需要说明的是,prophet使用简单且效果好,但是执行时间相对其他算法长些,需要消耗更多的机器资源;holt-winters、SARIMA必须要指定周期值、自相关系数等多个超参数,这些参数的获取需要对数据进行时序分析才能得到,因此有使用前提,但是对于数据量的要求并不大;回归类算法使用简单,出结果快,但是需要大量的历史数据才能保证出效果。因此,根据机器资源以及使用人员的算法能力从预测算法集合中选择一种算法作为目标预测算法,需要综合考虑以上因素。例如,当考虑处理速度为优先因素,采用回归类算法;当考虑使用难度以及效果为优先因素,采用prophet;当运维数据的数据量小于数据量阈值,且不将考虑处理速度、使用难度作为优先因素,此时可以采用holt-winters或者SARIMA。
本发明实施例中,步骤S200中根据运维数据的类型,通过异常检测算法对运维数据进行异常检测处理,得到异常检测结果,包括步骤S221-S223,其中步骤S221-S223可以通过第三AI系统执行:
S221、确定运维数据的类型为调用链,根据调用链的入口服务以及接口进行统计处理,得到调用链的链路图。
可选地,确定运维数据的类型为调用链,以入口服务以及接口为分组依据,对调用链的入口服务以及接口进行统计处理,从而得到调用链的所有链路图。
需要说明的是,入口服务即用户最开始触发的服务,比如购物app的场景中,提交订单作为入口服务,后面会有生成订单号,自动计算价格、使用各类redis、mysql、消息中间件的业务过程,最开始触发整个服务调用的业务过程的都是订单服务提交的接口,order/create,服务/接口。因此,所有服务的调用链都有起始点(服务/接口)的图数据,根据起始点的不同可以将大量的调用链划分为不同的调用链图,即调用链的链路图,例如如购物app有订单提交服务,也有订单删除服务(相同服务不同接口),既有付款服务、也有退款服务(相同服务不同接口)。
S222、对调用链的链路图进行社区划分处理,得到若干个社区的子图。
可选地,通过社区划分算法对调用链的链路图进行社区划分处理,得到若干个社区的子图。需要说明的是,社区划分算法包括但不限于LPA、Louvain、Infomap算法。
S223、通过预设权重算法计算若干个社区的子图对应的子图权重,并对子图权重进行排序,得到第一检测结果。
可选地,通过预设权重算法计算若干个社区的子图对应的子图权重,从而得到若干个社区的子图对应的子图权重,对子图权重进行排序从而得到根因节点排序,根因节点排序的结果即为第一检测结果。其中,异常检测结果包括第一检测结果;预设权重算法包括但不限于pagerank算法。本发明实施例中,当触发根因定位流程时(比如某span超时),即根据其具体所属社区输出根因节点排序的结果,可选地,每一社区可以对应一个自身的根因节点排序的结果。
本发明实施例中,步骤S200中根据运维数据的类型,通过异常检测算法对运维数据进行异常检测处理,得到异常检测结果,包括步骤S231-S232,其中步骤S231-S232可以通过第二AI系统执行:
S231、确定运维数据的类型为日志,对日志进行模板提取处理,得到目标模板。
需要说明的是,本发明实施例的目标模板可以存储在DB(数据库)当中,用于后续异常检测时使用。本发明实施例的提取处理对现有的drain方法进行了改进,可以自动生成候选分隔符,并且现有的drain方法假定属于同一日志模版的日志应该具有相同的日志长度,本发明实施例为了减少这种假设对实际日志解析的负面影响,使用不对称的Jaccard相似度(杰卡德相似度)来合并,从而最终生成目标模板。
可选地,对日志进行模板提取处理,得到目标模板包括步骤S2311-S2313:
S2311、提取日志的日志消息,自动生成用于拆分日志消息的若干不同的候选分隔符。
具体地,当运维数据的类型为日志,提取日志中的日志消息,自动生成用于拆分日志消息的若干不同的候选分隔符。
S2312、将出现次数大于预设次数阈值的候选分隔符作为最终分隔符,生成至少一候选模板。
可选地,预设次数阈值可以根据实际需要设定,不作具体限定。具体地,统计不同的候选分隔符的出现次数,将出现次数大于预设次数阈值的候选分隔符作为最终分隔符,从而根据日志消息以及最终分隔符生成至少一候选模板。
S2313、计算每一候选模板的杰卡德相似度,并将杰卡德相似度大于预设相似度阈值的候选模板进行合并,得到目标模板。
可选地,预设次数阈值可以根据实际需要设定,不作具体限定。具体地,计算每一候选模板的杰卡德相似度,并将杰卡德相似度大于预设相似度阈值的候选模板进行合并,从而得到目标模板。需要说明的是,当日志中包含不同类型的日志时,得到的目标模板可以具有多个,每一类型的日志对应一个类型的目标模板。
S232、根据目标模板确定第二检测结果。
其中,根据目标模板进行异常检测,确定第二检测结果,异常检测结果包括第二检测结果;根据目标模板确定第二检测结果包括以下步骤S2321-S2324的至少之一,S2321-S2324不限定顺序:
S2321、对目标模板与预设模板进行比较,当目标模板为新模板,得到表征异常的第二检测结果。
可选地,预设模板为事先保存的正常状况下的正常模板,当日志具有不同类型时,预设模板为多个,每一类型的日志对应一个预设模板。当目标模板与预设模板进行比较,目标模板中存在与预设模板不同的内容或者目标模板中存在预设模板没有的内容,此时认为目标模板为新模板,得到表征异常的第二检测结果。
S2322、对目标模板单位时间内的数量指标进行检测,当数量指标与指标阈值的差距大于第一差距阈值,得到表征异常的第二检测结果。
可选地,指标阈值、第一差距阈值的大小可以根据需要设定,例如指标阈值可以根据历史数据确定一个正常数量值或者正常范围作为指标阈值。其中,数量指标包括但不限于一个类型目标模板中的数量指标或者所有类型的目标模板的数量指标。例如,一个类型目标模板中的数量指标可以为:单位时间内该类型目标模板的数量增加或减少至第一数值,第一数值与指标阈值的差距大于第一差距阈值,说明数量指标数量变化异常,得到表征异常的第二检测结果。又例如,所有类型的目标模板的数量指标可以为所有类型的目标模板的总量,当总量的数量增加或减少至第二数值,第二数值与指标阈值的差距大于第一差距阈值,说明数量指标数量变化异常,得到表征异常的第二检测结果;又或者将所有类型的目标模板的总量转化为指标,利用下列步骤S241-S247的方法得到检测结果,作为第二检测结果的一部分。
S2323、 对目标模板进行过滤处理,当过滤处理后的目标模板的数量与预设数量的的差距大于第二差距阈值,得到表征异常的第二检测结果。
可选地,第二差距阈值、预设数量可以根据实际需要设定,预设数量可以为正常状态下具有预设关键词的模板数量。例如,预设关键词包括但不限于某些类型的模板存在固定的字段(发送方,接收方),则可以先对特定的发送方/接收方进行过滤,再监控此类目标模板的变化量,有针对性的对重点对象的目标模板进行监控。具体地,可以通过事先预设关键词,利用预设关键词对目标模板进行过滤处理,当过滤处理后的目标模板的数量与预设数量的的差距大于第二差距阈值,得到表征异常的第二检测结果。其中,过滤处理后的目标模板的数量可以作为指标,步骤S2323可以通过第一AI系统的步骤S241-S247的方法得到检测结果,作为第二检测结果的一部分。
S2324、提取目标模板的参数量,当参数量为离散型数据,计算参数量的状态占比,当状态占比与历史占比的差距大于第三差距阈值,得到表征异常的第二检测结果,或者,当参数量为连续型数据,当参数量位于历史变化范围外,得到表征异常的第二检测结果。
本发明实施例中,可以通过提取目标模板的参数量确定参数量的异常变化/分布,确定第二检测结果;其中,参数量即目标模板中*号表示的值,历史占比、历史变化范围为历史正常状态下确定的,第三差距阈值可以根据实际需要设定,不作具体限定。具体地,当参数量为离散型数据,例如状态字段(成功或者失败),计算参数量的状态占比,当状态占比与历史占比的差距大于第三差距阈值,得到表征异常的第二检测结果,例如历史占比:成功:失败为9:1,即为9,成功:失败=9:1,现在计算得到的状态占比为成功:失败=5:5,即为1,假设第三差距阈值为2,此时9-1大于2,因此得到表征异常的第二检测结果。
又或者,当参数量为连续型数据,例如传输时间,取值是可以连续变化的,比如传输时间的历史变化范围为20ms-900ms,而当前的传输时间为1300ms,即位于历史变化范围外,同样得到表征异常的第二检测结果。其中,参数量可以作为指标,步骤S2324可以通过第一AI系统的步骤S241-S247的方法得到检测结果,作为第二检测结果的一部分。
本发明实施例中,步骤S200中根据运维数据的类型,通过异常检测算法对运维数据进行异常检测处理,得到异常检测结果,包括步骤S241-S247,其中步骤S241-S247可以通过第一AI系统执行:
S241、确定运维数据的类型为指标,对指标进行分类处理,得到不同的分类指标。
可选地,通过第一AI系统中的分类模块对指标进行分类处理,得到不同的分类指标。其中,分类模块中可以由人工指定分类或者由分类模块自动判断采用具体的算法进行分类,算法包括但不限于正态性校验、密度估计等,不作具体限定。
S242、将满足正态分布形式的分类指标通过无监督学习的第一算法进行第一处理,得到第一处理结果。
可选地,第一算法包括但不限于nsigma或者箱线图算法,通过无监督学习的第一算法对满足正态分布形式的分类指标进行第一处理,得到异常检测的第一处理结果。
例如,将一段时间的数据(比如一天1440分钟对应1440个值,比如为cpu使用率)切分成2段(720+720),分别计算他们的均值和标准差,如果这两部分的均值、标准差的差距均小于差距阈值,认为该部分数据满足正态分布,或者通过Kolmogorov-Smirnov正态性检验确定是否满足正态分布形式,不作具体限定。
S243、将满足多集中值形式的分类指标通过无监督学习的第二算法进行第二处理,得到第二处理结果。
可选地,第二算法包括但不限于KDE或者DBSCAN,通过无监督学习的第二算法对满足多集中值形式的分类指标进行第二处理,得到异常检测的第二处理结果。例如,可以根据出现频率的高低将运维数据分为若干个区间,将频率最高的区间对应的指标作为满足多集中值形式的分类指标。
S244、将满足缓慢变化形式的分类指标通过无监督学习的第三算法进行第三处理,得到第三处理结果。
可选地,第三算法包括但不限于EWMA或者1阶差分+nsigma,通过无监督学习的第三算法对满足缓慢变化形式的分类指标进行第三处理,得到异常检测的第三处理结果。
可选地,缓慢变化形式可以通过人为可视化或者机器判断实现。例如,一般情况选下某些分类指标不会发生突变,比如发动机转速,转速会慢慢变大或者变小,单位时间内发动机转速的变化值小于或等于变化阈值,认为满足缓慢变化形式。
S245、将均不满足正态分布形式、多集中值形式、缓慢变化形式的分类指标通过无监督学习的第四算法进行第四处理,得到第四处理结果。
可选地,均不满足正态分布形式、多集中值形式、缓慢变化形式的分类指标认为是特殊情况。其中,第四算法包括但不限于CUSUM,此时通过无监督学习的第四算法对特殊情况的分类指标进行第四处理,得到异常检测的第四处理结果。
S246、将不同的分类指标通过无监督学习的通用算法进行处理,得到第五处理结果。
可选地,通用算法为机器学习的通用算法,包括但不限于孤立森林、LOF、oneClassSVM等,将所有不同的分类指标通过无监督学习的通用算法进行处理,得到第五处理结果。
S247、对第一处理结果、第二处理结果、第三处理结果、第四处理结果以及第五处理结果进行集成学习投票,得到第三检测结果。
可选地,本发明实施例中将通用算法得到的第五处理结果结合第一处理结果、第二处理结果、第三处理结果、第四处理结果进行集成学习投票,以实现共同判断,得到精确度更高的第三检测结果。其中,异常检测结果包括第三检测结果。
本发明实施例中,检测模块将得到的异常检测结果(包括第一检测结果、第二检测结果、第三检测结果)以及预测结果进行统一输出、存储以及显示。可选地,输出还可以为以告警的形式输出。
需要说明的是,预测算法集合中的算法、社区划分算法、计算杰卡德相似度的算法、第一算法、第二算法、第三算法以及通用算法等等算法均为无监督学习的算法,有利于避免打标签的繁琐工作以及有利于根据不同具体业务进行复用。
本发明实施例中,用户可以通过API接口的形式启动实时/离线任务,检测模块中的所有算法均支持离线和在线模式,即可用于单次调用,也可置于后台实时使用。同时,检测模块中使用了celery做后台任务进程的创建和停止。需要说明的是,获取模块可以接受多种类型的DB的数据作为数据源,例如kafka、influxdb、es、mysql等,并且数据源可以通过python的SDK封装成一个数据模块,方便统一调用,检测模块得到的异常检测结果以及预测结果也可以输入到数据模块中进行存储和调用,从而实现数据模块的输入和输出。
相对于现有技术,本发明实施例的运维数据异常检测方法:
1、集成了运维可观测性数据的智能算法,通过获取模块以及检测模块统一了接口调用和数据输入以及结果输出的方式,便于检测模块的第一AI系统、第二AI系统、第三AI系统助力运维智能可观测。
2、创新的摒弃了深度学习等有监督学习的大模型,采用了无监督学习的算法,并利用集成学习投票的思想进行结果输出,简单易用,可解释性强,且运算速度快,无需更新迭代,避免了模型效果下降后重新训练使用的弊端。
3、步骤S231在现有的drain算法上做了改进,步骤S232在日志异常检测的方式上增加了几种方法,更好更全面的检测系统的日志异常;
4、步骤S221-S223对于调用链的根因定位使用了社区划分+pagerank定位的方法,离线+在线的方式加快根因推荐的速度,能在秒级别给出根因节点。
上述装置实施例中的内容均适用于本方法实施例中,本方法实施例所具体实现的功能与上述装置实施例相同,并且达到的有益效果与上述装置实施例所达到的有益效果也相同,不再赘述。
本发明实施例还提供了另一种运维数据异常检测装置,该运维数据异常检测装置包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现前述实施例的运维数据异常检测方法。可选地,该运维数据异常检测装置包括但不限于手机、平板电脑、电脑及车载电脑等。
上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同,不再赘述。
本发明实施例还提供一种计算机可读存储介质,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现前述实施例的运维数据异常检测方法。
本发明实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述实施例的运维数据异常检测方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种运维数据异常检测装置,其特征在于,包括:
获取模块,用于获取运维数据;所述运维数据的类型包括指标、日志以及调用链;
检测模块,与所述获取模块连接,用于接收所述获取模块的所述运维数据,根据所述运维数据的类型,通过异常检测算法对所述运维数据进行异常检测处理,得到异常检测结果,以及根据所述运维数据的类型,对所述运维数据进行预测处理,得到预测结果;
其中,所述异常检测算法利用无监督学习以及集成学习投票。
2.一种运维数据异常检测方法,其特征在于,包括:
通过获取模块获取运维数据;所述运维数据的类型包括指标、日志以及调用链;
通过检测模块接收所述获取模块的所述运维数据,根据所述运维数据的类型,通过异常检测算法对所述运维数据进行异常检测处理,得到异常检测结果,以及根据所述运维数据的类型,对所述运维数据进行预测处理,得到预测结果;
其中,所述异常检测算法利用无监督学习以及集成学习投票。
3.根据权利要求2所述运维数据异常检测方法,其特征在于:所述根据所述运维数据的类型对所述运维数据进行预测处理,得到预测结果,包括:
确定所述运维数据的类型为所述指标,对所述指标进行预测可行性评估;
当预测可行性评估结果表征通过,从预测算法集合中确定目标预测算法,并根据所述目标预测算法以及所述指标,确定预测结果;
其中,所述预测算法集合中包括prophet、holt-winters、SARIMA以及回归类算法中的至少一种。
4.根据权利要求3所述运维数据异常检测方法,其特征在于:所述对所述指标进行预测可行性评估,包括:
对所述指标进行平稳性校验;
当平稳性校验结果表征平稳性数据,通过傅里叶算法对所述指标进行周期性处理,得到周期值;
当所述周期值满足预设周期性,所述预测可行性评估结果表征通过;
其中,当所述平稳性校验结果表征非平稳数据或所述周期值不满足预设周期性,所述预测可行性评估结果表征不通过。
5.根据权利要求2-4任一项所述运维数据异常检测方法,其特征在于:所述根据所述运维数据的类型,通过异常检测算法对所述运维数据进行异常检测处理,得到异常检测结果,包括:
确定所述运维数据的类型为所述调用链,根据所述调用链的入口服务以及接口进行统计处理,得到所述调用链的链路图;
对所述调用链的链路图进行社区划分处理,得到若干个社区的子图;
通过预设权重算法计算所述若干个社区的子图对应的子图权重,并对所述子图权重进行排序,得到第一检测结果;异常检测结果包括所述第一检测结果。
6.根据权利要求2-4任一项所述运维数据异常检测方法,其特征在于:所述根据所述运维数据的类型,通过异常检测算法对所述运维数据进行异常检测处理,得到异常检测结果,包括:
确定所述运维数据的类型为所述日志,对所述日志进行模板提取处理,得到目标模板;
根据所述目标模板确定第二检测结果;其中,异常检测结果包括第二检测结果,所述根据所述目标模板确定第二检测结果包括以下步骤的至少之一:
对所述目标模板与预设模板进行比较,当所述目标模板为新模板,得到表征异常的第二检测结果;
对所述目标模板单位时间内的数量指标进行检测,当所述数量指标与指标阈值的差距大于第一差距阈值,得到表征异常的第二检测结果;
对所述目标模板进行过滤处理,当过滤处理后的目标模板的数量与预设数量的的差距大于第二差距阈值,得到表征异常的第二检测结果;
提取所述目标模板的参数量,当所述参数量为离散型数据,计算所述参数量的状态占比,当所述状态占比与历史占比的差距大于第三差距阈值,得到表征异常的第二检测结果,或者,当所述参数量为连续型数据,当所述参数量位于历史变化范围外,得到表征异常的第二检测结果。
7.根据权利要求6所述运维数据异常检测方法,其特征在于:所述对所述日志进行模板提取处理,得到目标模板,包括:
提取所述日志的日志消息,自动生成用于拆分所述日志消息的若干不同的候选分隔符;
将出现次数大于预设次数阈值的候选分隔符作为最终分隔符,生成至少一候选模板;
计算每一所述候选模板的杰卡德相似度,并将杰卡德相似度大于预设相似度阈值的候选模板进行合并,得到目标模板。
8.根据权利要求2-4任一项所述运维数据异常检测方法,其特征在于:所述根据所述运维数据的类型,通过异常检测算法对所述运维数据进行异常检测处理,得到异常检测结果,包括:
确定所述运维数据的类型为所述指标,对所述指标进行分类处理,得到不同的分类指标;
将满足正态分布形式的分类指标通过无监督学习的第一算法进行第一处理,得到第一处理结果;
将满足多集中值形式的分类指标通过无监督学习的第二算法进行第二处理,得到第二处理结果;
将满足缓慢变化形式的分类指标通过无监督学习的第三算法进行第三处理,得到第三处理结果;
将均不满足正态分布形式、多集中值形式、缓慢变化形式的分类指标通过无监督学习的第四算法进行第四处理,得到第四处理结果;
将不同的分类指标通过无监督学习的通用算法进行处理,得到第五处理结果;
对所述第一处理结果、所述第二处理结果、所述第三处理结果、所述第四处理结果以及所述第五处理结果进行集成学习投票,得到第三检测结果;异常检测结果包括第三检测结果。
9.一种运维数据异常检测装置,其特征在于:所述运维数据异常检测装置包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求2-8中任一项所述方法。
10.一种计算机可读存储介质,其特征在于:所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求2-8中任一项所述方法。
CN202310329625.1A 2023-03-30 2023-03-30 一种运维数据异常检测装置、方法及存储介质 Pending CN116302835A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310329625.1A CN116302835A (zh) 2023-03-30 2023-03-30 一种运维数据异常检测装置、方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310329625.1A CN116302835A (zh) 2023-03-30 2023-03-30 一种运维数据异常检测装置、方法及存储介质

Publications (1)

Publication Number Publication Date
CN116302835A true CN116302835A (zh) 2023-06-23

Family

ID=86788574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310329625.1A Pending CN116302835A (zh) 2023-03-30 2023-03-30 一种运维数据异常检测装置、方法及存储介质

Country Status (1)

Country Link
CN (1) CN116302835A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116703333A (zh) * 2023-08-01 2023-09-05 华能信息技术有限公司 一种电厂技术监督信息化管理系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116703333A (zh) * 2023-08-01 2023-09-05 华能信息技术有限公司 一种电厂技术监督信息化管理系统
CN116703333B (zh) * 2023-08-01 2023-11-07 华能信息技术有限公司 一种电厂技术监督信息化管理系统

Similar Documents

Publication Publication Date Title
Wu et al. Literature review and prospect of the development and application of FMEA in manufacturing industry
US11595415B2 (en) Root cause analysis in multivariate unsupervised anomaly detection
CN112529023A (zh) 一种配置化的人工智能场景应用研发方法和系统
CN114116397A (zh) 一种监控指标的预警归因方法、装置、设备及存储介质
CN113590451B (zh) 一种根因定位方法、运维服务器及存储介质
CN115760484A (zh) 一种配电台区隐患辨识能力提升方法、装置、系统及存储介质
CN111427974A (zh) 数据质量评估管理方法和装置
CN116882978B (zh) 一种基于产品信息框架的深海潜水器运维保障系统
CN108306997B (zh) 域名解析监控方法及装置
CN116485020B (zh) 一种基于大数据的供应链风险识别预警方法、系统及介质
CN116302835A (zh) 一种运维数据异常检测装置、方法及存储介质
CN111738331A (zh) 用户分类方法及装置、计算机可读存储介质、电子设备
CN111178701B (zh) 一种基于特征衍生技术的风险控制方法方法、装置和电子设备
Pal et al. DLME: distributed log mining using ensemble learning for fault prediction
CN116028315A (zh) 作业运行预警方法、装置、介质及电子设备
CN114138601A (zh) 一种业务告警方法、装置、设备及存储介质
Behera et al. Root Cause Analysis Bot using Machine Learning Techniques
CN112598443A (zh) 一种基于深度学习的线上渠道业务数据处理方法及系统
CN112231299A (zh) 一种特征库动态调整的方法和装置
CN111882113A (zh) 一种企业手机银行用户的预测方法和装置
CN115619539A (zh) 贷前风险评价方法以及装置
CN115049107A (zh) 一种基于物联采集边缘计算的电量预测系统
CN114139706A (zh) 储能资源的评价系统
CN111798237B (zh) 基于应用日志的异常交易诊断方法及系统
Anh et al. A novel approach for anomaly detection in automatic meter intelligence system using machine learning and pattern recognition

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