CN116910531A - 模型训练及故障检测方法、装置、电子设备和存储介质 - Google Patents
模型训练及故障检测方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116910531A CN116910531A CN202310327555.6A CN202310327555A CN116910531A CN 116910531 A CN116910531 A CN 116910531A CN 202310327555 A CN202310327555 A CN 202310327555A CN 116910531 A CN116910531 A CN 116910531A
- Authority
- CN
- China
- Prior art keywords
- log
- clustering
- sequences
- weight
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 61
- 238000012549 training Methods 0.000 title claims abstract description 48
- 238000001514 detection method Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 85
- 238000004220 aggregation Methods 0.000 claims abstract description 19
- 230000002776 aggregation Effects 0.000 claims abstract description 19
- 230000002045 lasting effect Effects 0.000 claims abstract description 11
- 230000002085 persistent effect Effects 0.000 claims description 54
- 238000012545 processing Methods 0.000 claims description 39
- 230000015654 memory Effects 0.000 claims description 19
- 238000001914 filtration Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002688 persistence Effects 0.000 claims description 3
- 238000003745 diagnosis Methods 0.000 description 43
- 239000013598 vector Substances 0.000 description 22
- 238000004519 manufacturing process Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 10
- 238000007781 pre-processing Methods 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 9
- 239000006185 dispersion Substances 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 3
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 3
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本实施例公开了一种模型训练以及故障检测方法、装置、电子设备和计算机存储介质,该方法包括:根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果;获取第一权重信息,第一权重信息表示针对所述至少两个日志序列中每个日志事件重新分配的权重,第一权重信息是根据第一参考信息和第二参考信息中的至少一项确定的,第一参考信息表示第一聚类结果中出现日志事件的分组数量,第二参考信息表示日志事件在所述第一聚类结果的每个分组中出现的次数;根据第一权重信息,对第一聚类结果中的每组日志序列进行聚类,得到第二聚类结果;根据第二聚类结果,得到训练完成的日志分组模型。
Description
技术领域
本申请属于网络日志处理技术,特别涉及一种模型训练及故障检测方法、装置、电子设备和存储介质。
背景技术
网络日志中存储了极为丰富的系统状态和运行信息,在系统维护中发挥着重要作用。在相关技术中,可以基于日志序列中的日志事件的在各个日志序列中的整体出现频率,对日志序列进行聚类,从而根据聚类结果进行故障诊断;然而,仅仅基于日志事件的在各个日志序列中的整体出现频率,无法准确地反映日志事件在单个日志序列中的集中程度或分散程度,导致聚类结果中日志序列的类型与实际情况不相符,降低了后续根据聚类结果进行故障诊断的准确性。
发明内容
本申请实施例提供一种模型训练及故障检测方法、装置、电子设备和存储介质。
本申请实施例提供的模型训练方法包括:
根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果;
获取第一权重信息,所述第一权重信息表示针对所述至少两个日志序列中每个日志事件重新分配的权重,所述第一权重信息是根据第一参考信息和第二参考信息中的至少一项确定的,所述第一参考信息表示第一聚类结果中出现日志事件的分组数量,所述第二参考信息表示日志事件在所述第一聚类结果的每个分组中出现的次数;
根据所述第一权重信息,对所述第一聚类结果中的每组日志序列进行聚类,得到第二聚类结果;
根据所述第二聚类结果,得到训练完成的日志分组模型,所述日志分组模型用于记录日志序列所在的分组。
在一些实施例中,在得到训练完成的日志分组模型后,所述方法还包括:每隔设定时间段,加载最近一个设定时间段内累积的日志序列;并返回根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果的步骤,以得到重新训练完成的日志分组模型。
可以看出,定期更新日志分组模型的机制,可以有效地减少日志分组模型的更新频率,有利于在一定程度上解决因模型更新频繁导致故障诊断效率较低的问题;进一步地,最近一个设定时间段内累积的日志序列又可以提升后续故障检测时提取代表性日志序列的准确性与可靠性。
在一些实施例中,在获取持久化存储的至少两个日志序列之后,且在根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类之前,所述方法还包括:获取持久化存储文件,所述持久化存储文件包括按照第一顺序排列的各个日志事件;根据所述第一顺序读取所述持久化存储文件的各个日志事件;所述根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果,包括:根据读取到的所述各个日志事件的权重,对所述至少两个日志序列进行聚类,得到第一聚类结果;所述根据所述第一权重信息,对所述第一聚类结果中的每组日志序列进行聚类,得到第二聚类结果,包括:根据读取到的所述各个日志事件和所述第一权重信息,对所述至少两个日志序列进行聚类,得到第二聚类结果;所述方法还包括:在所述最近一个设定时间段内累积的日志序列存在新日志事件的情况下,在按照所述第一顺序排列的各个日志事件的末端添加所述新日志事件,确定添加有所述新日志事件的各个日志事件的第一顺序;所述新日志事件表示所述持久化存储文件中不存在的日志事件。
可以看出,本申请实施例中在每次进行聚类时均按照持久化存储文件中日志事件的第一顺序读取日志事件,并且,对于新日志事件,可以之间添加在持久化存储文件的末尾,这样不会影响到已有日志事件的读取顺序,从而,可以使每次更新后的日志分组模型中分组编号和内容与更新前的日志分组模型中分组编号和内容保持一致,不会出现分组混乱导致影响故障诊断结果的问题。
在一些实施例中,所述方法还包括:在所述第二聚类结果的至少一个目标分组中的日志序列数量大于或等于设定阈值时,将至少一个目标分组中的每个目标分组确定为封闭分组,所述封闭分组表示后续不更改内部日志序列的分组;所述目标分组表示所述第二聚类结果的任意一个分组。
本申请实施例中,在目标分组中的日志序列数量大于或等于设定阈值时,可以认为目标分组可以代表某些故障场景和问题,无需再累加该分组的日志序列数量,从而可以在一定程度上提高模型更新效率和故障诊断效率。
在一些实施例中,在对所述至少两个日志序列进行持久化存储之前,所述方法还包括:获取第一日志序列集合,将所述第一日志序列集合中满足设定条件的日志事件滤除,得到所述至少两个日志序列,所述设定条件表示:日志事件的权重小于设定权重。
可以看出,由于权重较小的日志事件通常是正常的日志事件,对于故障诊断没有明显意义,因此,本申请实施例中,通过将第一日志序列集合中权重较小的日志事件滤除,在一定程度上降低了权重较小的日志事件在日志聚类中造成影响,有利于提升聚类精度。
本申请实施例提供的故障检测方法包括:
根据预先存储的至少两个待预测日志序列中每个日志事件的首次分配的权重,对至少两个待预测日志序列进行第一次聚类,得到第三聚类结果;
获取第二权重信息,所述第二权重信息表示针对所述至少两个待预测日志序列中每个日志事件重新分配的权重,所述第二权重信息是根据第三参考信息和第四参考信息中的至少一项确定的,所述第三参考信息表示第三聚类结果中出现日志事件的分组数量,所述第四参考信息表示日志事件在所述第四聚类结果的每个分组中出现的次数;
根据所述第二权重信息,对所述第三聚类结果中的每组日志序列进行第二次聚类,得到第四聚类结果;
确定距离信息,所述距离信息表示所述第四聚类结果中每个分组的代表性日志序列与所述训练完成的日志分组模型中各个代表性日志序列的距离值;
根据所述距离信息和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息。
在一些实施例中,所述根据所述距离信息和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息,包括:根据所述距离信息中各个距离值的最小距离值和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息。
可以看出,由于距离信息表示第四聚类结果中每个分组的代表性日志序列与训练完成的日志分组模型中各个代表性日志序列的距离值,因此,根据距离信息中各个距离值的最小距离值,可以确定训练完成的日志分组模型中与第四聚类结果中每个分组的代表性日志序列距离最小的代表性日志序列,在训练完成的日志分组模型中各个分组关联的故障信息已知的情况下,有利于根据训练完成的日志分组模型中与第四聚类结果中每个分组的代表性日志序列距离最小的代表性日志序列,较为准确地确定对应分组关联的故障信息。
在一些实施例中,所述根据所述距离信息中各个距离值的最小距离值和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组的故障信息,包括:在所述最小距离值小于设定距离阈值的情况下,根据所述日志分组模型中与所述最小距离值对应的分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息。
可以理解地,在最小距离值小于设定距离阈值的情况下,可以认为最小距离值对应的分组与第四聚类结果中对应分组与同一故障场景对应,因此,根据日志分组模型中与所述最小距离值对应的分组关联的故障信息,可以较为准确地确定第四聚类结果中每个分组关联的故障信息。
在一些实施例中,所述方法还包括:在所述最小距离值大于或等于设定距离阈值的情况下,生成提示信息,所述提示信息用于提示用户确定所述第四聚类结果中对应分组所关联的故障信息。
可以看出,在最小距离值大于或等于设定距离阈值的情况下,通过生成提示信息,可以实现对第四聚类结果中对应分组进行人工故障诊断,提升了故障诊断的全面性和准确性。
在一些实施例中,在对至少两个待预测日志序列进行存储之前,所述方法还包括:获取第二日志序列集合,将所述第二日志序列集合中满足设定条件的日志事件滤除,得到所述至少两个待预测日志序列,所述设定条件表示:日志事件的权重小于设定权重。
可以看出,由于权重较小的日志事件通常是正常的日志事件,对于故障诊断没有明显意义,因此,本申请实施例中,通过将第二日志序列集合中权重较小的日志事件滤除,在一定程度上降低了权重较小的日志事件在日志聚类中造成影响,有利于提升聚类精度。
本申请实施例提供的一种模型训练装置包括:
第一聚类模块,用于根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果;
第一处理模块,获取第一权重信息,所述第一权重信息表示针对所述至少两个日志序列中每个日志事件重新分配的权重,所述第一权重信息是根据第一参考信息和第二参考信息中的至少一项确定的,所述第一参考信息表示第一聚类结果中出现日志事件的分组数量,所述第二参考信息表示日志事件在所述第一聚类结果的每个分组中出现的次数;
第二聚类模块,根据所述第一权重信息,对所述第一聚类结果中的每组日志序列进行聚类,得到第二聚类结果;
所述第一处理模块,还用于根据所述第二聚类结果,得到训练完成的日志分组模型,所述日志分组模型用于记录日志序列所在的分组。
本申请实施例提供的一种故障检测装置包括:
第三聚类模块,用于根据预先存储的至少两个待预测日志序列中每个日志事件的首次分配的权重,对至少两个待预测日志序列进行第一次聚类,得到第三聚类结果;
第二处理模块,用于获取第二权重信息,所述第二权重信息表示针对所述至少两个待预测日志序列中每个日志事件重新分配的权重,所述第二权重信息是根据第三参考信息和第四参考信息中的至少一项确定的,所述第三参考信息表示第三聚类结果中出现日志事件的分组数量,所述第四参考信息表示日志事件在所述第四聚类结果的每个分组中出现的次数;
第四聚类模块,用于根据所述第二权重信息,对所述第三聚类结果中的每组日志序列进行第二次聚类,得到第四聚类结果;
所述第二处理模块,还用于确定距离信息,所述距离信息表示所述第四聚类结果中每个分组的代表性日志序列与所述训练完成的日志分组模型中各个代表性日志序列的距离值;
所述第二处理模块,还用于根据所述距离信息和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息。
本申请实施例提供的一种电子设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序以执行上述任意一种模型训练方法或上述任意一种故障检测方法。
本申请实施例提供的一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种模型训练方法或上述任意一种故障检测方法。
可以看出,本申请实施例可以在得到第一聚类结果后,根据第一聚类结果中出现日志事件的分组数量、以及日志事件在第一聚类结果的每个分组中出现的次数,对第一聚类结果中的每个分组进行第二次聚类,因此,第二聚类结果可以较为准确地反映日志事件在单个日志序列中的集中程度或分散程度,从而有利于根据第二聚类结果更为准确地进行故障诊断。
附图说明
图1为相关技术中提出的LogCluster工具的整体框架结构图;
图2为相关技术中提出的凝聚层次聚类过程示意图;
图3为本申请实施例的模型训练方法的一个流程图;
图4为本申请实施例的日志预处理过程的示意图;
图5为本申请实施例中对日志序列进行第一次聚类的示意图;
图6为本申请实施例中对一个分组进行第二次聚类的示意图;
图7为本申请实施例的更新日志分组模型的流程图;
图8为本申请实施例提供的更新日志分组模型的一个实例的示意图;
图9为本申请实施例的故障检测方法的流程图;
图10为本申请实施例中模型训练以及故障诊断的整体流程图;
图11为本申请实施例的模型训练装置的结构示意图;
图12为本申请实施例的故障检测装置的结构示意图;
图13为本申请实施例提供的一种电子设备的组成结构示意图。
具体实施方式
网络日志中存储了极为丰富的系统状态和运行信息,在业务支撑等领域可以通过对网络日志进行分析,对系统业务进行故障诊断。当系统业务出现故障时,工程师可以通过检查记录的日志来深入了解故障,识别问题并进行故障排除。故障诊断的目标是识别导致最终用户的故障的根本原因。在相关技术中,工程师可以对可能与故障相关的异常日志执行简单的关键字搜索(例如“fail”和“error”等)。工程师的个人经验、效率、状态都会对诊断质量产生较大影响。随着系统业务规模和复杂性的增加,每日生成的网络日志的数据量可达数十TB,因此,这种通过人工搜索来诊断系统业务问题的方法通常非常耗时。而对于同类型的故障日志,重复性的逐一分析会产生大量冗余且非必要的工作,增加无效的成本投入且严重影响诊断效率。此外,日志具有一定的关联性和多样性,并非所有日志消息对于故障诊断的重要性都相同,一些日志有可能会伴随其它日志同时出现,但也有可能单独出现并且极有可能与故障有关。工程师往往会忽视日志之间的关联性,仅仅对单独的某几条日志进行诊断分析,这样很难达到满意的诊断效果,因此针对网络日志的故障诊断自动化工具变得十分重要。
在相关技术中,针对网络日志的故障诊断自动化工具可以实现对大量日志的自动化分析,工程师可以借助该工具有效地识别故障问题。示例性地,针对网络日志的故障诊断自动化工具可以是LogCluster工具。LogCluster工具的运行可以分为两个阶段:构建阶段(Construction Phase)和生产阶段(Production Phase)。在构建阶段,将从测试环境中收集的日志序列(Log sequences from testing)分配权重并聚类以构建初始知识库。在生产阶段,将从实际生产环境中收集的日志序列(Log sequences from production)进行分析,聚类并检查能否在知识库中找到这些聚类并随时更新知识库。通过这种方式,工程师只需手动检查新聚类中具有代表性的日志序列即可,进一步减少了故障诊断所需的工作量,大大提高了诊断效率和有效性。
参照图1,在构建阶段,首先对从测试环境中收集的日志序列进行日志向量化处理,通过日志向量化处理,可以将每个日志序列(包含多个唯一事件)转换为向量并为每个日志事件分配权重;图1中,S1至S4表示对日志序列进行日志向量化得到的日志向量,日志向量由日志序列中各个日志事件的权重组成;示例性地,日志向量可以日志事件的权重可以是逆向文件频率(Inverse Document Frequency,IDF)值,IDF值可以用于表征日志事件对于识别故障的重要性。示例性地,可以更加公式(1)计算得出日志序列中日志事件t的IDF值:
其中,widf(t)表示日志序列中日志事件t的IDF值,P表示需要进行日志向量化处理的日志序列的总数,nt表示需要进行日志向量化处理的日志序列中出现日志事件t的日志序列数量。通过公式(1)可以看出,非常频繁发生的事件具有较低的权重,而很少发生的事件具有较高的权重,即,更有利于根据很少发生的事件实现故障诊断。
在得到日志向量后,可以针对各个日志向量进行日志聚类(Log Clustering),得到集群。示例性地,可以根据日志向量之间的余弦相似度,对各个日志向量进行日志距离。对于两个k维日志向量A和B,可以通过公式(2)计算得出日志向量A和日志向量B的余弦相似度:
其中,Similarity(A,B)表示日志向量A和日志向量B的余弦相似度,|| ||表示取模运算,Ai表示日志向量A中的第i个元素,Bi表示日志向量B中的第i个元素。
示例性地,在确定日志向量两两之间的余弦相似度后,可以应用凝聚层次聚类方法将相似的日志序列分成一组,在聚类过程中,可以基于距离阈值θ确定聚类停止条件。参照图2,Step1、Step2和Step3表示聚类的三个阶段,通过进行凝聚层次聚类,可以得到如下两类日志序列:Cluster1和Cluster2,其中,Cluster1包括日志向量A对应的日志序列和日志向量B对应的日志序列;Cluster2包括日志向量C对应的日志序列、日志向量D对应的日志序列和日志向量E对应的日志序列。
参照图1,可以聚类后得到的每个集群中,选择集群的执行作为该集群的代表性日志序列,并将代表性日志序列(Representative Log Sequences)存储至知识库(KnowledgeBase)中,从而实现知识库的构建。图1中,S1、S2和S3分别表示在构建阶段确定的代表性日志序列,E1、E2、E3、E4、E5、E6、E7、E8、E11和E12分别表示不同的日志事件。
参照图1,在生产阶段,也可以对实际生产环境中收集的日志序列依次进行日志向量化处理、日志聚类和提取代表性日志序列,在生产阶段中日志向量化处理、日志聚类和提取代表性日志序列的方式与构建阶段相同。图1中,V1至V4表示对实际生产环境中收集的日志序列进行日志向量化得到的日志向量,V1、V2和V3分别表示在生产阶段确定的代表性日志序列。
参照图1,可以根据知识库中的代表性日志序列对生产阶段提取的代表性日志序列进行复现比对(Check Recurrence);示例性地,可以计算生产阶段提取的代表性日志序列与知识库中所有日志序列的最小距离;若该最小距离不超过上述距离阈值θ,则认为生产阶段提取的代表性日志序列能够匹配知识库,即生产阶段提取的代表性日志序列为知识库中存在的历史日志,针对生产阶段提取的代表性日志序列,可以检索历史日志的处理措施(Retrieve Hostorical Mitigation Actions)。如果上述最小距离超过上述距离阈值θ,则认为知识库中没有找到与生产阶段提取的代表性日志序列匹配的日志序列,可以确定生产阶段提取的代表性日志序列为新日志序列。针对新日志序列,可以返回给工程师进行人工检查与诊断(Log Sequences for Manual Examination)。同时,可以利用新日志序列对知识库进行随时更新。
采用LogCluster工具可以能够有效地减少待诊断日志的数量,提高诊断的效率和质量,但是LogCluster工具至少存在以下两个技术问题。
第一、仅仅根据全部日志事件的IDF值对日志序列聚类,会对最终的聚类效果存在一定影响,原因有如下两点:1)由于各日志序列包含的日志事件数目、各日志序列中日志事件的分散程度等存在不一致的情况,仅基于日志事件在所有日志序列的整体出现频率,无法准确地体现事件集中程度或者分散程度对故障诊断的重要程度,聚类过程中在计算距离时可能会造成误判而将实际中不属于一类的日志序列归为同一类日志序列,因此仅根据IDF值进行一次聚类的方式很难达到很好的聚类效果;2)当日志序列中存在很多的IDF值较小的较为正常的事件,会对其他事件造成干扰,导致聚类结果不够准确。
第二、知识库的更新机制不够完善,不仅存在人力和资源消耗,对于后续预测还有局限性。原因有如下两点:1)更新频率过快,一旦出现崭新的日志序列即更新知识库,操作过于频繁且数据量少,导致降低了故障诊断效率;②仅根据新的代表性日志序列更新知识库,知识库中已存在的代表性序列并未随之更新,这样在后续预测时随着数据量增多会因为数据分布不准确产生局限性。因此不仅仅要及时存储新的日志序列,对于已有的日志序列聚类分组也需要定期维护与更新。
针对上述技术问题,提出本申请实施例的技术方案。
以下结合附图及实施例,对本申请实施例进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本申请实施例,并不用于限定本申请实施例。另外,以下所提供的实施例是用于实施本申请的部分实施例,而非提供实施本申请的全部实施例,在不冲突的情况下,本申请实施例记载的技术方案可以任意组合的方式实施。
需要说明的是,在本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
本申请实施例提供了一种模型训练以及故障检测方法,本申请实施例提供的算力网络的模型训练方法和故障检测方法包含了一系列的步骤,但是本申请实施例提供的模型训练以及故障检测方法不限于所记载的步骤,同样地,本申请实施例提供的模型训练以及故障检测装置包括了一系列模块,但是本申请实施例提供的装置不限于包括所明确记载的模块,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的模块。
图3为本申请实施例的模型训练方法的一个流程图,如图3所示,该流程可以包括:
步骤301:根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果。
在一些实施例中,在持久化存储的至少两个日志序列可以是异常点日志序列,在持久化存储的至少两个日志序列中,每个日志序列中可以包括不重复的日志事件。
在一些实施例中,在对至少两个日志序列进行持久化存储之前,可以首先通过日志采集获取第一日志序列集合,然后对第一日志序列集合进行日志预处理,得到上述至少两个日志序列,并将上述至少两个日志序列进行持久化存储。
在一些实施例中,可以将第一日志序列集合中满足设定条件的日志事件滤除,得到至少两个日志序列,设定条件表示:日志事件的权重小于设定权重。
示例性地,每个日志事件的权重可以是IDF值,设定权重可以是1,在实际场景中,一般认为IDF值小于1的日志事件是正常的日志事件,对于故障诊断没有明显意义,因此,在日志预处理过程中可以将IDF值小于1的日志事件滤除。
参照图4,Log seq1至Log seq15表示需要进行日志预处理的15个日志序列,E1至E8表示8个不同的日志事件;widf()表示相应日志事件的IDF值,可以看出,widf(E1)小于1,因此,需要在Log seq1至Log seq15中将日志事件E1滤除,可以得到经预处理后的12个日志序列,图4中,seq4至seq15表示经预处理后的12个日志序列。
示例性地,E1可以表示文件读取时出现的IO错误(End of file while readingdata:Input/output error);E2的内容可以是:Domain id=*name=’*’uuid=*istainted:*;E3可以表示连接超时中断的内部错误(internal error:connection closeddue to keepalive timeout);E4可以表示不能读取数据的错误(Cannot write data:Broken pipe):E5可以表示不能检查dnsmasq服务的错误(Cannot check dnsmasq binary/usr/sbin/dnsmasq:No such file or directory);E6可以表示不能获取主机CPU缓存信息的错误(Failed to get host CPU cache info);E7可以表示qemu monitor文件终止的内部错误(internal error:End of file from qemu monitor);E8可以表示数据接收错误(Cannot recv data:Connection reset by peer)。
可以看出,由于权重较小的日志事件通常是正常的日志事件,对于故障诊断没有明显意义,因此,本申请实施例中,通过将第一日志序列集合中权重较小的日志事件滤除,在一定程度上降低了权重较小的日志事件在日志聚类中造成影响,有利于提升聚类精度。
示例性地,在模型训练过程中,可以将上述至少两个日志序列持久化存储至训练事件存储文件中;通过读取训练事件存储文件,可以得到上述至少两个日志序列,根据上述至少两个日志序列可以构建第一次聚类的输入矩阵;参照图5,矩阵的每一行对应上述至少两个日志序列中的一个日志序列,矩阵的每一列对应持久化存储文件中的一个日志事件,其中,持久化存储文件包括按照第一顺序排列的各个日志事件,矩阵的列的顺序与日志事件的第一顺序一致;持久化;图5中,上述至少两个日志序列中的各个日志事件为E2至E8,将至少两个日志序列中的各个日志事件按照第一顺序排列后,可以得到图5所示的持久化存储文件,第一顺序可以是E2、E3、E4、E5、E6、E7和E8进行一次排列的顺序。示例性地,持久化存储文件可以是CSV文件,在图5中,持久化存储文件中的各个日志事件用逗号进行分割。
图5中,矩阵中第i行第j列的元素的值表示第j列的日志事件是否在第i行的日志序列中出现过,如果是,则将第i行第j列的元素的值记为对应的IDF值,如果否,则将第i行第j列的元素的值记为0。
在构建输入矩阵后,可以应用凝聚层次聚类方法对矩阵表示的所有日志序列进行聚类,这里可以根据经验可以将凝聚层次聚类方法的距离阈值设置为0.68或其它数值,通过对矩阵表示的所有日志序列进行聚类,可以得到第一聚类结果,参照图5,第一聚类结果包括如下四个分组:cluster-0、cluster-1、cluster-2和cluster-3。
步骤302:获取第一权重信息,第一权重信息表示针对至少两个日志序列中每个日志事件重新分配的权重,第一权重信息是根据第一参考信息和第二参考信息中的至少一项确定的,第一参考信息表示第一聚类结果中出现日志事件的分组数量,第二参考信息表示日志事件在第一聚类结果的每个分组中出现的次数。
这里,在通过第一次聚类得到第一聚类结果后,还可以为针对至少两个日志序列中每个日志事件重新分配权重,即,可以生成第一权重信息;也就是说,第一权重信息中每个日志事件的权重与第一次聚类时对应日志事件的权重可以不相同。
本申请实施例中,第一聚类结果表示至少两类日志序列,针对第一聚类结果中的各类日志序列,可以分析出现每个日志事件的分组数量,从而确定第一参考信息;针对第一聚类结果中的各类日志序列,可以分析每个日志事件在第一聚类结果的每个分组中出现的次数,从而确定第二参考信息。
示例性地,第一权重信息中每个日志事件的权重与第一参考信息成负相关,并且与第二参考信息成负相关。
本申请实施例中,考虑到日志事件在各分组的分布及集中程度不同,单独集中出现在某一分组且次数较少的事件更应该得到重视,因此,可以第一聚类结果中的每个分组进行第二次聚类,在第二次聚类的过程中可以重新对日志事件的权重进行定义,其目的就是突出奖励较为集中且稀少的事件。示例性地,可以按照日志事件的第一顺序构建第二次聚类的输入矩阵。
示例性地,对于图5中的cluster-1,E4仅在此分组中出现过且仅出现过一次,而E8虽然在该分组中也出现了一次,但还在cluster-3中出现过三次,因此在该分组中E4应该比E8得到更突出的奖励。示例性地,可以根据公式(3)计算第一权重信息:
其中,M表示第一次聚类结果中的分组总数,m表示第一次聚类结果中出现日志事件t的分组数量,N表示当前分组中的日志序列总数,n表示日志事件t在当前分组中的出现次数,waward-idf(t)表示日志事件t在当前分组中的权重。
可以理解地,在日志事件所在分组数较少且在当前分组中出现的次数也较少时,说明日志事件较为集中,应该被赋予更大的权重值。
步骤303:根据第一权重信息,对第一聚类结果中的每组日志序列进行聚类,得到第二聚类结果。
下面通过图6说明对cluster-1进行第二次聚类的过程,图6中,第二聚类结果包括如下两个分组:cluster-1-0和cluster-1-1;
步骤304:根据第二聚类结果,得到训练完成的日志分组模型,日志分组模型用于记录日志序列所在的分组。
本申请实施例中,可以将第二聚类结果的各个分组进行存储,得到训练完成的日志分组模型。示例性地,在得到训练完成的日志分组模型后,还可以选择第二聚类结果中每个分组中的日志序列的平均距离作为该分组的中心,根据第二聚类结果中每个分组中的日志序列的平均距离确定该分组的代表性日志序列,将该分组的代表性日志序列连同该分组的日志序列数量一通存入日志分组模型中。
在实际应用中,步骤301至步骤304可以基于电子设备的处理器实现,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital SignalProcessing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central ProcessingUnit,CPU)、控制器、微控制器、微处理器中的至少一种。
可以看出,本申请实施例可以在得到第一聚类结果后,根据第一聚类结果中出现日志事件的分组数量、以及日志事件在第一聚类结果的每个分组中出现的次数,对第一聚类结果中的每个分组进行第二次聚类,因此,第二聚类结果可以较为准确地反映日志事件在单个日志序列中的集中程度或分散程度,从而有利于根据第二聚类结果更为准确地进行故障诊断。
在本申请的一些实施例中,在得到训练完成的日志分组模型后,每隔设定时间段,可以加载最近一个设定时间段内累积的日志序列;然后,返回根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果的步骤,以得到重新训练完成的日志分组模型。
本申请实施例中,还可以定期对日志分组模型进行重新训练,设定时间段为一个设定的周期。示例性地,当满足期限条件时,可以读取最近一个周期内累积的日志序列,并将最近一个周期内累积的日志序列加载到上述第一日志序列集合中,然后,通过重复执行步骤301至步骤304,可以实现日志分组模型的更新。
可以看出,定期更新日志分组模型的机制,可以有效地减少日志分组模型的更新频率,有利于在一定程度上解决因模型更新频繁导致故障诊断效率较低的问题;进一步地,最近一个设定时间段内累积的日志序列又可以提升后续故障检测时提取代表性日志序列的准确性与可靠性。
在本申请的一些实施例中,在获取持久化存储的至少两个日志序列之后,且在根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类之前,还可以获取持久化存储文件,根据所述第一顺序读取所述持久化存储文件的各个日志事件。
相应地,根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果的流程,可以包括:根据读取到的各个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果;
根据第一权重信息,对第一聚类结果中的每组日志序列进行聚类,得到第二聚类结果的流程,可以包括:根据读取到的各个日志事件和第一权重信息,对至少两个日志序列进行聚类,得到第二聚类结果;
所述方法还包括:在最近一个设定时间段内累积的日志序列存在新日志事件的情况下,在按照第一顺序排列的各个日志事件的末端添加新日志事件,确定添加有新日志事件的各个日志事件的第一顺序;新日志事件表示持久化存储文件中不存在的日志事件。
本申请实施例中,在每次进行聚类的过程中,由于均需要按照第一顺序读取日志事件,因此,每次进行聚类时输入矩阵的列顺序保持一致。
可以看出,本申请实施例中在每次进行聚类时均按照持久化存储文件中日志事件的第一顺序读取日志事件,并且,对于新日志事件,可以之间添加在持久化存储文件的末尾,这样不会影响到已有日志事件的读取顺序,从而,可以使每次更新后的日志分组模型中分组编号和内容与更新前的日志分组模型中分组编号和内容保持一致,不会出现分组混乱导致影响故障诊断结果的问题。
在本申请的一些实施例中,还可以在第二聚类结果的至少一个目标分组中的日志序列数量大于或等于设定阈值时,将至少一个目标分组中的每个目标分组确定为封闭分组,封闭分组表示后续不更改内部日志序列的分组;目标分组表示所述第二聚类结果的任意一个分组。
这里,目标分组中的日志序列数量又称为目标分组的规模,针对目标分组的规模可以按照实际需求,设置规模上限,这里的规模上限为上述设定阈值。可以理解地,当目标分组的规模达到设置的规模上限时,可以认为目标分组可以覆盖某些故障场景和问题,无需再累加该分组的日志序列数量影响模型更新和故障诊断效率。示例性地,设定阈值为100,即,当目标分组的规模达到100时,将目标分组确定为封闭分组,后续无需对该目标分组的日志序列进行更改。
本申请实施例中,在第二聚类结果的至少一个目标分组中的日志序列数量小于设定阈值时,可以将至少一个目标分组中的每个目标分组确定为非封闭分组;对于非封闭分组,可以通过日志分组模型的重新训练过程,实现非封闭分组内日志序列的更新。
参照图7,更新日志分组模型的流程可以包括:
步骤701:加载预测事件存储文件。
这里,该预测事件存储文件包括最近一个设定时间段内累积的日志序列。
步骤702:对比持久化化存储文件。
示例性地,可以对预测事件存储文件进行日志预处理,得到待更新日志序列;将待更新日志序列与持久化存储文件进行对比。
步骤703:判断是否有新日志事件,如果是,则执行步骤704,如果否,则执行步骤705。
这里,可以通过对比待更新日志序列与持久化存储文件,判断是否有待更新日志序列中是否有持久化存储文件不存在的新日志事件。
步骤704:更新持久化存储文件,然后执行步骤705。
本申请实施例中,可以在按照第一顺序排列的各个日志事件的末端添加新日志事件,得到更新后的持久化存储文件。
参照图8,待更新日志序列中有持久化存储文件不存在的日志事件E9,那么可以在持久化存储文件的末尾添加日志事件E9,得到更新后的持久化存储文件。
步骤705:读取训练事件存储文件。
步骤706:进行两次聚类。
这里,可以针对训练事件存储文件中的各个日志序列,按照步骤301至步骤304进行两次聚类,得到更新后的第二聚类结果。
步骤707:判断是否在模型中找到代表性日志序列,如果是,则执行步骤708,如果否,则执行步骤709。
这里,可以针对更新后的第二聚类结果的每个分组的代表性日志序列,判断是否在已有的日志分组模型中找到对应的代表性日志序列,如果是,则执行步骤708,如果否,则执行步骤709。
步骤708:重新计算代表性日志序列并累加分组规模,然后,执行步骤710。
这里,如果可以在已有的日志分组模型中找到对应的代表性日志序列,可以将对应分组包含日志序列累加到已有的日志分组模型中,并重新计算日志分组模型中对应分组的代表性日志序列。
步骤709:将代表性日志序列存入日志分组模型中,然后执行步骤710。
这里,如果不能在已有的日志分组模型中找到对应的代表性日志序列,可以将对应的代表性序列及对应的代表性日志序列所在分组包含的日志序列直接存储至已有的日志分组模型中。
步骤710:判断目标分组的规模是否达到规模上限,如果是,则执行步骤711,如果否,则执行步骤712。
步骤711:将目标分组确定为封闭分组。
参照图8,cluster-0-0的规模为100,在规模上限为100的情况下,可以将cluster-0-0确定为封闭分组。
步骤712:目标分组的规模继续累加。
这里,如果目标分组的规模未达到规模上限,则可以继续累加目标分组的日志序列。
本申请实施例中,在目标分组中的日志序列数量大于或等于设定阈值时,可以认为目标分组可以代表某些故障场景和问题,无需再累加该分组的日志序列数量,从而可以在一定程度上提高模型更新效率和故障诊断效率。
参照图9,本申请实施例的故障检测方法的流程可以包括:
步骤901:根据预先存储的至少两个待预测日志序列中每个日志事件的首次分配的权重,对至少两个待预测日志序列进行第一次聚类,得到第三聚类结果。
这里,对至少两个待预测日志序列进行第一次聚类的实现方式与步骤301中对至少两个日志序列进行聚类的实现方式相同。
步骤902:获取第二权重信息,第二权重信息表示针对至少两个待预测日志序列中每个日志事件重新分配的权重,第二权重信息是根据第三参考信息和第四参考信息中的至少一项确定的,第三参考信息表示第三聚类结果中出现日志事件的分组数量,第四参考信息表示日志事件在第四聚类结果的每个分组中出现的次数。
这里,确定第二权重信息的方式与步骤302中确定第一权重信息的方式相同。
步骤903:根据第二权重信息,对第三聚类结果中的每组日志序列进行第二次聚类,得到第四聚类结果。
这里,对第三聚类结果中的每组日志序列进行第二次聚类的实现方式与步骤303中对第一聚类结果中的每组日志序列进行聚类的实现方式相同。
步骤904:确定距离信息,距离信息表示第四聚类结果中每个分组的代表性日志序列与训练完成的日志分组模型中各个代表性日志序列的距离值。
步骤905:根据距离信息和日志分组模型中每个分组关联的故障信息,确定第四聚类结果中每个分组关联的故障信息。
在实际应用中,步骤901至步骤905可以基于电子设备的处理器实现,上述处理器可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。
可以看出,本申请实施例可以在得到第三聚类结果后,根据第三聚类结果中出现日志事件的分组数量、以及日志事件在第三聚类结果的每个分组中出现的次数,对第三聚类结果中的每个分组进行第二次聚类,因此,第四聚类结果可以较为准确地反映日志事件在单个日志序列中的集中程度或分散程度,从而根据第四聚类结果可以较为准确地确定距离信息,有利于根据距离信息和日志分组模型中每个分组关联的故障信息,较为准确地确定出第四聚类结果中每个分组关联的故障信息。
在本申请的一些实施例中,在对至少两个待预测日志序列进行存储之前,还可以获取第二日志序列集合,将第二日志序列集合中满足设定条件的日志事件滤除,得到所述至少两个待预测日志序列,所述设定条件表示:日志事件的权重小于设定权重。
可以看出,由于权重较小的日志事件通常是正常的日志事件,对于故障诊断没有明显意义,因此,本申请实施例中,通过将第二日志序列集合中权重较小的日志事件滤除,在一定程度上降低了权重较小的日志事件在日志聚类中造成影响,有利于提升聚类精度。
在本申请的一些实施例中,根据所述距离信息和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息的流程,可以包括:根据所述距离信息中各个距离值的最小距离值和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息。
可以看出,由于距离信息表示第四聚类结果中每个分组的代表性日志序列与训练完成的日志分组模型中各个代表性日志序列的距离值,因此,根据距离信息中各个距离值的最小距离值,可以确定训练完成的日志分组模型中与第四聚类结果中每个分组的代表性日志序列距离最小的代表性日志序列,在训练完成的日志分组模型中各个分组关联的故障信息已知的情况下,有利于根据训练完成的日志分组模型中与第四聚类结果中每个分组的代表性日志序列距离最小的代表性日志序列,较为准确地确定对应分组关联的故障信息。
在本申请的一些实施例中,根据距离信息中各个距离值的最小距离值和日志分组模型中每个分组关联的故障信息,确定第四聚类结果中每个分组的故障信息的流程,可以包括:在最小距离值小于设定距离阈值的情况下,根据日志分组模型中与所述最小距离值对应的分组关联的故障信息,确定第四聚类结果中每个分组关联的故障信息。
可以理解地,在最小距离值小于设定距离阈值的情况下,可以认为最小距离值对应的分组与第四聚类结果中对应分组与同一故障场景对应,因此,根据日志分组模型中与所述最小距离值对应的分组关联的故障信息,可以较为准确地确定第四聚类结果中每个分组关联的故障信息。
在本申请的一些实施例中,在最小距离值大于或等于设定距离阈值的情况下,可以生成提示信息,提示信息用于提示用户确定所述第四聚类结果中对应分组所关联的故障信息。
这里,在最小距离值大于或等于设定距离阈值的情况下,可以将第四聚类结果中当前分组的代表性日志序列确定为不匹配的日志序列,并且认为不能在训练完成的日志分组模型中与第四聚类结果中的当前分组对应的分组,此时,可以提示工程师对第四聚类结果中对应分组进行人工故障诊断。
可以看出,在最小距离值大于或等于设定距离阈值的情况下,通过生成提示信息,可以实现对第四聚类结果中对应分组进行人工故障诊断,提升了故障诊断的全面性和准确性。
本申请实施例可以实现对异常点的网络日志进行故障诊断与分析,便于后续为判断故障类型以及分析故障场景做铺垫。本申请实施例的故障诊断流程可以分为训练部分和预测部分,在训练部分,可以通过二次聚类以及重新定义事件权重的方式,训练处更精准的日志分组模型以便在预测时进行调用;在预测部分,可以对与日志分组模型不匹配的代表性日志序列进行诊断与分析。并且引入了日志分组模型的定期更新机制,对训练事件以及一定期限内的所有预测日志包含的事件进行持久化存储,当满足更新条件时,通过对近期累积的日志序列统一训练来更新日志分组模型。本申请实施例可以提高故障诊断的效率、质量和准确性。
图10为本申请实施例中模型训练以及故障诊断的整体流程图,如图10所示,在训练部分,首先可以对第一日志序列集合进行日志预处理,得到上述至少两个日志序列,并将上述至少两个日志序列进行持久化存储。在读取持久化存储的各个日志序列后,可以按照步骤301至步骤304进行两次聚类,得到日志分组模型。
参照图10,在预测部分,也可以对第二日志序列集合进行日志预处理,得到上述至少两个待预测日志序列,对上述至少两个待预测日志序列,可以按照步骤901至步骤903进行二次聚类,然后确定距离信息,根据距离信息以及日志分组模型中每个分组关联的故障信息,进行模型预测。这里模型预测的含义是:根据距离信息和日志分组模型中每个分组关联的故障信息,确定第四聚类结果中每个分组关联的故障信息。
在模型预测过程中,如果第四聚类结果的各个分组的代表性日志序列中,存与日志分组模型不匹配的代表性日志序列,则需要人工诊断与日志分组模型不匹配的代表性日志序列;
进一步地,当满足期限条件时,可以读取最近一个周期内在预测部分累积的日志序列,并将最近一个周期内在预测部分累积的日志序列加载到上述第一日志序列集合中,然后,通过重复执行步骤301至步骤304,可以实现日志分组模型的更新。
综上,本申请实施例通过在二次聚类的过程中,可以根据日志事件在每个分组的数目、分布和集中程度的不同,重新定义了日志事件权重,突出奖励较为集中和稀少的事件,提高了日志聚类以及训练模型的准确性,提升了故障诊断效果。
本申请实施例提出模型定期更新机制以及分组封闭的原则,当满足期限条件时则读取持久化存储的结果并更新日志分组模型,对近期累积的日志序列统一训练来更新日志分组模型,不断累积的数据量保证了后续预测的可靠性和准确性,避免因数据分布不准确产生局限性的问题。本申请实施例不仅存储新的日志序列,而且对于日志分组模型中已有序列组也进行更新,重新计算每个分组的代表性日志序列及规模,使后续预测更有准确性。通过这种方式,有利于根据累积的数据训练出更加精准的日志分组模型,有利于提升后续预测及故障诊断的可靠性与准确性。另外,本申请实施例通过在日志预处理过程中过滤掉日志事件权重(IDF)较小的日志事件,避免其在聚类分析时对其它事件造成影响,进一步提升了故障诊断质量。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
在前述实施例提出的模型训练方法的基础上,本申请实施例还提出了一种模型训练装置。
图11为本申请实施例的模型训练装置的结构示意图,如图11所示,该装置可以包括:第一聚类模块111、第一处理模块112和第二聚类模块113;其中,
第一聚类模块111,用于根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果;
第一处理模块112,获取第一权重信息,所述第一权重信息表示针对所述至少两个日志序列中每个日志事件重新分配的权重,所述第一权重信息是根据第一参考信息和第二参考信息中的至少一项确定的,所述第一参考信息表示第一聚类结果中出现日志事件的分组数量,所述第二参考信息表示日志事件在所述第一聚类结果的每个分组中出现的次数;
第二聚类模块113,根据所述第一权重信息,对所述第一聚类结果中的每组日志序列进行聚类,得到第二聚类结果;
所述第一处理模块112,还用于根据所述第二聚类结果,得到训练完成的日志分组模型,所述日志分组模型用于记录日志序列所在的分组。
在一些实施例中,所述第一处理模块112,还用于在得到训练完成的日志分组模型后,每隔设定时间段,加载最近一个设定时间段内累积的日志序列;并返回根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果的步骤,以得到重新训练完成的日志分组模型。
在一些实施例中,所述第一处理模块112,还用于在获取持久化存储的至少两个日志序列之后,且在根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类之前,获取持久化存储文件,所述持久化存储文件包括按照第一顺序排列的各个日志事件;根据所述第一顺序读取所述持久化存储文件的各个日志事件;
所述第一聚类模块111,用于根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果,包括:根据读取到的所述各个日志事件的权重,对所述至少两个日志序列进行聚类,得到第一聚类结果;
所述第二聚类模块113,用于根据所述第一权重信息,对所述第一聚类结果中的每组日志序列进行聚类,得到第二聚类结果,包括:根据读取到的所述各个日志事件和所述第一权重信息,对所述至少两个日志序列进行聚类,得到第二聚类结果;
所述第一处理模块112,还用于在所述最近一个设定时间段内累积的日志序列存在新日志事件的情况下,在按照所述第一顺序排列的各个日志事件的末端添加所述新日志事件,确定添加有所述新日志事件的各个日志事件的第一顺序;所述新日志事件表示所述持久化存储文件中不存在的日志事件。
在一些实施例中,所述第一处理模块112,还用于在所述第二聚类结果的至少一个目标分组中的日志序列数量大于或等于设定阈值时,将至少一个目标分组中的每个目标分组确定为封闭分组,所述封闭分组表示后续不更改内部日志序列的分组;所述目标分组表示所述第二聚类结果的任意一个分组。
在一些实施例中,所述第一处理模块112,还用于在对所述至少两个日志序列进行持久化存储之前,获取第一日志序列集合,将所述第一日志序列集合中满足设定条件的日志事件滤除,得到所述至少两个日志序列,所述设定条件表示:日志事件的权重小于设定权重。
在实际应用中,第一聚类模块111、第一处理模块112和第二聚类模块113均可以基于电子设备的处理器实现。
在前述实施例提出的故障检测方法的基础上,本申请实施例还提出了一种故障检测装置。
图12为本申请实施例的故障检测装置的结构示意图,如图12所示,该装置可以包括:第三聚类模块121、第二处理模块122和第四聚类模块123;其中,
第三聚类模块121,用于根据预先存储的至少两个待预测日志序列中每个日志事件的首次分配的权重,对至少两个待预测日志序列进行第一次聚类,得到第三聚类结果;
第二处理模块122,用于获取第二权重信息,所述第二权重信息表示针对所述至少两个待预测日志序列中每个日志事件重新分配的权重,所述第二权重信息是根据第三参考信息和第四参考信息中的至少一项确定的,所述第三参考信息表示第三聚类结果中出现日志事件的分组数量,所述第四参考信息表示日志事件在所述第四聚类结果的每个分组中出现的次数;
第四聚类模块123,用于根据所述第二权重信息,对所述第三聚类结果中的每组日志序列进行第二次聚类,得到第四聚类结果;
所述第二处理模块122,还用于确定距离信息,所述距离信息表示所述第四聚类结果中每个分组的代表性日志序列与所述训练完成的日志分组模型中各个代表性日志序列的距离值;
所述第二处理模块122,还用于根据所述距离信息和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息。
在一些实施例中,所述第二处理模块122,用于根据所述距离信息和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息,包括:根据所述距离信息中各个距离值的最小距离值和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息。
在一些实施例中,所述第二处理模块122,用于根据所述距离信息中各个距离值的最小距离值和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组的故障信息,包括:在所述最小距离值小于设定距离阈值的情况下,根据所述日志分组模型中与所述最小距离值对应的分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息。
在一些实施例中,所述第二处理模块122,还用于在所述最小距离值大于或等于设定距离阈值的情况下,生成提示信息,所述提示信息用于提示用户确定所述第四聚类结果中对应分组所关联的故障信息。
在一些实施例中,所述第二处理模块122,还用于在对至少两个待预测日志序列进行存储之前,获取第二日志序列集合,将所述第二日志序列集合中满足设定条件的日志事件滤除,得到所述至少两个待预测日志序列,所述设定条件表示:日志事件的权重小于设定权重。
在实际应用中,第三聚类模块121、第二处理模块122和第四聚类模块123均可以基于电子设备的处理器实现。
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是终端、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例再提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,该计算机可执行指令用于实现本申请实施例提供的任意一种模型训练方法或任意一种故障检测方法。
相应的,本申请实施例再提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令用于实现上述实施例提供的任意一种模型训练方法或任意一种故障检测方法。
本申请实施例还提供一种电子设备,图13为本申请实施例提供的一种电子设备的组成结构示意图,如图13所示,本申请实施例提供的一种电子设备130可以包括:
存储器131,用于存储可执行指令;
处理器132,用于执行所述存储器131中存储的可执行指令时,实现上述任意一种模型训练方法或上述任意一种故障检测方法。
上述处理器132可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。
上述计算机可读存储介质/存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。
在一些实施例中,本申请实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本申请的保护之内。
Claims (14)
1.一种模型训练方法,其特征在于,所述方法包括:
根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果;
获取第一权重信息,所述第一权重信息表示针对所述至少两个日志序列中每个日志事件重新分配的权重,所述第一权重信息是根据第一参考信息和第二参考信息中的至少一项确定的,所述第一参考信息表示第一聚类结果中出现日志事件的分组数量,所述第二参考信息表示日志事件在所述第一聚类结果的每个分组中出现的次数;
根据所述第一权重信息,对所述第一聚类结果中的每组日志序列进行聚类,得到第二聚类结果;
根据所述第二聚类结果,得到训练完成的日志分组模型,所述日志分组模型用于记录日志序列所在的分组。
2.根据权利要求1所述的方法,其特征在于,在得到训练完成的日志分组模型后,所述方法还包括:
每隔设定时间段,加载最近一个设定时间段内累积的日志序列;并返回根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果的步骤,以得到重新训练完成的日志分组模型。
3.根据权利要求1或2所述的方法,其特征在于,在获取持久化存储的至少两个日志序列之后,且在根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类之前,所述方法还包括:获取持久化存储文件,所述持久化存储文件包括按照第一顺序排列的各个日志事件;根据所述第一顺序读取所述持久化存储文件的各个日志事件;
所述根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果,包括:
根据读取到的所述各个日志事件的权重,对所述至少两个日志序列进行聚类,得到第一聚类结果;
所述根据所述第一权重信息,对所述第一聚类结果中的每组日志序列进行聚类,得到第二聚类结果,包括:
根据读取到的所述各个日志事件和所述第一权重信息,对所述至少两个日志序列进行聚类,得到第二聚类结果;
所述方法还包括:
在所述最近一个设定时间段内累积的日志序列存在新日志事件的情况下,在按照所述第一顺序排列的各个日志事件的末端添加所述新日志事件,确定添加有所述新日志事件的各个日志事件的第一顺序;所述新日志事件表示所述持久化存储文件中不存在的日志事件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第二聚类结果的至少一个目标分组中的日志序列数量大于或等于设定阈值时,将至少一个目标分组中的每个目标分组确定为封闭分组,所述封闭分组表示后续不更改内部日志序列的分组;所述目标分组表示所述第二聚类结果的任意一个分组。
5.根据权利要求1所述的方法,其特征在于,在对所述至少两个日志序列进行持久化存储之前,所述方法还包括:
获取第一日志序列集合,将所述第一日志序列集合中满足设定条件的日志事件滤除,得到所述至少两个日志序列,所述设定条件表示:日志事件的权重小于设定权重。
6.一种故障检测方法,其特征在于,所述方法包括:
根据预先存储的至少两个待预测日志序列中每个日志事件的首次分配的权重,对至少两个待预测日志序列进行第一次聚类,得到第三聚类结果;
获取第二权重信息,所述第二权重信息表示针对所述至少两个待预测日志序列中每个日志事件重新分配的权重,所述第二权重信息是根据第三参考信息和第四参考信息中的至少一项确定的,所述第三参考信息表示第三聚类结果中出现日志事件的分组数量,所述第四参考信息表示日志事件在所述第四聚类结果的每个分组中出现的次数;
根据所述第二权重信息,对所述第三聚类结果中的每组日志序列进行第二次聚类,得到第四聚类结果;
确定距离信息,所述距离信息表示所述第四聚类结果中每个分组的代表性日志序列与所述训练完成的日志分组模型中各个代表性日志序列的距离值;
根据所述距离信息和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息。
7.根据权利要求6所述的方法,其特征在于,所述根据所述距离信息和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息,包括:
根据所述距离信息中各个距离值的最小距离值和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息。
8.根据权利要求7所述的方法,其特征在于,所述根据所述距离信息中各个距离值的最小距离值和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组的故障信息,包括:
在所述最小距离值小于设定距离阈值的情况下,根据所述日志分组模型中与所述最小距离值对应的分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述最小距离值大于或等于设定距离阈值的情况下,生成提示信息,所述提示信息用于提示用户确定所述第四聚类结果中对应分组所关联的故障信息。
10.根据权利要求6至9任一项所述的方法,其特征在于,在对至少两个待预测日志序列进行存储之前,所述方法还包括:
获取第二日志序列集合,将所述第二日志序列集合中满足设定条件的日志事件滤除,得到所述至少两个待预测日志序列,所述设定条件表示:日志事件的权重小于设定权重。
11.一种模型训练装置,其特征在于,所述装置包括:
第一聚类模块,用于根据持久化存储的至少两个日志序列中每个日志事件的权重,对至少两个日志序列进行聚类,得到第一聚类结果;
第一处理模块,获取第一权重信息,所述第一权重信息表示针对所述至少两个日志序列中每个日志事件重新分配的权重,所述第一权重信息是根据第一参考信息和第二参考信息中的至少一项确定的,所述第一参考信息表示第一聚类结果中出现日志事件的分组数量,所述第二参考信息表示日志事件在所述第一聚类结果的每个分组中出现的次数;
第二聚类模块,根据所述第一权重信息,对所述第一聚类结果中的每组日志序列进行聚类,得到第二聚类结果;
所述第一处理模块,还用于根据所述第二聚类结果,得到训练完成的日志分组模型,所述日志分组模型用于记录日志序列所在的分组。
12.一种故障检测装置,其特征在于,所述装置包括:
第三聚类模块,用于根据预先存储的至少两个待预测日志序列中每个日志事件的首次分配的权重,对至少两个待预测日志序列进行第一次聚类,得到第三聚类结果;
第二处理模块,用于获取第二权重信息,所述第二权重信息表示针对所述至少两个待预测日志序列中每个日志事件重新分配的权重,所述第二权重信息是根据第三参考信息和第四参考信息中的至少一项确定的,所述第三参考信息表示第三聚类结果中出现日志事件的分组数量,所述第四参考信息表示日志事件在所述第四聚类结果的每个分组中出现的次数;
第四聚类模块,用于根据所述第二权重信息,对所述第三聚类结果中的每组日志序列进行第二次聚类,得到第四聚类结果;
所述第二处理模块,还用于确定距离信息,所述距离信息表示所述第四聚类结果中每个分组的代表性日志序列与所述训练完成的日志分组模型中各个代表性日志序列的距离值;
所述第二处理模块,还用于根据所述距离信息和所述日志分组模型中每个分组关联的故障信息,确定所述第四聚类结果中每个分组关联的故障信息。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5任一项所述的模型训练方法或权利要求6至10任一项所述的故障检测方法。
14.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8任一项所述的模型训练方法或权利要求6至10任一项所述的故障检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310327555.6A CN116910531A (zh) | 2023-03-30 | 2023-03-30 | 模型训练及故障检测方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310327555.6A CN116910531A (zh) | 2023-03-30 | 2023-03-30 | 模型训练及故障检测方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116910531A true CN116910531A (zh) | 2023-10-20 |
Family
ID=88361597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310327555.6A Pending CN116910531A (zh) | 2023-03-30 | 2023-03-30 | 模型训练及故障检测方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116910531A (zh) |
-
2023
- 2023-03-30 CN CN202310327555.6A patent/CN116910531A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025153B (zh) | 磁盘的故障预测方法和装置 | |
CN108923952B (zh) | 基于服务监控指标的故障诊断方法、设备及存储介质 | |
CN111078513B (zh) | 日志处理方法、装置、设备、存储介质及日志告警系统 | |
CN112596964B (zh) | 磁盘故障的预测方法及装置 | |
CN110891000B (zh) | 一种gpu带宽性能的检测方法、系统及相关装置 | |
CN112416670B (zh) | 硬盘测试方法、装置、服务器和存储介质 | |
CN110858072A (zh) | 设备运行状态的确定方法及装置 | |
CN114661505A (zh) | 存储部件故障处理方法、装置、设备和存储介质 | |
CN112882898B (zh) | 基于大数据日志分析的异常检测方法、系统、设备及介质 | |
CN111858108B (zh) | 一种硬盘故障预测方法、装置、电子设备和存储介质 | |
CN117170915A (zh) | 数据中心设备故障预测方法、装置和计算机设备 | |
CN115658441B (zh) | 一种基于日志的家政业务系统异常监控方法、设备及介质 | |
CN111783883A (zh) | 一种异常数据的检测方法及装置 | |
CN116910531A (zh) | 模型训练及故障检测方法、装置、电子设备和存储介质 | |
CN108733707A (zh) | 一种确定搜索功能稳定性及装置 | |
CN116820821A (zh) | 磁盘故障检测方法、装置、电子设备及计算机可读存储介质 | |
CN110991241A (zh) | 异常识别方法、设备及计算机可读介质 | |
CN111400122A (zh) | 一种硬盘健康度评估方法及装置 | |
CN115729761A (zh) | 一种硬盘故障预测方法、系统、设备及介质 | |
CN113918370A (zh) | 类别确定方法、装置、电子设备和存储介质 | |
CN118051657B (zh) | 一种数据专线故障定位用例库测试方法及系统 | |
CN111258788A (zh) | 磁盘故障预测方法、装置及计算机可读存储介质 | |
CN113806178B (zh) | 一种集群节点故障检测方法及装置 | |
CN117331501B (zh) | 一种固态硬盘的数据分析管理方法、设备及系统 | |
CN111309623B (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 |