CN114064441B - 一种日志异常检测方法、装置及设备 - Google Patents

一种日志异常检测方法、装置及设备 Download PDF

Info

Publication number
CN114064441B
CN114064441B CN202210051666.4A CN202210051666A CN114064441B CN 114064441 B CN114064441 B CN 114064441B CN 202210051666 A CN202210051666 A CN 202210051666A CN 114064441 B CN114064441 B CN 114064441B
Authority
CN
China
Prior art keywords
historical
detected
sequence
time point
obtaining
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.)
Active
Application number
CN202210051666.4A
Other languages
English (en)
Other versions
CN114064441A (zh
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.)
Cloudwise Beijing Technology Co Ltd
Original Assignee
Cloudwise Beijing 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 Cloudwise Beijing Technology Co Ltd filed Critical Cloudwise Beijing Technology Co Ltd
Priority to CN202210051666.4A priority Critical patent/CN114064441B/zh
Publication of CN114064441A publication Critical patent/CN114064441A/zh
Application granted granted Critical
Publication of CN114064441B publication Critical patent/CN114064441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明的实施例提供一种日志异常检测方法、装置及设备,所述方法包括:获得待检测点的同比日期序列;获得待检测点在滑动窗口内的同比时间点矩阵;根据所述同比时间点矩阵以及所述同比时间点矩阵对应的取值矩阵,利用层次权重,得到历史同比取值序列;根据所述历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果;本发明的实施例提高了日志异常检测的准确率,具备学习功能和领域适用性,可随时间降低异常模式带来的干扰。

Description

一种日志异常检测方法、装置及设备
技术领域
本发明涉及数据检测技术领域,特别是指一种日志异常检测方法、装置及设备。
背景技术
日志是一种半结构化的文本数据,网络设备、系统及服务程序等在运行时都会产生日志,用来记录日期、时间、使用者及动作、系统状态等相关信息的描述。这使得系统开发人员与运维人员能够通过日志来监控系统运行状态,并在系统故障时迅速定位故障。
现今,随着系统与服务规模越来越庞大,结构越来越复杂,不同系统与服务中通常包含多个不同的中间组件,而不同组件的日志格式不同,因此同一个系统或服务中通常会产生大规模不同格式的日志数据。因此,日志的异常检测是构建安全可信系统的关键一步,现有的利用系统日志数据进行异常检测的现有方法对于日志数据要求过高。
因此在实际生产实践中,应用较为广泛的是日志模式异常检测,即首先进行日志模式解析,然后将日志模式映射为时序指标数据,并采用通用的时序数据异常检测算法进行异常检测,这属于智能运维中的转换场景。然而这类日志模式异常检测存在一些缺陷:首先,通用的时序数据异常检测算法并未考虑日志数据本身的特点,所以检测结果中经常出现误报等情况;其次,目前的日志模式异常检测通常采用日周同环比的方式检测日志是否符合正常日志模式的规律,而实际应用中证券、运营商等领域的日志并不符合该规律,因此没有领域适用性;此外,当前的日志模式异常检测算法没有学习能力,异常数据导致的结果不会随时间消散,容易将正常模式检测为异常。
发明内容
本发明提供了一种日志异常检测方法、装置及设备。解决了传统的日志模式异常检测算法不具备领域适用性的问题,降低了日志异常检测的误报率,提高了检测准确率,具备学习功能和领域适用性,可随时间降低异常模式带来的干扰。
为解决上述技术问题,本发明的实施例提供以下方案:
一种日志异常检测方法,包括:
获得待检测点的同比日期序列;
获得待检测点在滑动窗口内的同比时间点矩阵;
根据所述同比时间点矩阵以及所述同比时间点矩阵对应的取值矩阵,利用层次权重,得到历史同比取值序列;
根据所述历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果。
可选的,获得待检测点的同比日期序列,包括:
通过同比日期选择器,选择目标模式下的待检测点的同比日期序列,得到待检测点的同比日期序列;
所述目标模式包括以下至少一种:全场景模式,节假日模式,交易日模式;
所述同比日期序列为
Figure 946972DEST_PATH_IMAGE001
,其中,
Figure 926429DEST_PATH_IMAGE002
Figure 175008DEST_PATH_IMAGE003
Figure 163693DEST_PATH_IMAGE004
为同比日期,SD_his为同比日期序列,i,j,k表示日期数,i,j,k都为正整数,i<j<k。
可选的,获得待检测点的同比时间点矩阵,包括:
根据预设滑动窗口的窗长,获得待检测点的同比时间点矩阵,所述同比时间点矩阵为:
Figure 446907DEST_PATH_IMAGE005
其中,l为预设滑动窗口的左半窗长,l=half_win_left;r为预设滑动窗口的右半窗长,r=half_win_right;
Figure 862844DEST_PATH_IMAGE006
表示第i天第y个待检测时间点,
Figure 598719DEST_PATH_IMAGE007
表示第j天第y个待检测时间点,
Figure 391095DEST_PATH_IMAGE008
表示第k天第y个待检测时间点。
可选的,根据所述同比时间点矩阵以及所述同比时间点矩阵对应的取值矩阵,利用层次权重,得到历史同比取值序列,包括:
根据所述同比时间点矩阵以及时间窗口权重,得到同比取值序列;
根据所述同比取值序列以及历史日期权重,得到历史同比取值序列。
可选的,根据所述同比时间点矩阵以及时间窗口权重,得到同比取值序列,包括:
通过公式:
Figure 528815DEST_PATH_IMAGE009
得到同比取值序列;
其中,SV_win为同比取值序列;wy为第y个待检测时间点的权重;
Figure 115654DEST_PATH_IMAGE010
为第i天的待检测时间点的取值;
MVdod为同比时间点矩阵对应的取值序列矩阵:
Figure 338825DEST_PATH_IMAGE011
Figure 669312DEST_PATH_IMAGE012
表示第i天第j个点的取值,l为预设滑动窗口的左半窗长,r为预设滑动窗口的右半窗长;
Wwin为时间窗口权重:
Figure 661539DEST_PATH_IMAGE013
可选的,根据所述同比取值序列以及历史日期权重,得到历史同比取值序列,包括:
通过公式:
Figure 9077DEST_PATH_IMAGE014
得到历史同比取值序列;
其中,Vhis为历史同比取值序列;SV_win为同比取值序列,
Figure 578599DEST_PATH_IMAGE015
;Whis为历史日期权重,
Figure 322564DEST_PATH_IMAGE016
可选的,根据所述历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果,包括:
根据所述历史同比取值序列,通过公式
Figure 559510DEST_PATH_IMAGE017
Figure 363518DEST_PATH_IMAGE018
,确定检测取值范围(𝜇-nσ,𝜇+nσ);其中,𝜇为第一参数,σ为第二参数,n为置信度,Xi为历史同比取值序列中的元素,i为历史同比取值序列中的元素的下标,i为正整数,N为历史同比取值序列中的元素的数量;
判断所述待检测点是否在所述检测取值范围(𝜇-3σ,𝜇+3σ)内,得到日志异常检测结果。
本发明还提供一种日志异常检测装置,所述装置包括:
获取模块,用于获得待检测点的同比日期序列;获得待检测点在滑动窗口内的同比时间点矩阵;
处理模块,用于根据所述同比时间点矩阵以及所述同比时间点矩阵对应的取值矩阵,利用层次权重,得到历史同比取值序列;根据所述历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果。
本发明提供一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述的方法对应的操作。
本发明还提供一种计算机可读存储介质,存储有指令,所述指令在计算机上运行时,使得计算机执行如上述的方法。
本发明的上述方案至少包括以下有益效果:
本发明的上述方案,通过获得待检测点的同比日期序列;获得待检测点在滑动窗口内的同比时间点矩阵;根据所述同比时间点矩阵以及所述同比时间点矩阵对应的取值矩阵,利用层次权重,得到历史同比取值序列;根据所述历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果;解决了传统的日志模式异常检测算法不具备领域适用性的问题,降低了日志异常检测的误报率,提高了检测准确率,具备学习功能和领域适用性,可随时间降低异常模式带来的干扰。
附图说明
图1为本发明实施例的日志异常检测方法的流程示意图;
图2为本发明提供的具体的实施例1中日志异常检测方法的流程示意图;
图3为本发明提供的具体的实施例2中时间序列的示意图;
图4为本发明提供的具体的实施例2中异常检测结果的示意图;
图5为本发明实施例的日志异常检测装置的模块示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
如图1所示,本发明提供一种日志异常检测方法,包括:
步骤11,获得待检测点的同比日期序列;
步骤12,获得待检测点在滑动窗口内的同比时间点矩阵;
步骤13,根据所述同比时间点矩阵以及所述同比时间点矩阵对应的取值矩阵,利用层次权重,得到历史同比取值序列;
步骤14,根据所述历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果。
该实施例中,待检测点是通过获取待检测点的同比日期序列和同比时间点矩阵,进而根据同比时间点矩阵以及同比时间点矩阵对应的取值矩阵,利用层次权重,得到历史同比取值序列,根据历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果;解决了传统的日志模式异常检测算法不具备领域适用性的问题,降低了日志异常检测的误报率,提高了检测准确率,具备学习功能和领域适用性,可随时间降低异常模式带来的干扰。
需要说明的是,本发明的一可选的实施例中,步骤11之前,还可以包括:
步骤a,获取原始日志数据;
步骤b,对所述原始日志数据进行预处理,得到结构化日志数据;
步骤c,对所述结构化日志数据中的字段信息进行日志模式识别,得到每条结构化日志数据的模式;这里,优选的采用Drain算法进行日志模式识别,Drain算法是基于固定深度树的在线日志模式识别算法,针对日志的特点,利用日志的长度和前缀单词为特征,并借用了树形数据结构对日志进行聚类;
步骤d,根据所述结构化日志数据的模式,对结构化原始日志数据进行压缩处理,得到时间序列数据;这里,同一个模式对应多条不同时间点的结构化日志数据,将结构化日志数据的模式按照预设时间粒度进行聚合,进而将每一个模式映射得到时间序列数据;其中,该时间序列数据的格式优选为:
[(timestamp1,value1),(timestamp2,value2),...];
这里的value是指该模式在对应的时间段内出现的频次。
其中,步骤b包括:
步骤b1,提取所述原始日志数据中的字段信息;所述字段信息包括原始日志时间、日志等级、日志描述字段、日志来源、进程ID中的至少一个;
步骤b2,根据所述字段信息,得到结构化原始日志数据。
本发明一可选的实施例中,步骤11包括:
步骤111,通过同比日期选择器,选择目标模式下的待检测点的同比日期序列,得到待检测点的同比日期序列;
所述目标模式包括以下至少一种:全场景模式,节假日模式,交易日模式;
所述同比日期序列为
Figure 685915DEST_PATH_IMAGE001
,其中,
Figure 233571DEST_PATH_IMAGE002
Figure 325024DEST_PATH_IMAGE003
Figure 565513DEST_PATH_IMAGE004
为同比日期,SD_his为同比日期序列,i,j,k表示日期数,i,j,k都为正整数,i<j<k。
本实施例中,同比日期选择器可预设至少三种同比日期的目标模式,输入目标模式的参数,得到目标模式下的待检测点的同比日期序列;
Figure 250572DEST_PATH_IMAGE019
其中,
Figure 726552DEST_PATH_IMAGE020
用于判断第i天
Figure 547878DEST_PATH_IMAGE002
是否为待检测点日期
Figure 83902DEST_PATH_IMAGE021
的同比日期,在不同的目标模式下,
Figure 990678DEST_PATH_IMAGE020
的计算方式不同;
具体的:
(1)当目标模式为全场景模式时,待检测点的同比历史日期为训练数据中的全部日期,不考虑节假日;
Figure 4770DEST_PATH_IMAGE022
需要说明的是,全场景模式适用于与节假日无关的领域。
(2)当目标模式为节假日模式时,计算待检测点的同比历史日期通过将“工作日与工作日比较、节假日与节假日比较”的方式;
Figure 946181DEST_PATH_IMAGE023
其中,is_workday(dx)用于计算第x天dx对应的日期是否为工作日;这里的工作日优选为除节假日以外的日期,节假日优选的为国家法定节假日,即工作日优选为除了国家法定节假日以外的日期;需要说明的是,节假日模式适用于大部分与节假日相关的通用领域。
(3)当目标模式为交易日模式时,待检测点的同比历史日期通过将“交易日与交易日比较,非交易日与非交易日比较”的方式:
Figure 653106DEST_PATH_IMAGE025
其中,is_tradingday(dx)用于计算第x天dx对应的日期是否为交易日;这里的交易日与工作日不同,交易日仅包含工作日中每周的周一至周五的日期;需要说明的是,交易日模式适用于一些特殊领域。
通过上述的目标模式得到用于判断第i天
Figure 312758DEST_PATH_IMAGE002
是否为待检测点日期
Figure 130541DEST_PATH_IMAGE021
的同比日期的
Figure 660879DEST_PATH_IMAGE020
(或is_workday(dx),或is_tradingday(dx)),进而得到待检测点的同比日期序列
Figure 538705DEST_PATH_IMAGE001
,其中,
Figure 420074DEST_PATH_IMAGE002
Figure 41548DEST_PATH_IMAGE003
Figure 691972DEST_PATH_IMAGE004
为待检测点的同比日期,SD_his为同比日期序列。
上述的过程考虑到了领域适用性的问题,根据领域选择不同的目标模式,进而计算得到待检测点的同比日期序列。
本发明一可选的实施例中,步骤12包括:
步骤121,根据预设滑动窗口的窗长,获得待检测点的同比时间点矩阵,所述同比时间点矩阵为:
Figure 475120DEST_PATH_IMAGE005
其中,l为预设滑动窗口的左半窗长,l=half_win_left;r为预设滑动窗口的右半窗长,r=half_win_right;
Figure 578206DEST_PATH_IMAGE006
表示第i天第y个待检测时间点,
Figure 3371DEST_PATH_IMAGE007
表示第j天第y个待检测时间点,
Figure 508301DEST_PATH_IMAGE008
表示第k天第y个待检测时间点。
本实施例中,窗长包括预设滑动窗口的左半窗长l和右半窗长r,优选的可通过滑动窗口选择器预设滑动窗口的窗长,该左半窗长l和右半窗长r可自行根据需求进行灵活配置,如,可根据需求将左半窗长l和右半窗长r配置为相等(即l=r);或可根据需求将任意一个半窗长设置为0,使得与另一个半窗长内时间点进行比较;通过预设滑动窗口的窗长,得到待检测点的同比时间点矩阵,降低了相邻点对日志异常检测的结果的影响。
本发明一可选的实施例中,步骤13包括:
步骤131,根据所述同比时间点矩阵以及时间窗口权重,得到同比取值序列;
步骤132,根据所述同比取值序列以及历史日期权重,得到历史同比取值序列。
本实施例中,根据步骤12得到的同比时间点矩阵,可得到对应的取值矩阵;并预设时间窗口权重,该预设时间窗口权重用于通过权重函数将时间窗口内的取值列表进行映射;通过同比时间点矩阵对应的取值矩阵,得到经过时间窗口权重的加权计算后的同比取值序列;
根据同比取值序列计算历史同比取值序列时需考虑历史日期权重,需要说明的是,历史日期权重种与待检测点距离越近的日期,其对应的权重越大;当一个时间点发生异常后,该时间点异常的影响会随着时间的发展不断消退;因此根据同比取值序列以及历史日期权重,得到经过历史日期权重的加权计算后的历史同比取值序列。
具体的,步骤131包括:
步骤1311,通过公式:
Figure 727930DEST_PATH_IMAGE009
得到同比取值序列;
其中,SV_win为同比取值序列;wy为第y个待检测时间点的权重;为第i天的待检测时间点的取值;
MVdod为同比时间点矩阵对应的取值矩阵对应的取值序列矩阵:
Figure 583891DEST_PATH_IMAGE011
Figure 547168DEST_PATH_IMAGE012
表示第i天第j个点的取值,l为预设滑动窗口的左半窗长,r为预设滑动窗口的右半窗长;
Wwin为时间窗口权重:
Figure 906605DEST_PATH_IMAGE026
本实施例中,MVdod为同比时间点矩阵对应的取值矩阵对应的取值序列矩阵,当同比时间点矩阵为
Figure 297135DEST_PATH_IMAGE005
时,对应的取值矩阵对应的取值序列矩阵为
Figure 374812DEST_PATH_IMAGE011
;其中,同比时间点矩阵MTdod中dk表示第k天,ty+r表示第y+r个点,dkty+r表示第k天第y+r个点;同比时间点矩阵MVdod中Vdkty+r表示第k天第y+r个点的取值,该取值Vdkty+r与同比时间点矩阵MTdod一一对应;
预设时间窗口权重Wwin
Figure 141780DEST_PATH_IMAGE026
,经过时间窗口权重Wwin对取值序列矩阵进行加权计算:
Figure 621303DEST_PATH_IMAGE009
得到同比取值序列SV_win,该同比取值序列SV_win中的元素为每个时间窗口对应的取值;
另外,需要说明的是,时间窗口权重中不同位置的权重是不一样的,距离中心点越近,权重越大,反之,距离中心点越远,权重越小;时间窗口权重Wwi优选通过高斯分布或对称均匀分布等方式进行设置。
具体的,步骤132包括:
步骤1321,通过公式:
Figure 182734DEST_PATH_IMAGE014
得到历史同比取值序列;
其中,Vhis为历史同比取值序列;SV_win为同比取值序列,
Figure 747708DEST_PATH_IMAGE015
;Whis为历史日期权重,
Figure 52787DEST_PATH_IMAGE016
本实施例中,预设历史日期权重为
Figure 386816DEST_PATH_IMAGE016
;通过公式
Figure 119149DEST_PATH_IMAGE014
得到历史同比取值序列Vhis;需要说明的是,历史日期权重优选通过s型生长曲线(sigmoid函数)或均匀分布等方式进行设置;
通过上述方式得到历史同比取值序列,考虑到了日志的连续性以及异常点的影响,且使得日志异常检测具备学习能力,提高了日志异常检测的准确性。
本发明一可选的实施例中,步骤14包括:
步骤141,根据所述历史同比取值序列,通过公式
Figure 171419DEST_PATH_IMAGE017
Figure 14610DEST_PATH_IMAGE018
,确定检测取值范围(𝜇-nσ,𝜇+nσ);其中,𝜇为第一参数,σ为第二参数,n为置信度,Xi为历史同比取值序列中的元素,i为历史同比取值序列中的元素的下标,i为正整数,N为历史同比取值序列中的元素的数量;
步骤142,判断所述待检测点是否在所述检测取值范围(𝜇-nσ,𝜇+nσ)内,得到日志异常检测结果。
本实施例中,对待检测点进行异常检测通过n-sigma算法得到历史同比取值序列对应的历史数据的检测取值范围(𝜇-nσ,𝜇+nσ),判断待检测点是否在检测取值范围(𝜇-nσ,𝜇+nσ)内得到日志异常检测结果;
n-sigma算法的置信度准则为样本取值大概率集中在检测取值范围(𝜇-nσ,𝜇+nσ)内,若超出该检测取值范围的概率较小,超出该检测取值范围可被认为是小概率事件;检测取值范围(𝜇-nσ,𝜇+nσ)中包括置信度n、第一参数𝜇和第二参数σ;置信度n可根据需求预设,优选的n=3;
其中,第一参数𝜇可通过公式:
Figure 203146DEST_PATH_IMAGE027
计算得到;其中,𝜇为第一参数,Xi为历史同比取值序列中的元素(即历史数据),i为历史同比取值序列中的元素的下标,i为正整数,N为历史同比取值序列中的元素的数量;
第二参数σ可通过公式:
Figure 371959DEST_PATH_IMAGE018
计算得到;其中,σ为第二参数,𝜇为第一参数,Xi为历史同比取值序列中的元素(即历史数据),i为历史同比取值序列中的元素的下标,i为正整数,N为历史同比取值序列中的元素的数量;
当待检测点对应的数据X> 𝜇+nσ时,则日志异常检测结果为突增异常;
当待检测点对应的数据X< 𝜇-nσ时,则日志异常检测结果为突降异常。
需要说明的是,待检测点进行异常检测还可以通过动态基线或自动阈值等通用的时间序列异常检测方法进行异常检测。
如图2所示,一个具体的实施例1中,向日志数据结构化的算法中输入原始日志数据,对该原始日志数据进行结构化处理,得到结构化日志数据;对结构化日志数据进行日志模式识别(解析),得到每条结构化日志数据的模式;根据所述结构化日志数据的模式,对结构化原始日志数据进行压缩处理,得到时间序列数据;将时间序列数据通过同比日期选择器,输入模式参数,选择目标模式下的待检测点的同比日期序列,进行基于目标模式的同比日期计算,得到同比日期序列,其中,目标模式包括全场景模式、节假日模式以及交易日模式中的任意一种;
进而根据时间窗口选择器,预设滑动窗口的窗长,根据预设滑动窗口的窗长种左右半窗长的参数,得到同比时间点矩阵,进行基于层次权重的历史同比值计算,得到同比取值序列矩阵,根据时间窗权重,计算得到同比取值序列,结合预设的历史日期权重,进行历史同比取值计算,得到历史同比取值序列;
根据历史同比取值序列,判断待检测点是否为检测异常结果;若为检测异常结果,则产生告警并输出异常的检测值,若不为检测异常结果,则直接输出检测值。
如图3和图4所示,一个具体的实施例2中,以第一运营商的时间跨度为9天的脱敏业务日志为例进行日志异常检测,原始日志数据共34.8万条;对原始日志数据进行日志数据的结构化处理,将半结构化的原始日志数据转化为结构化数据,提取原始日志数据中datetime, timestamp, level,content,thread_id,raw_log字段,例如:
原始日志数据为:
02:52:03.715 [[ACTIVE] ExecuteThread: '62' for queue: 'weblogic.kernel.Default (self-tuning)']INFOc.s.c.l.a.s.CallService [126] -TransUtils.getSendUrl(transMsg.getCmdCode()) = http://127.0.0.1:3913/v1/Prov/soa
Figure 911525DEST_PATH_IMAGE028
province=551;
对原始日志数据进行结构化处理后,得到的结构化数据如下表1所示:
Figure 292827DEST_PATH_IMAGE029
表1
进一步的,对结构化数据中的content字段进行模式解析处理,例如:
content字段为:
Content: TransUtils.getSendUrl(transMsg.getCmdCode())=http://127.0.0.1:3913/v1/Prov/soa
Figure 601449DEST_PATH_IMAGE028
province=551;
得到的模式解析结果为:
TransUtils.getSendUrl(transMsg.getCmdCode())=<url>;得到了399个模式;
如图3所示,根据模式解析结果进行时间序列映射,得到时间序列,具体的,将日志的模式以5分钟时间粒度进行聚合得到模式的时间序列,模式为“TransUtils.getSendUrl(transMsg.getCmdCode())=<url>”的时间序列如图3所示;
如图4所示,根据时间序列,设置训练天数m=7, 以5分钟粒度聚合,interval_ms=5*60*1000, 每天包含点数n = 24*60*60*1000/interval_ms=288, 以20xx-08-02 16:40-16:45的聚合区间的点为例说明具体异常检测过程,其中,20xx是指2000至2099中的任意一个数字,训练天数为7天,则x=8,y=200,待检测点为(T_(d_8 t_200 ),V_(d_8 t_200 )=84);
通过同比日期选择器,根据第一运营商的原始日志数据的特点,选择模式为全场景模式,模式参数设置为0,计算同比日期序列为:
Figure 675584DEST_PATH_IMAGE030
通过同比日期序列对应的日期下标表示该序列为:
Figure 436867DEST_PATH_IMAGE031
通过滑动窗口选择器,设置滑动窗口的窗长中的左半窗长和右半窗长相等,即:
half_win_left=half_win_right=2;
则待检测点的同比时间点矩阵为:
Figure 887440DEST_PATH_IMAGE032
其对应的取值序列矩阵为:
Figure 50568DEST_PATH_IMAGE033
将20xx-08-01之前的6天的数据设置为0;
以均匀对称分布进行初始化,设置时间窗权重为
Figure 295604DEST_PATH_IMAGE034
经过时间窗口权重加权计算后的同比取值序列为
Figure 809762DEST_PATH_IMAGE035
以sigmoid函数进行初始化,得到历史日期权重为
Figure 798447DEST_PATH_IMAGE036
历史日期权重对应的历史同比取值为
Figure 409557DEST_PATH_IMAGE037
根据历史同比取值,通过n-simga算法进行异常检测,设置置信度n=3,计算历史数据的上下界为[-32.91, 43.28],当待检测点超过上下界,则可判定该待检测点为异常点;
模式为“TransUtils.getSendUrl(transMsg.getCmdCode())=<url>”的整体异常检测结果如图4所示。
本发明的方案通过获得待检测点的同比日期序列;获得待检测点在滑动窗口内的同比时间点矩阵;根据所述同比时间点矩阵以及所述同比时间点矩阵对应的取值矩阵,利用层次权重,得到历史同比取值序列;根据所述历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果;解决了传统的日志模式异常检测算法不具备领域适用性的问题,降低了日志异常检测的误报率,提高了检测准确率,具备学习功能和领域适用性,可随时间降低异常模式带来的干扰。
如图5所示,本发明还提供一种日志异常检测装置50,所述装置50包括:
获取模块51,用于获得待检测点的同比日期序列;获得待检测点在滑动窗口内的同比时间点矩阵;
处理模块52,用于根据所述同比时间点矩阵以及所述同比时间点矩阵对应的取值矩阵,利用层次权重,得到历史同比取值序列;根据所述历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果。
可选的,获得待检测点的同比日期序列,包括:
通过同比日期选择器,选择目标模式下的待检测点的同比日期序列,得到待检测点的同比日期序列;
所述目标模式包括以下至少一种:全场景模式,节假日模式,交易日模式;
所述同比日期序列为
Figure 966440DEST_PATH_IMAGE001
,其中,
Figure 826949DEST_PATH_IMAGE002
Figure 494690DEST_PATH_IMAGE003
Figure 491465DEST_PATH_IMAGE004
为同比日期,SD_his为同比日期序列,i,j,k表示日期数,i,j,k都为正整数,i<j<k。
可选的,获得待检测点的同比时间点矩阵,包括:
根据预设滑动窗口的窗长,获得待检测点的同比时间点矩阵,所述同比时间点矩阵为:
Figure 219250DEST_PATH_IMAGE005
其中,l为预设滑动窗口的左半窗长,l=half_win_left;r为预设滑动窗口的右半窗长,r=half_win_right;
Figure 567055DEST_PATH_IMAGE006
表示第i天第y个待检测时间点,
Figure 772908DEST_PATH_IMAGE007
表示第j天第y个待检测时间点,
Figure 167067DEST_PATH_IMAGE008
表示第k天第y个待检测时间点。
可选的,根据所述同比时间点矩阵以及所述同比时间点矩阵对应的取值矩阵,利用层次权重,得到历史同比取值序列,包括:
根据所述同比时间点矩阵以及时间窗口权重,得到同比取值序列;
根据所述同比取值序列以及历史日期权重,得到历史同比取值序列。
可选的,根据所述同比时间点矩阵以及时间窗口权重,得到同比取值序列,包括:
通过公式:
Figure 65752DEST_PATH_IMAGE009
得到同比取值序列;
其中,SV_win为同比取值序列;wy为第y个待检测时间点的权重;
Figure 635274DEST_PATH_IMAGE010
为第i天的待检测时间点的取值;
MVdod为同比时间点矩阵对应的取值序列矩阵:
Figure 644818DEST_PATH_IMAGE011
Figure 881765DEST_PATH_IMAGE012
表示第i天第j个点的取值,l为预设滑动窗口的左半窗长,r为预设滑动窗口的右半窗长;
Wwin为时间窗口权重:
Figure 685773DEST_PATH_IMAGE026
可选的,根据所述同比取值序列以及历史日期权重,得到历史同比取值序列,包括:
通过公式:
Figure 742590DEST_PATH_IMAGE014
得到历史同比取值序列;
其中,Vhis为历史同比取值序列;SV_win为同比取值序列,
Figure 555825DEST_PATH_IMAGE015
;Whis为历史日期权重,
Figure 381699DEST_PATH_IMAGE016
可选的,根据所述历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果,包括:
根据所述历史同比取值序列,通过公式
Figure 356608DEST_PATH_IMAGE017
Figure 166301DEST_PATH_IMAGE018
,确定检测取值范围(𝜇-nσ,𝜇+nσ);其中,𝜇为第一参数,σ为第二参数,n为置信度,Xi为历史同比取值序列中的元素,i为历史同比取值序列中的元素的下标,i为正整数,N为历史同比取值序列中的元素的数量;
判断所述待检测点是否在所述检测取值范围(𝜇-3σ,𝜇+3σ)内,得到日志异常检测结果。
需要说明的是,该装置是与上述方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
本发明的实施例还提供一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上所述的方法对应的操作。
本发明的实施例还提供一种计算机可读存储介质,存储有指令,所述指令在计算机上运行时,使得计算机执行如上所述的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种日志异常检测方法,其特征在于,包括:
获得待检测点的同比日期序列;
获得待检测点在滑动窗口内的同比时间点矩阵;
根据所述同比时间点矩阵以及所述同比时间点矩阵对应的取值矩阵,利用层次权重,得到历史同比取值序列,包括:根据所述同比时间点矩阵以及时间窗口权重,得到同比取值序列;根据所述同比取值序列以及历史日期权重,得到历史同比取值序列;
根据所述历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果。
2.根据权利要求1所述的日志异常检测方法,其特征在于,获得待检测点的同比日期序列,包括:
通过同比日期选择器,选择目标模式下的待检测点的同比日期序列,得到待检测点的同比日期序列;
所述目标模式包括以下至少一种:全场景模式,节假日模式,交易日模式;
所述同比日期序列为SD_his=[di,…dj,…,dk]T,其中,di,dj,dk为同比日期,SD_his为同比日期序列,i,j,k表示日期数,i,j,k都为正整数,i<j<k。
3.根据权利要求1所述的日志异常检测方法,其特征在于,获得待检测点的同比时间点矩阵,包括:
根据预设滑动窗口的窗长,获得待检测点的同比时间点矩阵,所述同比时间点矩阵为:
Figure DEST_PATH_IMAGE002
其中,
Figure DEST_PATH_IMAGE003
为预设滑动窗口的左半窗长,
Figure 849250DEST_PATH_IMAGE003
=half_win_left;r为预设滑动窗口的右半窗长,r=half_win_right;dity表示第i天第y个待检测时间点,djty表示第j天第y个待检测时间点,dkty表示第k天第y个待检测时间点。
4.根据权利要求3所述的日志异常检测方法,其特征在于,根据所述同比时间点矩阵以及时间窗口权重,得到同比取值序列,包括:
通过公式:
Figure DEST_PATH_IMAGE005
得到同比取值序列;
其中,SV_win为同比取值序列;wy为第y个待检测时间点的权重;
Figure DEST_PATH_IMAGE006
为第j天的待检测时间点的取值;
MVdod为同比时间点矩阵对应的取值序列矩阵:
Figure DEST_PATH_IMAGE008
Figure DEST_PATH_IMAGE009
表示第i天第j个点的取值,
Figure 206151DEST_PATH_IMAGE003
为预设滑动窗口的左半窗长,r为预设滑动窗口的右半窗长;
Wwin为时间窗口权重:
Figure DEST_PATH_IMAGE011
5.根据权利要求4所述的日志异常检测方法,其特征在于,根据所述同比取值序列以及历史日期权重,得到历史同比取值序列,包括:
通过公式:
Figure DEST_PATH_IMAGE013
得到历史同比取值序列;
其中,Vhis为历史同比取值序列;SV_win为同比取值序列,
Figure DEST_PATH_IMAGE014
;Whis为历史日期权重,
Figure DEST_PATH_IMAGE016
6.根据权利要求1所述的日志异常检测方法,其特征在于,根据所述历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果,包括:
根据所述历史同比取值序列,通过公式
Figure DEST_PATH_IMAGE017
Figure DEST_PATH_IMAGE018
,确定检测取值范围(
Figure DEST_PATH_IMAGE019
);其中,
Figure DEST_PATH_IMAGE020
为第一参数,σ为第二参数,n为置信度,Xi为历史同比取值序列中的元素,i为历史同比取值序列中的元素的下标,i为正整数,N为历史同比取值序列中的元素的数量;
判断所述待检测点是否在所述检测取值范围(
Figure DEST_PATH_IMAGE021
)内,得到日志异常检测结果。
7.一种日志异常检测装置,其特征在于,所述装置包括:
获取模块,用于获得待检测点的同比日期序列;获得待检测点在滑动窗口内的同比时间点矩阵;
处理模块,用于根据所述同比时间点矩阵以及所述同比时间点矩阵对应的取值矩阵,利用层次权重,得到历史同比取值序列,包括:根据所述同比时间点矩阵以及时间窗口权重,得到同比取值序列,根据所述同比取值序列以及历史日期权重,得到历史同比取值序列;根据所述历史同比取值序列,对待检测点进行异常检测,获得日志异常检测结果。
8.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的方法对应的操作。
9.一种计算机可读存储介质,其特征在于,存储有指令,所述指令在计算机上运行时,使得计算机执行如权利要求1至6任一项所述的方法。
CN202210051666.4A 2022-01-18 2022-01-18 一种日志异常检测方法、装置及设备 Active CN114064441B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210051666.4A CN114064441B (zh) 2022-01-18 2022-01-18 一种日志异常检测方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210051666.4A CN114064441B (zh) 2022-01-18 2022-01-18 一种日志异常检测方法、装置及设备

Publications (2)

Publication Number Publication Date
CN114064441A CN114064441A (zh) 2022-02-18
CN114064441B true CN114064441B (zh) 2022-04-19

Family

ID=80231242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210051666.4A Active CN114064441B (zh) 2022-01-18 2022-01-18 一种日志异常检测方法、装置及设备

Country Status (1)

Country Link
CN (1) CN114064441B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120033B2 (en) * 2018-05-16 2021-09-14 Nec Corporation Computer log retrieval based on multivariate log time series
CN109688188B (zh) * 2018-09-07 2022-08-19 平安科技(深圳)有限公司 监控告警方法、装置、设备及计算机可读存储介质
CN112363896B (zh) * 2020-09-02 2023-12-05 大连大学 日志异常检测系统
CN113553245B (zh) * 2021-05-20 2022-04-19 中国海洋大学 结合双向切片gru与门控注意力机制日志异常检测方法

Also Published As

Publication number Publication date
CN114064441A (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
CN111178456B (zh) 异常指标检测方法、装置、计算机设备和存储介质
CN111475804B (zh) 一种告警预测方法及系统
CN110928718B (zh) 一种基于关联分析的异常处理方法、系统、终端及介质
CN113518011B (zh) 异常检测方法和装置、电子设备及计算机可读存储介质
CN111444060A (zh) 异常检测模型训练方法、异常检测方法及相关装置
CN113641993A (zh) 一种基于云计算的数据安防处理方法及数据安防服务器
CN114186626A (zh) 一种异常检测方法、装置、电子设备及计算机可读介质
CN115296933B (zh) 一种工业生产数据风险等级评估方法及系统
Weiß Monitoring correlated processes with binomial marginals
CN111796957A (zh) 基于应用日志的交易异常根因分析方法及系统
CN113537337A (zh) 训练方法、异常检测方法、装置、设备和存储介质
CN110956278A (zh) 重新训练机器学习模型的方法和系统
CN111125186B (zh) 一种基于调查问卷的数据处理方法及系统
CN116028315A (zh) 作业运行预警方法、装置、介质及电子设备
CN115034315A (zh) 基于人工智能的业务处理方法、装置、计算机设备及介质
CN114064441B (zh) 一种日志异常检测方法、装置及设备
CN116843395A (zh) 一种业务系统的告警分级方法、装置、设备及存储介质
CN116545867A (zh) 一种监控通信网络网元性能指标异常的方法及装置
CN114581219A (zh) 一种反电信网络诈骗预警方法及系统
CN115392351A (zh) 风险用户识别方法、装置、电子设备及存储介质
KR20230076938A (ko) 효율적인 악성 위협 탐지를 위한 valuable alert 선별 방법
CN113961441A (zh) 告警事件处理方法、审计方法、装置、设备、介质和产品
CN114385472A (zh) 一种异常数据的检测方法、装置、设备及存储介质
CN114090377A (zh) 一种数据监控方法及装置
Marseguerra Early detection of gradual concept drifts by text categorization and Support Vector Machine techniques: The TRIO algorithm

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