一种日志异常的预警方法、装置、电子设备及存储介质与流程

文档序号:28970393发布日期:2022-02-19 15:39阅读:106来源:国知局
一种日志异常的预警方法、装置、电子设备及存储介质与流程

1.本发明涉及计算机技术领域,具体涉及一种日志异常的预警方法、装置、电子设备及存储介质。


背景技术:

2.目前,几乎所有的后端服务运行时都会实时产生日志数据,记录后端服务在运行过程中的事件和系统状态。日志数据在运维监控系统的异常检测和预警扮演重要作用。
3.现有技术中,大型在线服务通常由数百名开发和运维人员分别进行开发和维护,开发人员和运维人员倾向于从局部视角来分析日志的异常,因此很容易造成日志分析的不准确。此外,由于日志数量激增,手工分析日志数据异常的方式变得不实际。传统的自动检测日志数据异常的方式是基于正则表达式的关键字匹配,这种方式需要根据经验生成关键词库,由于无法穷举容易遗漏关键词且容易产生很多噪音,导致异常检测的可靠性低。


技术实现要素:

4.针对现有技术中的问题,本发明实施例提供一种日志异常的预警方法、装置、电子设备及存储介质,能够至少部分地解决现有技术中存在的问题。
5.一方面,本发明提出一种日志异常的预警方法,包括:
6.依次对每条日志数据进行分类和序列化,获得各个分类标识对应的模板序列;其中,每条日志数据对应一个分类标识;
7.统计每个分类标识对应的模板序列包括的模板标识的数量,并基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识;其中,所述日志预测模型是基于历史日志数据预先训练获得的;
8.根据模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识和实际模板标识,统计预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量;
9.若判断获知所述预测失败量大于设定阈值,则进行日志异常预警。
10.另一方面,本发明提供一种日志异常的预警装置,包括:
11.获得模块,用于依次对每条日志数据进行分类和序列化,获得各个分类标识对应的模板序列;其中,每条日志数据对应一个分类标识;
12.预测模块,用于统计每个分类标识对应的模板序列包括的模板标识的数量,并基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识;其中,所述日志预测模型是基于历史日志数据预先训练获得的;
13.统计模块,用于根据模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识和实际模板标识,统计预设时间段内模板标识的数量等于预设数量的
分类标识对应的下一条日志数据对应的预测失败量;
14.预警模块,用于在判断获知所述预测失败量大于设定阈值之后,进行日志异常预警。
15.再一方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述日志异常的预警方法的步骤。
16.又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述日志异常的预警方法的步骤。
17.还一方面,本发明提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述日志异常的预警方法的步骤。
18.本发明实施例提供的日志异常的预警方法、装置、电子设备及存储介质,能够依次对每条日志数据进行分类和序列化,获得各个分类标识对应的模板序列,统计每个分类标识对应的模板序列包括的模板标识的数量,并基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识,根据模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识和实际模板标识,统计预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量,若判断获知预测失败量大于设定阈值,则进行日志异常预警,提高了日志异常预警的可靠性。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
20.图1是本发明第一实施例提供的日志异常的预警方法的流程示意图。
21.图2是本发明第二实施例提供的日志异常的预警方法的流程示意图。
22.图3是本发明第三实施例提供的日志异常的预警方法的流程示意图。
23.图4是本发明第四实施例提供的日志异常的预警方法的流程示意图。
24.图5是本发明第五实施例提供的日志异常的预警方法的流程示意图。
25.图6是本发明第六实施例提供的日志异常的预警方法的流程示意图。
26.图7是本发明第七实施例提供的日志异常的预警方法的流程示意图。
27.图8是本发明第八实施例提供的日志异常的预警方法的流程示意图。
28.图9是本发明第九实施例提供的日志异常的预警方法的流程示意图。
29.图10是本发明第十实施例提供的日志异常的预警装置的结构示意图。
30.图11是本发明第十一实施例提供的日志异常的预警装置的结构示意图。
31.图12是本发明第十二实施例提供的日志异常的预警装置的结构示意图。
32.图13是本发明第十三实施例提供的日志异常的预警装置的结构示意图。
33.图14是本发明第十四实施例提供的日志异常的预警装置的结构示意图。
34.图15是本发明第十五实施例提供的日志异常的预警装置的结构示意图。
35.图16是本发明第十六实施例提供的日志异常的预警装置的结构示意图。
36.图17是本发明第十七实施例提供的日志异常的预警装置的结构示意图。
37.图18是本发明第十八实施例提供的日志异常的预警装置的结构示意图。
38.图19是本发明第十九实施例提供的电子设备的实体结构示意图。
具体实施方式
39.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互任意组合。
40.为了便于理解本技术提供的技术方案,下面先对本技术技术方案的相关内容进行说明。日志数据是一种文本数据,正常日志和异常日志存在明显的差别。当前深度学习技术在文本数据挖掘中具有很多优秀表现,尤其是bert(bidirectional encoder representations from transformers,简称bert),门控循环单元(gated recurrent unit,简称gru),双向长短期记忆(bi-directional long short-term memory,简称bilstm),注意力机制(attention)等模型被广泛应用于文本分析领域。在大规模在线服务和海量日志数据处理的背景下,为了更快地发现日志数据的异常,提高日志数据处理的自动化,本发明利用历史日志数据和深度学习技术,训练获得日志预测模型,再基于日志预测模型对在线日志数据进行预测,以对异常的日志数据进行预警。
41.下面以服务器作为执行主体为例,来说明本发明实施例提供的日志异常的预警方法的具体实现过程。可理解的是,本发明实施例提供的日志异常的预警方法的执行主体不限于服务器。
42.图1是本发明第一实施例提供的日志异常的预警方法的流程示意图,如图1所示,本发明实施例提供的日志异常的预警方法,包括:
43.s101、依次对每条日志数据进行分类和序列化,获得各个分类标识对应的模板序列;其中,每条日志数据对应一个分类标识;
44.具体地,服务器可以获取实时日志数据,然后依次对每条日志数据进行分类和序列化,可以获得各个分类标识对应的模板序列,所述模板序列包括多个依次排列的模板标识,各个模板标识的排列顺序是按照各个模板标识对应的各条日志数据的时间戳的先后顺序进行排列的,可以视为时间序列数据。其中,所述分类标识是预设的,可以采用进程号或者线程号。每条日志数据都会包括所述分类标识。
45.s102、统计每个分类标识对应的模板序列包括的模板标识的数量,并基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识;其中,所述日志预测模型是基于历史日志数据预先训练获得的;
46.具体地,由于实时日志数据是不断变化的,获得的分类标识对应的模板序列包括的模板标识的数量也会变化,所述服务器会统计每个分类标识对应的模板序列包括的模板标识的数量,在模板标识的数量等于预设数量时,基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,可以获得模板标识的数量等于预设数量
的分类标识对应的下一条日志数据的预测模板标识,上述预测模板标识可以有多个。其中,所述日志预测模型是基于历史日志数据预先训练获得的。所述预设数量根据实际需要进行设置,本发明实施例不做限定。
47.需要说明的是,模板标识的数量等于预设数量的分类标识对应的下一条日志数据是模板标识的数量等于预设数量的分类标识对应的模板序列所对应的预设数量条日志数据的下一条日志数据,比如,上述预设数量条日志数据为n条日志数据,那么上述预设数量条日志数据的下一条日志数据为第n+1条日志数据。其中,上述n+1条日志数据具有相同的分类标识,这n+1条日志数据具有时间先后关系。
48.可理解的是,所述分类标识对应的模板序列包括的模板标识的数量等于预设数量之后,会重新获取所述分类标识对应的模板序列。
49.s103、根据模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识和实际模板标识,统计预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量;
50.具体地,所述服务器可以获取模板标识的数量等于预设数量的分类标识对应的下一条日志数据,然后对上述下一条日志数据进行模板匹配,能够获得所述下一条日志数据对应的模板标识,将其作为模板标识的数量等于预设数量的分类标识对应的下一条日志数据的实际模板标识。所述服务器根据所述下一条日志数据的预测模板标识和实际模板标识,可以确定所述下一条日志数据的模板标识是否预测失败。在预设时间段内,所述服务器可以获得多个所述下一条日志数据,确定每个所述下一条日志数据的模板标识是否预测失败,统计所述预设时间段内各个所述下一条日志数据的模板预测失败的数量作为预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量。其中,所述预设时间段根据实际需要进行设置,本发明实施例不做限定。
51.例如,所述服务器在获得所述下一条日志数据的预测模板标识和实际模板标识之后,将上述实际模板标识与上述预测模板标识包括的每个模板标识进行比较,如果上述预测模板标识包括的模板标识中存在与实际模板标识相同的模板标识,可以确定所述下一条日志数据的模板标识预测成功。如果上述预测模板标识包括的模板标识中不存在与实际模板标识相同的模板标识,可以确定所述下一条日志数据的模板标识预测失败。
52.例如,在所述预设时间段内,获得分类标识a对应的下一条日志数据的模板标识预测失败了3次,获得分类标识b对应的下一条日志数据的模板标识预测失败了2次,获得分类标识c对应的下一条日志数据的模板标识预测失败了1次,那么所述服务器统计预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量为3+2+1=6。
53.s104、若判断获知所述预测失败量大于设定阈值,则进行日志异常预警。
54.具体地,所述服务器在获得所述预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量之后,将上述预测失败量与设定阈值进行比较,如果上述预测失败量大于所述设定阈值,那么可以通过系统消息、邮件等方式进行日志异常预警。其中,所述设定阈值根据实际需要进行设置,本发明实施例不做限定。
55.本发明实施例提供的日志异常的预警方法,能够依次对每条日志数据进行分类和序列化,获得各个分类标识对应的模板序列,统计每个分类标识对应的模板序列包括的模
板标识的数量,并基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识,根据模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识和实际模板标识,统计预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量,若判断获知预测失败量大于设定阈值,则进行日志异常预警,提高了日志异常预警的可靠性。
56.图2是本发明第二实施例提供的日志异常的预警方法的流程示意图,如图2所示,在上述各实施例的基础上,进一步地,所述依次对每条日志数据进行分类和序列化,获得各个分类标识对应的模板序列包括:
57.s201、对每条日志数据进行模板匹配,获得每条日志数据对应的模板标识;
58.具体地,所述服务器可以获取日志数据,然后对每条日志数据进行模板匹配,获得与每条日志数据匹配的日志模板,获取匹配的日志模板的模板标识作为每条日志数据对应的模板标识。
59.其中,可以预先建立日志模板库,日志模板库包括多个日志模板,每个日志模板具有唯一对应的模板标识。每条日志数据包括固定字符串和变量,可以通过对历史日志数据进行聚类,并提取出固定字符串和将变量用通配符替代,获得不同的日志模板,所述日志模板与日志标识一一对应,日志模板包括模板内容,模板内容包括固定字符串和通配符构成的正则表达式,正则表达式用于进日志数据匹配,如果日志数据与日志模板包括的正则表达式匹配,说明日志数据与日志模板匹配,那么将日志模板对应的模板标识作为该日志数据对应的模板标识。其中,可以通过logmine工具进行日志模板的提取,实现日志模板库的建立。
60.在将日志数据进行模板匹配时,会遍历日志模板库中的每个日志模板,判断各个日志模板中是否存在与日志数据匹配的正则表达式,如果存在与日志数据匹配的正则表达式,说明日志数据与日志模板匹配,那么该正则表达式所属的日志模板对应的模板标识会作为所述日志数据对应的模板标识。
61.此外,如果在日志模板库中没有找到与日志数据匹配的日志模板,那么对没有找到匹配日志模板的日志数据进行日志模板提取,建立新的日志模板。
62.s202、根据分类标识对每条日志数据进行分类,获得每条日志数据对应的分类标识;
63.具体地,对于每条日志数据,所述服务器根据分类标识在所述日志数据中进行查询,如果所述日志数据包括所述分类标识,那么将所述分类标识作为所述日志数据对应的分类标识。其中,步骤s201和步骤s202之间没有先后顺序关系。所述分类标识可以采用进程号或者线程号,根据实际需要进行设置,本发明实施例不做限定。
64.s203、根据各条日志数据对应的分类标识、各条日志数据对应的模板标识以及各条日志数据对应的时间戳,获得各个分类标识对应的模板序列。
65.具体地,所述服务器将具有相同的分类标识的日志数据,按照各条日志数据对应的时间戳的先后顺序,对各条日志数据对应的模板标识进行排序,获得各个分类标识对应的模板序列。对于实时日志数据,在获得最新的日志数据对应的分类标识和模板标识之后,可以根据所述分类标识查询是否已经建立所述分类标识对应的模板序列,如果已经建立的
有所述分类标识对应的模板序列,那么可以直接将最新的日志数据对应的模板标识作为所述分类标识对应的模板序列的最后一个模板标识。如果还没有建立所述分类标识对应的模板序列,那么建立所述分类标识对应的模板序列,并将最新的日志数据对应的模板标识作为所述分类标识对应的模板序列的第一个模板标识。
66.图3是本发明第三实施例提供的日志异常的预警方法的流程示意图,如图3所示,在上述各实施例的基础上,进一步地,所述基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识包括:
67.s301、对模板标识的数量等于预设数量的分类标识对应的模板序列进行特征处理,获得所述分类标识对应的预测特征数据;
68.具体地,所述服务器在判断出所述分类标识对应的模板序列包括的模板标识的数量等于所述预设数量之后,会对上述分类标识对应的模板序列进行特征处理,获得所述分类标识对应的预测特征数据。特征处理的的具体过程见下文所述,此处不进行赘述。
69.s302、根据所述分类标识对应的预测特征数据以及日志预测模型,获得所述分类标识对应的下一条日志数据的预测模板标识。
70.具体地,所述服务器在获得所述分类标识对应的预测特征数据之后,将所述分类标识对应的预测特征数据输入到日志预测模型中,经过所述日志预测模型的处理,能够输出所述分类标识对应的下一条日志数据的预测模板标识,上述预测模板标识可以包括多个模板标识,根据实际需要进行设置,本发明实施例不做限定。
71.图4是本发明第四实施例提供的日志异常的预警方法的流程示意图,如图4所示,在上述各实施例的基础上,进一步地,所述对模板标识的数量等于预设数量的分类标识对应的模板序列进行特征处理,获得所述分类标识对应的预测特征数据包括:
72.s401、根据所述模板序列包括的每个模板标识以及模板向量库,获得每个模板标识对应的日志模板向量;其中,所述模板向量库是预先建立的,包括与模板标识一一对应的日志模板向量;
73.具体地,所述服务器根据所述模板序列包括的每个模板标识,从模板向量库中查询对应的日志模板向量,可以获得所述模板序列中每个模板标识对应的日志模板向量。其中,所述模板向量库是预先建立的,所述模板向量库包括多个日志模板向量,所述日志模板向量与所述模板标识一一对应。
74.s402、统计所述模板序列包括的相同模板标识的数量,作为各个模板标识对应的频数;
75.具体地,所述服务器统计所述模板序列包括的各个模板标识中相同模板标识的数量,作为所述模板标识对应的频数,可以获得所述模板序列包括的各个不同的模板标识对应的频数。
76.例如,模板序列x包括10个依次排列的模板标识,其中有4个模板标识a,2个模板标识b,3个模板标识c和1个模板标识d,那么所述服务器可以统计出模板标识a的频数为4,模板标识b的频数为2,模板标识c的频数为3,模板标识d的频数为1。
77.s403、将所述模板序列中各个模板标识对应的日志模板向量以及对应的频数作为所述分类标识对应的预测特征数据。
78.具体地,所述服务器将所述模板序列中每个模板标识对应的日志模板向量,以及所述模板序列中各个模板标识对应的频数,作为所述模板序列所对应的分类标识对应的预测特征数据。
79.图5是本发明第五实施例提供的日志异常的预警方法的流程示意图,如图5所示,在上述各实施例的基础上,进一步地,建立模板向量库的步骤包括:
80.s501、根据日志模板和词向量库,获得所述日志模板中每个词对应的词向量;其中,所述日志模板和模板标识一一对应;所述词向量库是预先获得的;
81.具体地,所述服务器根据日志模板的模板内容中的每个词,从词向量库中查询每个词对应的词向量。其中,所述词向量库是预先获得的;所述日志模板和模板标识一一对应。
82.对于词向量库,可以使用lrwe模型对历史日志数据进行词向量训练获得,训练时还需要近义词库和反义词库作为lrwe模型的输入。其中,上述近义词库和反义词库是从历史日志数据中提取出近义词和反义词建立的,可以根据运维经验人工从历史日志数据中提取出近义词和反义词。
83.s502、计算所述日志模板包括的各个词对应的词向量的平均值,作为对应的日志模板向量;
84.具体地,所述服务器在获得所述日志模板中每个词对应的词向量之后,对各个词向量进行向量求和,然后再计算向量的平均值,获得所述日志模板对应的日志模板向量。
85.s503、将所述日志模板对应的日志模板向量与对应的模板标识对应存储。
86.具体地,所述服务器将所述日志模板对应的模板向量和所述日志模板对应的模板标识对应存储。多个日志模板向量以及各自对应的模板标识构成所述模板向量库。
87.图6是本发明第六实施例提供的日志异常的预警方法的流程示意图,如图6所示,在上述各实施例的基础上,进一步地,所述根据模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识和实际模板标识,统计预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量包括:
88.s601、对所述分类标识对应的下一条日志数据并进行模板匹配,获得所述分类标识对应的下一条日志数据的实际模板标识;
89.具体地,所述服务器可以获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据,然后对上述分类标识对应的下一条日志数据进行模板匹配,获得与上述分类标识对应的下一条日志数据匹配的日志模板,将该日志模板的模板标识作为上述分类标识对应的下一条日志数据的实际模板标识。
90.s602、若判断获知所述分类标识对应的下一条日志数据的预测模板标识不包括所述分类标识对应的下一条日志数据的实际模板标识,则记录所述分类标识对应的下一条日志数据预测失败。
91.具体地,所述服务器将所述分类标识对应的下一条日志数据的实际模板标识与所述分类标识对应的下一条日志数据的预测模板标识中的每个模板标识进行比较,如果所述分类标识对应的下一条日志数据的预测模板标识中不存在与所述分类标识对应的下一条日志数据的实际模板标识相同的模板标识,那么记录所述分类标识对应的下一条日志数据预测失败。如果所述分类标识对应的下一条日志数据的预测模板标识中存在与所述分类标
识对应的下一条日志数据的实际模板标识相同的模板标识,那么可以记录所述分类标识对应的下一条日志数据预测成功。
92.图7是本发明第七实施例提供的日志异常的预警方法的流程示意图,如图7所示,在上述各实施例的基础上,进一步地,所述基于历史日志数据训练获得日志预测模型的步骤包括:
93.s701、对所述历史日志数据进行分类和序列化,获得多个固定模板序列;其中,每个固定模板序列对应一个分类标识;
94.具体地,所述服务器可以对所述历史日志数据进行分类和序列化,获得多个固定模板序列,每个固定模板序列包括相同数量的模板标识,每个固定模板序列对应一个分类标识。其中,每个固定模板序列包括的模板标识的数量根据实际需要进行设置,本发明实施例不做限定。
95.s702、各个固定模板序列进行滑动采样,获得训练数据,并获取每条样本序列对应的下一条日志数据对应的模板标识作为每条样本序列对应的标签;其中,所述训练数据包括多条样本序列,每条样本序列的长度固定且每条样本序列对应一个分类标识;
96.具体地,所述服务器对各个固定模板序列进行滑动采样,获得多条样本序列,每条样本序列包括所述预设数量个模板标识,每条样本序列对应一个分类标识。通过各个固定模板序列采样获得的样本序列构成训练数据。所述服务器可以从所述历史日志数据中获取每条样本序列对应的下一条日志数据,然后对每条样本序列对应的下一条日志数据进行模板匹配,获得与每条样本序列对应的下一条日志数据匹配的日志模板,获取匹配的日志模板的模板标识作为每条样本序列对应的下一条日志数据对应的模板标识,该模板标识作为每条样本序列对应的标签。
97.其中,样本序列对应的下一条日志数据是样本序列包括的预设数量个模板标识对应日志数据对应的下一条日志数据,上述预设数量个模板标识对应日志数据以及对应的下一条日志数据具有相同的分类标识,并且具有时间先后关系,相对于上述预设数量个模板标识对应日志数据,上述预设数量个模板标识对应日志数据对应的下一条日志数据出现的时间最晚。
98.s703、对所述训练数据中的每条样本序列进行特征处理,获得训练特征数据;其中,所述训练特征数据包括的训练样本数据与样本序列一一对应;
99.具体地,所述服务器在获得训练数据之后,可以对所述训练数据中的每条样本序列进行特征处理,获得每条样本序列对应的训练样本数据,所有样本序列对应的训练样本数据构成所述训练特征数据。由于每条样本序列具有对应的标签,训练样本数据对应的样本序列所对应的标签,即训练样本数据对应的标签。由于训练样本数据对应的标签可以自动获得,无需进行人工标注,提高了模型的训练效率。
100.s704、根据原始组合模型、所述训练特征数据包括的训练样本数据以及对应的标签,训练获得日志预测模型。
101.具体地,可以将所述训练特征数据划分为训练集和验证集,将所述训练集包括的各条训练样本数据以及对应的标签输入到原始组合模型中,进行模型训练,获得待验证日志预测模型。再通过验证集对待验证日志预测模型进行验证,验证通过的待验证日志预测模型作为所述日志预测模型。其中,原始组合模型可以采用gru和attention模型的组合,也
可以采用长短期记忆(long short-term memory,简称lstm)和attention的组合,根据实际需要进行选择,本发明实施例不做限定。
102.图8是本发明第八实施例提供的日志异常的预警方法的流程示意图,如图8所示,在上述各实施例的基础上,进一步地,所述对所述历史日志数据进行分类和序列化,获得多个固定模板序列包括:
103.s801、逐条获取每条历史日志数据,并对每条历史日志数据进行模板匹配,获得每条历史日志数据对应的模板标识;
104.具体地,所述服务器可以从历史日志数据中逐条获取日志数据,然后对每条历史日志数据进行模板匹配,获得与每条历史日志数据对应的日志模板,将匹配的日志模板的模板标识作为每条历史日志数据对应的模板标识。本步骤的具体实现过程与步骤s201类似,此处不进行赘述。
105.s802、根据分类标识对各条历史日志数据进行分类,获得每条历史日志数据对应的分类标识;
106.具体地,对于每条历史日志数据,所述服务器根据分类标识在所述历史日志数据中进行查询,如果所述历史日志数据包括所述分类标识,那么将所述分类标识作为所述历史日志数据对应的分类标识。其中,步骤s801和步骤s802之间没有先后顺序关系。所述分类标识可以采用进程号或者线程号,根据实际需要进行设置,本发明实施例不做限定。
107.s803、根据各条历史日志数据对应的分类标识、各条历史日志数据对应的模板标识以及各条历史日志数据对应的时间戳,获得多个固定模板序列。
108.具体地,所述服务器将具有相同的分类标识的历史日志数据,按照各条历史日志数据对应的时间戳的先后顺序,对各条历史日志数据对应的模板标识进行排序。对于不同分类标识对应的排序结果,从每个排序结果中的第一个模板标识开始依次获取设定数量的模板标识构成一个固定模板序列,可以获得多个固定模板序列。其中,设定数量根据实际需要进行设置,本发明实施例不做限定。
109.图9是本发明第九实施例提供的日志异常的预警方法的流程示意图,如图9所示,在上述各实施例的基础上,进一步地,所述对所述训练数据中的每条样本序列进行特征处理,获得训练特征数据包括:
110.s901、根据所述样本序列包括的每个模板标识以及模板向量库,获得每个模板标识对应的日志模板向量;其中,所述模板向量库是预先建立的,包括与模板标识一一对应的日志模板向量;
111.具体地,所述服务器根据所述样本序列包括的每个模板标识,从模板向量库中查询对应的日志模板向量,可以获得所述样本序列中每个模板标识对应的日志模板向量。其中,所述模板向量库是预先建立的,所述模板向量库包括多个日志模板向量,所述日志模板向量与所述模板标识一一对应。
112.s902、统计所述样本序列包括的相同模板标识的数量,作为相同模板标识对应的频数;
113.具体地,所述服务器统计所述样本序列包括的各个模板标识中相同模板标识的数量,作为所述模板标识对应的频数,可以获得所述模板序列包括的各个不同的模板标识对应的频数。
114.s903、将所述样本序列中各个模板标识对应的日志模板向量以及各个模板标识对应的频数作为所述样本序列对应的训练样本数据。
115.具体地,所述服务器将所述样本序列中每个模板标识对应的日志模板向量,以及所述样本序列中各个模板标识对应的频数,作为所述样本序列对应的训练样本数据。
116.在上述各实施例的基础上,进一步地,所述分类标识为进程号或者线程号。
117.具体地,日志数据可以包括进程号和/或线程号,可以将进程号或者线程号作为所述分类标识。
118.本发明实施例提供的日志异常的预警方法,使用生产环境的日志数据进行测试。首先使用业务系统正常运行时间段的日志进行训练,然后我们分别使用正常时间段和异常时间段的日志进行预测分析。通过测试发现,正常时间段的日志预测失败量极少且非常平稳,而处于异常时间段的日志预测失败量会急剧上升。测试表明本发明实施例提供的日志异常的预警方法对日志异常的检测有非常好的效果。
119.图10是本发明第十实施例提供的日志异常的预警装置的结构示意图,如图10所示,本发明实施例提供的日志异常的预警装置包括获得模块1010、预测模块1020、统计模块1030和预警模块1040,其中:
120.获得模块1010用于依次对每条日志数据进行分类和序列化,获得各个分类标识对应的模板序列;其中,每条日志数据对应一个分类标识;预测模块1020用于统计每个分类标识对应的模板序列包括的模板标识的数量,并基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识;其中,所述日志预测模型是基于历史日志数据预先训练获得的;统计模块1030用于根据模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识和实际模板标识,统计预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量;预警模块1040用于在判断获知所述预测失败量大于设定阈值之后,进行日志异常预警。
121.具体地,获得模块1010可以获取实时日志数据,然后依次对每条日志数据进行分类和序列化,可以获得各个分类标识对应的模板序列,所述模板序列包括多个依次排列的模板标识,各个模板标识的排列顺序是按照各个模板标识对应的各条日志数据的时间戳的先后顺序进行排列的,可以视为时间序列数据。其中,所述分类标识是预设的,可以采用进程号或者线程号。每条日志数据都会包括所述分类标识。
122.由于实时日志数据是不断变化的,获得的分类标识对应的模板序列包括的模板标识的数量也会变化,预测模块1020会统计每个分类标识对应的模板序列包括的模板标识的数量,在模板标识的数量等于预设数量时,基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,可以获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识,上述预测模板标识可以有多个。其中,所述日志预测模型是基于历史日志数据预先训练获得的。所述预设数量根据实际需要进行设置,本发明实施例不做限定。
123.统计模块1030可以获取模板标识的数量等于预设数量的分类标识对应的下一条日志数据,然后对上述下一条日志数据进行模板匹配,能够获得所述下一条日志数据对应的模板标识,将其作为模板标识的数量等于预设数量的分类标识对应的下一条日志数据的
实际模板标识。统计模块1030根据所述下一条日志数据的预测模板标识和实际模板标识,可以确定所述下一条日志数据的模板标识是否预测失败。在预设时间段内,统计模块1030可以获得多个所述下一条日志数据,确定每个所述下一条日志数据的模板标识是否预测失败,统计所述预设时间段内各个所述下一条日志数据的模板预测失败的数量作为预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量。其中,所述预设时间段根据实际需要进行设置,本发明实施例不做限定。
124.在获得所述预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量之后,预警模块1040将上述预测失败量与设定阈值进行比较,如果上述预测失败量大于所述设定阈值,那么可以通过系统消息、邮件等方式进行日志异常预警。其中,所述设定阈值根据实际需要进行设置,本发明实施例不做限定。
125.本发明实施例提供的日志异常的预警装置,能够依次对每条日志数据进行分类和序列化,获得各个分类标识对应的模板序列,统计每个分类标识对应的模板序列包括的模板标识的数量,并基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识,根据模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识和实际模板标识,统计预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量,若判断获知预测失败量大于设定阈值,则进行日志异常预警,提高了日志异常预警的可靠性。
126.图11是本发明第十一实施例提供的日志异常的预警装置的结构示意图,如图11所示,在上述各实施例的基础上,进一步地,获得模块1010包括第一获得单元1011、第一分类单元1012和第二获得单元1013,其中:
127.第一获得单元1011用于对每条日志数据进行模板匹配,获得每条日志数据对应的模板标识;第一分类单元1012用于根据分类标识对每条日志数据进行分类,获得每条日志数据对应的分类标识;第二获得单元1013用于根据各条日志数据对应的分类标识、各条日志数据对应的模板标识以及各条日志数据对应的时间戳,获得各个分类标识对应的模板序列。
128.图12是本发明第十二实施例提供的日志异常的预警装置的结构示意图,如图12所示,在上述各实施例的基础上,进一步地,预测模块1020包括第三获得单元1021和预测单元1022,其中:
129.第三获得单元1021用于对模板标识的数量等于预设数量的分类标识对应的模板序列进行特征处理,获得所述分类标识对应的预测特征数据;预测单元1022用于根据所述分类标识对应的预测特征数据以及日志预测模型,获得所述分类标识对应的下一条日志数据的预测模板标识。
130.图13是本发明第十三实施例提供的日志异常的预警装置的结构示意图,如图13所示,在上述各实施例的基础上,进一步地,第三获得单元1021包括第一获得子单元10211、统计子单元10212和作为子单元10213,其中:
131.第一获得子单元10211用于根据所述模板序列包括的每个模板标识以及模板向量库,获得每个模板标识对应的日志模板向量;其中,所述模板向量库是预先建立的,包括与模板标识一一对应的日志模板向量;统计子单元10212用于统计所述模板序列包括的相同
模板标识的数量,作为相同模板对应的频数;作为子单元10213用于将所述模板序列中各个模板标识对应的日志模板向量以及对应的频数作为所述分类标识对应的预测特征数据。
132.图14是本发明第十四实施例提供的日志异常的预警装置的结构示意图,如图14所示,在上述各实施例的基础上,进一步地,本发明实施例提供的日志异常的预警装置还包括词向量获得模块1050、计算模块1060和存储模块1070,其中:
133.词向量获得模块1050用于根据日志模板和词向量库,获得所述日志模板中每个词对应的词向量;其中,所述日志模板和模板标识一一对应;计算模块1060用于计算所述日志模板包括的各个词对应的词向量的平均值,作为对应的日志模板向量;存储模块1070用于将所述日志模板对应的日志模板向量与对应的模板标识对应存储。
134.图15是本发明第十五实施例提供的日志异常的预警装置的结构示意图,如图15所示,在上述各实施例的基础上,进一步地,统计模块1030包括第四获得单元1031和记录单元1032,其中:
135.第四获得单元1031用于对所述分类标识对应的下一条日志数据并进行模板匹配,获得所述分类标识对应的下一条日志数据的实际模板标识;记录单元1032用于在判断获知所述分类标识对应的下一条日志数据的预测模板标识不包括所述分类标识对应的下一条日志数据的实际模板标识之后,记录所述分类标识对应的下一条日志数据预测失败。
136.图16是本发明第十六实施例提供的日志异常的预警装置的结构示意图,如图16所示,在上述各实施例的基础上,进一步地,本发明实施例提供的日志异常的预警装置还包括分类和序列化模块1080、采样模块1090、特征处理模块1100和训练模块1110,其中:
137.分类和序列化模块1080用于对所述历史日志数据进行分类和序列化,获得多个固定模板序列;其中,每个固定模板序列对应一个分类标识;采样模块1090用于对各个固定模板序列进行滑动采样,获得训练数据,并获取每条样本序列对应的下一条日志数据对应的模板标识作为每条样本序列对应的标签;其中,所述训练数据包括多条样本序列,每条样本序列的长度固定且每条样本序列对应一个分类标识;特征处理模块1100用于对所述训练数据中的每条样本序列进行特征处理,获得训练特征数据;其中,所述训练特征数据包括的训练样本数据与样本序列一一对应;训练模块1110用于根据原始组合模型、所述训练特征数据包括的训练样本数据以及对应的标签,训练获得日志预测模型。
138.图17是本发明第十七实施例提供的日志异常的预警装置的结构示意图,如图17所示,在上述各实施例的基础上,进一步地,分类和序列化模块1080包括第五获得单元1081、第二分类单元1082和第六获得单元1083,其中:
139.第五获得单元1081用于逐条获取每条历史日志数据,并对每条历史日志数据进行模板匹配,获得每条历史日志数据对应的模板标识;第二分类单元1082用于根据分类标识对各条历史日志数据进行分类,获得每条历史日志数据对应的分类标识;第六获得单元1083用于根据各条历史日志数据对应的分类标识、各条历史日志数据对应的模板标识以及各条历史日志数据对应的时间戳,获得多个固定模板序列。
140.图18是本发明第十八实施例提供的日志异常的预警装置的结构示意图,如图18所示,在上述各实施例的基础上,进一步地,特征处理模块1100包括第七获得单元1101、统计单元1102和作为单元1103,其中:
141.第七获得单元1101用于根据所述样本序列包括的每个模板标识,获得每个模板标
识对应的日志模板向量;其中,每个模板标识对应的日志模板向量是预先生成的;统计单元1102用于统计所述样本序列包括的相同模板标识的数量,作为相同模板标识对应的频数;作为单元1103用于将所述样本序列中各个模板标识对应的日志模板向量以及各个模板标识对应的频数作为所述样本序列对应的训练样本数据。
142.本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
143.图19是本发明一实施例提供的电子设备的实体结构示意图,如图19所示,该电子设备可以包括:处理器(processor)1901、通信接口(communications interface)1902、存储器(memory)1903和通信总线1904,其中,处理器1901,通信接口1902,存储器1903通过通信总线1904完成相互间的通信。处理器1901可以调用存储器1903中的逻辑指令,以执行如下方法:依次对每条日志数据进行分类和序列化,获得各个分类标识对应的模板序列;其中,每条日志数据对应一个分类标识;统计每个分类标识对应的模板序列包括的模板标识的数量,并基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识;其中,所述日志预测模型是基于历史日志数据预先训练获得的;根据模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识和实际模板标识,统计预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量;若判断获知所述预测失败量大于设定阈值,则进行日志异常预警。
144.此外,上述的存储器1903中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
145.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,当所述计算机程序被处理器执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:依次对每条日志数据进行分类和序列化,获得各个分类标识对应的模板序列;其中,每条日志数据对应一个分类标识;统计每个分类标识对应的模板序列包括的模板标识的数量,并基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识;其中,所述日志预测模型是基于历史日志数据预先训练获得的;根据模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识和实际模板标识,统计预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量;若判断获知所述预测失败量大于设定阈值,则进行日志异常预警。
146.本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:依次对
每条日志数据进行分类和序列化,获得各个分类标识对应的模板序列;其中,每条日志数据对应一个分类标识;统计每个分类标识对应的模板序列包括的模板标识的数量,并基于日志预测模型对模板标识的数量等于预设数量的分类标识对应的模板序列进行预测,获得模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识;其中,所述日志预测模型是基于历史日志数据预先训练获得的;根据模板标识的数量等于预设数量的分类标识对应的下一条日志数据的预测模板标识和实际模板标识,统计预设时间段内模板标识的数量等于预设数量的分类标识对应的下一条日志数据对应的预测失败量;若判断获知所述预测失败量大于设定阈值,则进行日志异常预警。
147.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
148.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
149.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
150.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
151.在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
152.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1