CN110688448B - 一种基于倒序表的实时日志聚类分析方法 - Google Patents
一种基于倒序表的实时日志聚类分析方法 Download PDFInfo
- Publication number
- CN110688448B CN110688448B CN201910880347.2A CN201910880347A CN110688448B CN 110688448 B CN110688448 B CN 110688448B CN 201910880347 A CN201910880347 A CN 201910880347A CN 110688448 B CN110688448 B CN 110688448B
- Authority
- CN
- China
- Prior art keywords
- word
- template
- log
- score
- original log
- 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
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/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
-
- 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
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/374—Thesaurus
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于倒序表的实时日志聚类分析方法,具体步骤如下:步骤1:初始化:定义日志中每个词的封装结构;步骤2:原始日志预处理,包括正则化替换、敏感词库提出、分词器分词、词性标注、公有变量提取;步骤3:获取模板,包括日志分组、倒排表打分、获取模板、更新模板展示层内容以及倒排表。本方法具有实时日志聚类功能,提高模板的通用性,能够对日志进行并行处理,提高了分析处理的速度。
Description
技术领域
本发明涉及一种计算机领域的技术,具体涉及一种基于基于倒序表的实时日志聚类分析方法。
背景技术
日志分析对于一个企业来说是尤为重要的,作为企业的运维人员如不能实时的了解服务器的安全状况,会给企业造成难以估计的损失。对日志进行分析不仅可以了解到软硬件设备的运行状况,还可以了解到报错日志的源头,判断出错误是由应用引发的还是系统本身引起的等,从而及时的进行补救,更好的提高企业软硬件设备的高可用性。简而言之日志分析最直接明显的两个目的,一为网站安全自检查,了解服务器上正在发生的安全事件,二为应急事件中的分析取证。
但是,面对与日俱增的日志信息,利用传统的方式对日志进行分析已经不能满足企业的要求。此时,基于AI技术的日志分析算法就显得尤为重要,本发明提出基于倒序表的实时日志聚类算法,能够有效的帮助运维人员进行诊断以及定位问题,提高效率和解决问题的能力,起到事半功倍的效果。
发明内容
本发明的目的是提供一种基于倒序表的实时日志聚类分析方法,旨在提取日志的共有模板,检测日志中包含的失败和操作异常信息,防止出现严重的数据丢失和宕机,还可以用来检测和改善系统中的安全漏洞和故障,以及诊断各种类型的操作问题、软硬件设计缺陷等。本发明根据日志结构的特性,提出一种高效的实时日志聚类分析方法,具体步骤如下:
步骤1:初始化:定义日志中每个词的封装结构;
步骤2:原始日志预处理:
第一步,正则化替换;利用正则表达式,将原始日志中的IP地址、端口号以及时间等利用$IP、$IPPort以及DateTime等字符串替换,并进行简单的封装;
第二步,敏感词库提出;根据语义分析以及设置的敏感词模式,对原始日志中的敏感词进行处理,并将其类型设置为important;
第三步,分词器分词;为对原始日志进行精准分词,定义中文分词器、英文分词器以及中英文混合分词器3种类型的分词器,分别用来处理这中文分词、英文分词以及中英文混合分词3种不同类型的分词需求;
第四步,公有变量提取;将原始日志中的数字、需要忽略的词进行处理;
第五步,词性标注;建立的verb字典树、normal字典树;利用事先建立的verb字典树、normal字典树以及nltk插件进行词性标注;
步骤3:获取模板:
第一步,日志分组;对处理后的原始日志进行分组处理;共定义7个大组,每个大组中并含有个数不等的小组,并且对它们都设置了匹配优先级,原始日志优先匹配级别较高的组,当同一条日志匹配到多个组时,将最先匹配到的组设置为该条日志所属的组;
第二步,倒排表打分;对日志进行分组之后,对日志匹配或者生成模板;通过对原始日志的分析,采用打分的方式判断原始日志属于哪个模板,为获得最精确的模板,在打分时综合考虑关键字得分、位置得分以及邻近词得分三个方面因素;
关键词得分是指对原始日志预处理后,该词的类型是否为关键词,当该词为关键词并且该词在原始日志中的位置和在模板中的位置相差在合理的范围内,则在该词在该模板上得分较高,否则得分为1;具体打分方式如下:
其中,keyscore为关键词得分,q为原始日志中的词,key为关键字集合,idxq为词q在原始日志中位置,idxtq为词q在该条模板中的位置,scope为用户设置的阈值,θ为根据用户经验设置奖励项;
位置得分共有两种方式,一种是各个位置的词具有同样的重要性Evenscore如下式(2),第二种是位置越靠前的词权重越高,如下式(3);用户可以根据不同的需求选择不同的打分方式;
Evenscore-=1. (2)
其中,Evenscore为第一种方式位置得分,WDScore为第二种方式位置得分,qid=idxq为词q在原始日志中位置,tq为词q在模板中的位置,α,β为用户设置的惩罚项;
邻近词得分是指在原始日志中的上一邻近词与模板中的是否相同,相同时该词的得分为1,否则为1与惩罚α以及位置差的比值,形式如下:
其中,biasscore为邻近词得分,α为用户设置的惩罚项,idxq为词q在原始日志中位置,idxtq为词q在模板中的位置,abs()为绝对值函数,last_tokenq为原始日志中的上一邻近词,last_tokent为模板中的上一邻近词;为了提高打分效率,根据倒排表的思想,对每个词建立倒排表;
第三步,获取模板;
倒排表打分后,得到该条日志在每个模板上的得分情况,首先设置得分阈值,对于达到得分阈值的模板,进而判断模板中是否有关键词被泛化,如果没有则说明该条日志与该条模板匹配成功;如果该条日志在每个模板上的得分都小于阈值,则利用该条日志创建一个新模板,添加到模板库中;
第四步,更新模板展示层内容以及倒排表。
优选的,所述步骤1中词的封装结构,共包含normal、regex、important以及verb四种类型封装结构。
与现有技术相比,本发明的优势在于:
1)该方法具有实时日志聚类功能,可以不断的增加日志模板并且可以对模板内容进一步泛化处理,提高模板的通用性;
2)该方法能够对日志进行并行处理,提高了分析处理的速度。
附图说明
图1基于倒序表的实时日志聚类分析方法流程图;
具体实施方式
下面结合附图对本发明的实施方式作详细说明,如图1所示,实施步骤如下:
步骤1:初始化:定义日志中每个词的封装结构,共包含normal、regex、important以及verb四种类型封装结构;
步骤2:原始日志预处理:
第一步,正则化替换;利用正则表达式,将原始日志中的IP地址、端口号以及时间等利用$IP、$IPPort以及DateTime等字符串替换,并进行简单的封装;
第二步,敏感词库提出;根据语义分析以及设置的敏感词模式,对原始日志中的敏感词进行处理,并将其类型设置为important;
第三步,分词器分词;为对原始日志进行精准分词,定义中文分词器、英文分词器以及中英文混合分词器3种类型的分词器,分别用来处理这中文分词、英文分词以及中英文混合分词3种不同类型的分词需求;
第四步,公有变量提取;将原始日志中的数字、需要忽略的词进行处理;
第五步,词性标注;建立的verb字典树、normal字典树,字典树是一种实现字符串快速检索的多叉树结构,能够降低搜索字符串的时间;利用事先建立的verb字典树、normal字典树以及nltk插件进行词性标注,防止在提取公共模板时有意义的词被泛化;
步骤3:获取模板:
第一步,日志分组;对处理后的原始日志进行分组处理,以便能够快速定位问题;共定义7个大组,每个大组中并含有个数不等的小组,并且对它们都设置了匹配优先级,原始日志优先匹配级别较高的组,当同一条日志匹配到多个组时,将最先匹配到的组设置为该条日志所属的组;
第二步,倒排表打分;对日志进行分组之后,对日志匹配或者生成模板;通过对原始日志的分析,采用打分的方式判断原始日志属于哪个模板,为获得最精确的模板,在打分时综合考虑关键字得分、位置得分以及邻近词得分三个方面因素;
关键词得分是指对原始日志预处理后,该词的类型是否为关键词,当该词为关键词并且该词在原始日志中的位置和在模板中的位置相差在合理的范围内,则在该词在该模板上得分较高,否则得分为1;具体打分方式如下:
其中,keyscore为关键词得分,q为原始日志中的词,key为关键字集合,idxq为词q在原始日志中位置,idxtq为词q在该条模板中的位置,scope为用户设置的阈值,θ为根据用户经验设置奖励项;
位置得分共有两种方式,一种是各个位置的词具有同样的重要性Evenscore如下式(2),第二种是位置越靠前的词权重越高,如下式(3);用户可以根据不同的需求选择不同的打分方式;
Evenscore=1. (2)
其中,Evenscore为第一种方式位置得分,WDScore为第二种方式位置得分,qid=idxq为词q在原始日志中位置,tq为词q在模板中的位置,α,β为用户设置的惩罚项;
邻近词得分是指在原始日志中的上一邻近词与模板中的是否相同,相同时该词的得分为1,否则为1与惩罚α以及位置差的比值,形式如下:
其中,biasscore为邻近词得分,α为用户设置的惩罚项,idxq为词q在原始日志中位置,idxtq为词q在模板中的位置,abs()为绝对值函数,last_tokenq为原始日志中的上一邻近词,last_tokent为模板中的上一邻近词;为了提高打分效率,根据倒排表的思想,对每个词建立倒排表,降低搜索时间;
第三步,获取模板;
倒排表打分后,得到该条日志在每个模板上的得分情况,首先设置得分阈值,对于达到得分阈值的模板,进而判断模板中是否有关键词被泛化,如果没有则说明该条日志与该条模板匹配成功;如果该条日志在每个模板上的得分都小于阈值,则利用该条日志创建一个新模板,添加到模板库中;
第四步,更新模板展示层内容以及倒排表。
本发明提供的方法可以应用于系统诊断、故障分析、问题定位等。
如上所示,本发明虽然已参照有限的实施例和附图进行了说明,但在本发明所属领域中具备通常知识的人均可以从此记载中进行各种修改和变形。由此,其他实施例及权利要求书与等同物均属于权利要求的保护范围。
Claims (2)
1.一种基于倒序表的实时日志聚类分析方法,其特征在于所述方法的具体步骤如下:
步骤1:初始化:定义日志中每个词的封装结构;
步骤2:原始日志预处理:
第一步,正则化替换;利用正则表达式,将原始日志中的IP地址、端口号以及时间等利用$IP、$IPPort以及DateTime等字符串替换,并进行简单的封装;
第二步,敏感词库提出;根据语义分析以及设置的敏感词模式,对原始日志中的敏感词进行处理,并将其类型设置为important;
第三步,分词器分词;为对原始日志进行精准分词,定义中文分词器、英文分词器以及中英文混合分词器3种类型的分词器,分别用来处理这中文分词、英文分词以及中英文混合分词3种不同类型的分词需求;
第四步,公有变量提取;将原始日志中的数字、需要忽略的词进行处理;
第五步,词性标注;建立的verb字典树、normal字典树;利用事先建立的verb字典树、normal字典树以及nltk插件进行词性标注;
步骤3:获取模板:
第一步,日志分组;对处理后的原始日志进行分组处理;共定义7个大组,每个大组中并含有个数不等的小组,并且对它们都设置了匹配优先级,原始日志优先匹配级别较高的组,当同一条日志匹配到多个组时,将最先匹配到的组设置为该条日志所属的组;
第二步,倒排表打分;对日志进行分组之后,对日志匹配或者生成模板;通过对原始日志的分析,采用打分的方式判断原始日志属于哪个模板,为获得最精确的模板,在打分时综合考虑关键字得分、位置得分以及邻近词得分三个方面因素;
关键词得分是指对原始日志预处理后,该词的类型是否为关键词,当该词为关键词并且该词在原始日志中的位置和在模板中的位置相差在合理的范围内,则在该词在该模板上得分较高,否则得分为1;具体打分方式如下:
其中,keyscore为关键词得分,q为原始日志中的词,key为关键字集合,idxq为词q在原始日志中位置,idxtq为词q在该条模板中的位置,scope为用户设置的阈值,θ为根据用户经验设置奖励项;
位置得分共有两种方式,一种是各个位置的词具有同样的重要性Evenscore如下式(2),第二种是位置越靠前的词权重越高,如下式(3);用户可以根据不同的需求选择不同的打分方式;
Evenscore=1. (2)
其中,Evenscore为第一种方式位置得分,WDScore为第二种方式位置得分,qid=idxq为词q在原始日志中位置,tq为词q在模板中的位置,α,β为用户设置的惩罚项;
邻近词得分是指在原始日志中的上一邻近词与模板中的是否相同,相同时该词的得分为1,否则为1与惩罚α以及位置差的比值,形式如下:
其中,biasscore为邻近词得分,α为用户设置的惩罚项,idxq为词q在原始日志中位置,idxtq为词q在模板中的位置,abs()为绝对值函数,last_tokenq为原始日志中的上一邻近词,last_tokent为模板中的上一邻近词;为了提高打分效率,根据倒排表的思想,对每个词建立倒排表;
第三步,获取模板;
倒排表打分后,得到该条日志在每个模板上的得分情况,首先设置得分阈值,对于达到得分阈值的模板,进而判断模板中是否有关键词被泛化,如果没有则说明该条日志与该条模板匹配成功;如果该条日志在每个模板上的得分都小于阈值,则利用该条日志创建一个新模板,添加到模板库中;
第四步,更新模板展示层内容以及倒排表。
2.根据权利要求1所述一种基于倒序表的实时日志聚类分析方法,其特征在于:所述步骤1中词的封装结构,共包含normal、regex、important以及verb四种类型封装结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910880347.2A CN110688448B (zh) | 2019-09-18 | 2019-09-18 | 一种基于倒序表的实时日志聚类分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910880347.2A CN110688448B (zh) | 2019-09-18 | 2019-09-18 | 一种基于倒序表的实时日志聚类分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688448A CN110688448A (zh) | 2020-01-14 |
CN110688448B true CN110688448B (zh) | 2023-03-31 |
Family
ID=69109212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910880347.2A Active CN110688448B (zh) | 2019-09-18 | 2019-09-18 | 一种基于倒序表的实时日志聚类分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688448B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414744B (zh) * | 2020-03-25 | 2023-04-07 | 上海擎创信息技术有限公司 | 一种基于社区检测的运维告警场景生成方法 |
CN113407656B (zh) * | 2021-06-24 | 2023-03-07 | 上海上讯信息技术股份有限公司 | 一种快速在线日志聚类的方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011238174A (ja) * | 2010-05-13 | 2011-11-24 | Nippon Telegr & Teleph Corp <Ntt> | キーワード獲得装置、キーワード獲得方法、キーワード獲得プログラム |
CN103761173A (zh) * | 2013-12-28 | 2014-04-30 | 华中科技大学 | 一种基于日志的计算机系统故障诊断方法及装置 |
CN104391881A (zh) * | 2014-10-30 | 2015-03-04 | 杭州安恒信息技术有限公司 | 一种基于分词算法的日志解析方法及系统 |
-
2019
- 2019-09-18 CN CN201910880347.2A patent/CN110688448B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011238174A (ja) * | 2010-05-13 | 2011-11-24 | Nippon Telegr & Teleph Corp <Ntt> | キーワード獲得装置、キーワード獲得方法、キーワード獲得プログラム |
CN103761173A (zh) * | 2013-12-28 | 2014-04-30 | 华中科技大学 | 一种基于日志的计算机系统故障诊断方法及装置 |
CN104391881A (zh) * | 2014-10-30 | 2015-03-04 | 杭州安恒信息技术有限公司 | 一种基于分词算法的日志解析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110688448A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109859029A (zh) | 异常申请检测方法、装置、计算机设备以及存储介质 | |
CN111400500B (zh) | 一种基于LCS的Chameleon实时日志聚类方法 | |
Wang et al. | LogUAD: Log unsupervised anomaly detection based on Word2Vec | |
CN110688448B (zh) | 一种基于倒序表的实时日志聚类分析方法 | |
US20240264890A1 (en) | Method and system for analyzing cloud platform logs, device and medium | |
CN110162632B (zh) | 一种新闻专题事件发现的方法 | |
CN107608813A (zh) | 一种基于linux操作系统信息自动分析故障的方法 | |
CN110704638A (zh) | 一种基于聚类算法的电力文本词典构造方法 | |
CN111930597B (zh) | 基于迁移学习的日志异常检测方法 | |
CN113407721A (zh) | 检测日志序列异常的方法、装置及计算机存储介质 | |
CN111190873B (zh) | 一种用于云原生系统日志训练的日志模式提取方法及系统 | |
CN110572402B (zh) | 基于网络访问行为分析的互联网托管网站检测方法、系统和可读存储介质 | |
CN116841779A (zh) | 异常日志检测方法、装置、电子设备和可读存储介质 | |
CN111597423B (zh) | 一种文本分类模型可解释性方法的性能评价方法及装置 | |
Aslam et al. | Web-AM: An efficient boilerplate removal algorithm for Web articles | |
CN116302984A (zh) | 一种测试任务的根因分析方法、装置及相关设备 | |
CN114912026B (zh) | 一种网络舆情监测分析处理方法、设备及计算机存储介质 | |
Shahid et al. | Anomaly detection in system logs in the sphere of digital economy | |
Chen et al. | Retrieving potential cybersecurity information from hacker forums | |
Sichao et al. | Algorithm using deep learning for recognition of Japanese historical characters in photo image of historical book | |
CN109344254A (zh) | 一种地址信息分类方法及装置 | |
Liu et al. | Lopper: An efficient method for online log pattern mining based on hybrid clustering tree | |
Wu | Review of Anomaly Detection Based on Log Analysis | |
CN112214572B (zh) | 一种简历解析中二次提取实体的方法 | |
TWI667581B (zh) | URL classification method and computer program product |
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 |