CN111400500A - 一种基于LCS的Chameleon实时日志聚类方法 - Google Patents
一种基于LCS的Chameleon实时日志聚类方法 Download PDFInfo
- Publication number
- CN111400500A CN111400500A CN202010216937.8A CN202010216937A CN111400500A CN 111400500 A CN111400500 A CN 111400500A CN 202010216937 A CN202010216937 A CN 202010216937A CN 111400500 A CN111400500 A CN 111400500A
- Authority
- CN
- China
- Prior art keywords
- template
- log
- matching
- logs
- templates
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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
Abstract
本发明提供一种基于LCS的Chameleon实时日志聚类方法,方法包括:第一步:分词,将原始日志处理成tokens序列,包括敏感词库提出、正则化替换、分词器分词、数值处理和过滤;第二步:日志分组;第三步:匹配模板:第四步:模板优化。本发明提供的Chameleon日志聚类算法,能够有效的帮助运维人员进行诊断以及定位问题,提高效率和解决问题的能力。
Description
技术领域
本发明属于计算机领域,具体涉及一种基于LCS的Chameleon实时日志聚类方法。
背景技术
日志分析对于一个企业来说是尤为重要的,作为企业的运维人员如不能实时的了解服务器的安全状况,会给企业造成难以估计的损失。对日志进行分析不仅可以了解到软硬件设备的运行状况,还可以了解到报错日志的源头,判断出错误是由应用引发的还是系统本身引起的等,从而及时的进行补救,更好地提高企业软硬件设备的高可用性。日志分析最直接明显的两个目的,一为网站安全自检查,了解服务器上正在发生的安全事件,二为应急事件中的分析取证。但是,面对与日俱增的日志信息,利用传统的方式对日志进行分析已经不能满足企业的要求,基于AI技术的日志分析算法就显得尤为重要。
本发明提供一种基于LCS的Chameleon实时日志聚类方法,旨在提取日志的共有模板,检测日志中包含的失败和操作异常信息,防止出现严重的数据丢失和宕机,还可以用来检测和改善系统中的安全漏洞和故障,以及诊断各种类型的操作问题、软硬件设计缺陷等。与现有的日志聚类算法相比,具有以下优势:
1)本发明具有实时日志聚类功能,可以不断的增加日志模板并且可以对模板内容进一步泛化处理,使模板越来越通用;
2)本发明能够对日志进行并行处理;
3)本发明可以自动进行模板调优,模板可读性较好,并支持人工修改模板;
4)本发明可以智能识别重要内容,不被泛化。
发明内容
本发明根据日志结构的特性,创新性地提出基于LCS(longest common series)的日志聚类算法,支持离线训练以及实时聚类,同时采用前缀树、倒序表等技术来提高算法性能,解决当前日志进行智能化分析的问题。
一种基于LCS的Chameleon实时日志聚类方法,其特征在于:所述方法包括如下步骤:
第一步:分词,将原始日志处理成tokens序列;
Step1:敏感词库提出
对原始日志中的敏感词进行提取,并将其类型设置为important,不允许泛化;
Step2:正则化替换
利用正则表达式,将原始日志中详细的IP地址、端口号以及时间等利用$IP、$IPPort以及$DateTime等字符串替换,并进行简单封装;
Step3:分词器分词
为对原始日志进行精准分词,利用Chameleon分词功能,一键切分中文、英文以及中英文混合等不同类型的内容;
Step4:数值处理
将原始日志中的数值替换为$NUM;
Step5:过滤
根据配置规则将需要忽略的词进行处理;
第二步:日志分组
对处理后的原始日志进行分组处理,以便能够快速定位问题;根据机器学习分类算法,对原始日志进行分组,这些组包括环境层、硬件层、操作系统层、基础架构层、应用层等;Chameleon根据日志所属分组,分别进行聚类;
第三步:匹配模板
Step1:前缀树匹配
每个分组根据该分组下模板的公共tokens创建一个前缀树,前缀树用来快速搜索合适的模板,可以极大地减少LCS的计算量;对于通常的日志,直接通过前缀树来匹配到模板,成功率大于90%。前缀树匹配失败后,则进入下一环节,进行倒序表匹配;
Step2:倒序表匹配
利用倒序表匹配可以减少LCS的计算量,在Chameleon中,每个分组下维护一张倒序表,记录每个token在每个模板中的计数;利用这张倒序表,计算当前日志的tokens序列与每个模板的公共tokens数量,当公共tokens数量达到相似度要求时,LCS才达到要求,筛选出候选模板;
Step3:LCS匹配
倒序表匹配后,得到候选模板列表,将候选模板依次与当前日志进行LCS计算,LCS的长度达到阈值要求,而且重要信息没有被泛化、日志长度也合适,则认为当前模板匹配成功;没有模板匹配成功时,则以该条日志为中心创建一个新模板,添加到模板库中;创建模板时,根据相似度阈值similarity和日志tokens长度,计算support和maxAcceptLength,公式如下:
日志tokens长度不超过模板的maxAcceptLength,且日志tokens与模板tokens的LCS长度达到support,同时重要词没有被泛化,则认为该日志与该模板匹配;
Step4:处理泛化内容为位置参数;
Step5:上一步发生模板泛化或创建新模板时,则更新模板库、倒序表、前缀树;
第四步:模板优化
Step1:模板拆分
根据位置参数的取值情况来分析参数的重要程度,参数较重要时,则按参数取值拆分模板;
Step2:模板合并
先根据文本相似度归类相似模板,然后对比相似模板间的常量部分与位置参数,对于参数类型一致的模板将进行合并。
优选的,所述第二步中日志分组,分组包括环境层、硬件层、操作系统层、基础架构层、应用层等。
附图说明
图1一种基于LCS的Chameleon实时日志聚类方法流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
参见附图1所示,本发明包括如下步骤:
第一步:分词,即将原始日志处理成tokens序列:
Step1:敏感词库提出
对原始日志中的敏感词进行提取,并将其类型设置为important,不允许泛化。
Step2:正则化替换
利用正则表达式,将原始日志中的详细的IP地址、端口号以及时间等利用$IP、$IPPort以及$DateTime等字符串替换,并进行简单的封装。
Step3:分词器分词
为对原始日志进行精准分词,Chameleon分词功能强大,能够一键切分中文、英文以及中英文混合等不同类型的内容。
Step4:数值处理
将原始日志中的数值替换为$NUM。
Step5:过滤
根据配置规则将需要忽略的词进行处理。
第二步:日志分组
对处理后的原始日志进行分组处理,以便能够快速定位问题。根据机器学习分类算法,将原始日志进行分组,这些组包括环境层、硬件层、操作系统层、基础架构层、应用层等。Chameleon将根据日志所属分组,分别进行聚类。
第三步:匹配模板:
Step1:前缀树匹配
每个分组都会根据该分组下的模板的公共tokens创建一个前缀树,前缀树用来快速搜索合适的模板,可以极大地减少LCS的计算量。对于通常的日志,90%以上的情况下可以直接通过前缀树来匹配到模板。如果前缀树匹配失败,则进入下一环节,倒序表匹配。
Step2:倒序表匹配
倒序表匹配在效率上低于前缀树匹配,但也可以很大程度上减少LCS的计算量。在Chameleon中,每个分组下都会维护一张倒序表,记录了每个token在每个模板中的计数。利用这张倒序表,可以较快地计算出当前日志的tokens序列与每个模板的公共tokens数量,也只有公共tokens数量达到相似度要求后,才有可能LCS达到要求,所以这一步可以筛选出为数不多的一些模板,它们可能包含有合适的模板,这些模板称为候选模板。
Step3:LCS匹配
倒序表匹配后,得到了候选模板列表,将候选模板依次与当前日志进行LCS计算,如果LCS的长度达到阈值要求,而且重要信息没有被泛化、日志长度也合适,则认为当前模板匹配成功。如果没有模板匹配成功,则以该条日志为中心创建一个新模板,添加到模板库中。创建模板时,根据相似度阈值similarity和日志tokens长度,计算support和maxAcceptLength,公式如下
如果日志tokens长度不超过模板的maxAcceptLength,且日志tokens与模板tokens的LCS长度达到support,同时重要词没有被泛化,则认为该日志与该模板匹配。
Step4:处理泛化内容为位置参数。
Step5:如果上一步发生模板泛化或创建新模板,则更新模板库、倒序表、前缀树。
第四步:模板优化:
Step1:模板拆分
根据位置参数的取值情况来分析参数的重要程度,如果参数较重要,则按参数取值拆分模板。
Step2:模板合并
先根据文本相似度归类相似模板,然后对比相似模板间的常量部分与位置参数,对于参数类型一致的模板将进行合并。
本发明提出的Chameleon日志聚类算法,能够有效的帮助运维人员进行诊断以及定位问题,提高效率和解决问题的能力,起到事半功倍的效果。
以上所述之实施例仅为本发明的较佳实施例,并非对本发明做任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,利用上述揭示的技术内容对本发明技术方案作出更多可能的变动和润饰,或修改均为本发明的等效实施例。故凡未脱离本发明技术方案的内容,依据本发明之思路所作的等同等效变化,均应涵盖于本发明的保护范围内。
Claims (2)
1.一种基于LCS的Chameleon实时日志聚类方法,其特征在于:所述方法包括如下步骤:
第一步:分词,将原始日志处理成tokens序列;
Step1:敏感词库提出
对原始日志中的敏感词进行提取,并将其类型设置为important,不允许泛化;
Step2:正则化替换
利用正则表达式,将原始日志中详细的IP地址、端口号以及时间等利用$IP、$IPPort以及$DateTime等字符串替换,并进行简单封装;
Step3:分词器分词
为对原始日志进行精准分词,利用Chameleon分词功能,一键切分中文、英文以及中英文混合等不同类型的内容;
Step4:数值处理
将原始日志中的数值替换为$NUM;
Step5:过滤
根据配置规则将需要忽略的词进行处理;
第二步:日志分组
对处理后的原始日志进行分组处理,以便能够快速定位问题;根据机器学习分类算法,对原始日志进行分组,这些组包括环境层、硬件层、操作系统层、基础架构层、应用层等;Chameleon根据日志所属分组,分别进行聚类;
第三步:匹配模板
Step1:前缀树匹配
每个分组根据该分组下模板的公共tokens创建一个前缀树,前缀树用来快速搜索合适的模板,减少LCS的计算量;对于通常的日志,直接通过前缀树来匹配到模板,成功率大于90%,前缀树匹配失败后,则进入下一环节,进行倒序表匹配;
Step2:倒序表匹配
利用倒序表匹配减少LCS的计算量,在Chameleon中,每个分组下维护一张倒序表,记录每个token在每个模板中的计数;利用这张倒序表,计算当前日志的tokens序列与每个模板的公共tokens数量,当公共tokens数量达到相似度要求时,LCS才达到要求,筛选出候选模板;
Step3:LCS匹配
倒序表匹配后,得到候选模板列表,将候选模板依次与当前日志进行LCS计算,LCS的长度达到阈值要求,而且重要信息没有被泛化、日志长度也合适,则认为当前模板匹配成功;没有模板匹配成功时,则以该日志为中心创建一个新模板,添加到模板库中;创建模板时,根据相似度阈值similarity和日志tokens长度,计算support和maxAcceptLength,公式如下:
日志tokens长度不超过模板的maxAcceptLength,且日志tokens与模板tokens的LCS长度达到support,同时重要词没有被泛化,则认为该日志与该模板匹配;
Step4:处理泛化内容为位置参数;
Step5:上一步发生模板泛化或创建新模板时,则更新模板库、倒序表、前缀树;
第四步:模板优化
Step1:模板拆分
根据位置参数的取值情况来分析参数的重要程度,参数较重要时,则按参数取值拆分模板;
Step2:模板合并
先根据文本相似度归类相似模板,然后对比相似模板间的常量部分与位置参数,对于参数类型一致的模板将进行合并。
2.根据权利要求1所述的一种基于LCS的Chameleon实时日志聚类方法,其特征在于:在所述第二步中日志分组,分组包括环境层、硬件层、操作系统层、基础架构层、应用层等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010216937.8A CN111400500B (zh) | 2020-03-25 | 2020-03-25 | 一种基于LCS的Chameleon实时日志聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010216937.8A CN111400500B (zh) | 2020-03-25 | 2020-03-25 | 一种基于LCS的Chameleon实时日志聚类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111400500A true CN111400500A (zh) | 2020-07-10 |
CN111400500B CN111400500B (zh) | 2023-09-05 |
Family
ID=71434575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010216937.8A Active CN111400500B (zh) | 2020-03-25 | 2020-03-25 | 一种基于LCS的Chameleon实时日志聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400500B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950263A (zh) * | 2020-08-10 | 2020-11-17 | 中山大学 | 一种日志解析方法、系统及电子设备 |
CN113055171A (zh) * | 2021-03-30 | 2021-06-29 | 西安电子科技大学 | 基于的区块链的日志安全解析及存储方法 |
CN113590421A (zh) * | 2021-07-27 | 2021-11-02 | 招商银行股份有限公司 | 日志模板提取方法、程序产品及存储介质 |
CN113590421B (zh) * | 2021-07-27 | 2024-04-26 | 招商银行股份有限公司 | 日志模板提取方法、程序产品及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604035A (zh) * | 2003-09-30 | 2005-04-06 | 联想(北京)有限公司 | 一种日志分析系统及基于该系统的分析方法 |
CN105468677A (zh) * | 2015-11-13 | 2016-04-06 | 国家计算机网络与信息安全管理中心 | 一种基于图结构的日志聚类方法 |
WO2019060326A1 (en) * | 2017-09-20 | 2019-03-28 | University Of Utah Research Foundation | ANALYSIS OF SYSTEM EVENT LOGS DURING CONTINUOUS TRANSMISSION |
-
2020
- 2020-03-25 CN CN202010216937.8A patent/CN111400500B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604035A (zh) * | 2003-09-30 | 2005-04-06 | 联想(北京)有限公司 | 一种日志分析系统及基于该系统的分析方法 |
CN105468677A (zh) * | 2015-11-13 | 2016-04-06 | 国家计算机网络与信息安全管理中心 | 一种基于图结构的日志聚类方法 |
WO2019060326A1 (en) * | 2017-09-20 | 2019-03-28 | University Of Utah Research Foundation | ANALYSIS OF SYSTEM EVENT LOGS DURING CONTINUOUS TRANSMISSION |
Non-Patent Citations (1)
Title |
---|
崔元等: "基于大规模网络日志的模板提取研究", 《计算机科学》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950263A (zh) * | 2020-08-10 | 2020-11-17 | 中山大学 | 一种日志解析方法、系统及电子设备 |
CN111950263B (zh) * | 2020-08-10 | 2022-02-08 | 中山大学 | 一种日志解析方法、系统及电子设备 |
CN113055171A (zh) * | 2021-03-30 | 2021-06-29 | 西安电子科技大学 | 基于的区块链的日志安全解析及存储方法 |
CN113055171B (zh) * | 2021-03-30 | 2022-05-31 | 西安电子科技大学 | 基于的区块链的日志安全解析及存储方法 |
CN113590421A (zh) * | 2021-07-27 | 2021-11-02 | 招商银行股份有限公司 | 日志模板提取方法、程序产品及存储介质 |
CN113590421B (zh) * | 2021-07-27 | 2024-04-26 | 招商银行股份有限公司 | 日志模板提取方法、程序产品及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111400500B (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Le et al. | Log-based anomaly detection without log parsing | |
CN107294993B (zh) | 一种基于集成学习的web异常流量监测方法 | |
CN110175158B (zh) | 一种基于向量化的日志模板提取方法和系统 | |
Wurzenberger et al. | Incremental clustering for semi-supervised anomaly detection applied on log data | |
Ying et al. | An improved KNN-based efficient log anomaly detection method with automatically labeled samples | |
CN111400500A (zh) | 一种基于LCS的Chameleon实时日志聚类方法 | |
CN113254255B (zh) | 一种云平台日志的分析方法、系统、设备及介质 | |
CN111078979A (zh) | 一种基于ocr和文本处理技术识别网贷网站的方法及系统 | |
CN108280021A (zh) | 一种基于机器学习的日志等级分析方法 | |
CN111949480A (zh) | 一种基于组件感知的日志异常检测方法 | |
CN112445775B (zh) | 一种光刻机的故障分析方法、装置、设备和存储介质 | |
CN115277180A (zh) | 一种区块链日志异常检测与溯源系统 | |
CN110688448B (zh) | 一种基于倒序表的实时日志聚类分析方法 | |
CN111581057B (zh) | 一种通用日志解析方法、终端设备及存储介质 | |
US20210103699A1 (en) | Data extraction method and data extraction device | |
CN112882997B (zh) | 一种基于N-gram与频繁模式挖掘的系统日志解析方法 | |
CN115563512A (zh) | 一种基于远程监督的语义匹配模型的生成方法及系统 | |
Jain et al. | Extracting the textual and temporal structure of supercomputing logs | |
US11822578B2 (en) | Matching machine generated data entries to pattern clusters | |
CN112732655B (zh) | 针对无格式日志的在线解析方法及系统 | |
Öztürk et al. | Analysis and relevance of service reports to extend predictive maintenance of large-scale plants | |
Zhang et al. | Research on data cleaning method based on SNM algorithm | |
CN113723555A (zh) | 异常数据的检测方法及装置、存储介质、终端 | |
Zhao et al. | Robust log-based anomaly detection with hierarchical contrastive learning | |
Dos Santos | Automatic content extraction on semi-structured documents |
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 |