CN110958222A - 基于孤立森林算法的服务器日志异常检测方法及系统 - Google Patents
基于孤立森林算法的服务器日志异常检测方法及系统 Download PDFInfo
- Publication number
- CN110958222A CN110958222A CN201911049001.4A CN201911049001A CN110958222A CN 110958222 A CN110958222 A CN 110958222A CN 201911049001 A CN201911049001 A CN 201911049001A CN 110958222 A CN110958222 A CN 110958222A
- Authority
- CN
- China
- Prior art keywords
- log
- forest algorithm
- log file
- matrix
- preset
- 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
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 38
- 238000001514 detection method Methods 0.000 title claims abstract description 35
- 230000002159 abnormal effect Effects 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 9
- 230000005856 abnormality Effects 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 42
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000011109 contamination Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出的一种基于孤立森林算法的服务器日志异常检测方法及系统,用于服务器中所产生日志的自动化异常检测,能够有效提高异常检测的效率。通过本发明,可以发现服务器日志中记录的异常模式,及时发现异常,帮助人工完成快速的异常筛查。本发明提供的检测方法通过脚本,作为服务器软件模块的一部分进行使用。
Description
技术领域
本发明涉及计算机技术领域,更具体的说是涉及一种基于孤立森林算法的服务器日志异常检测方法及系统。
背景技术
在计算机中,日志文件是记录在操作系统或其他软件运行中发生的事件或在通信软件的不同用户之间的消息的文件。记录是保持日志的行为。在最简单的情况下,消息被写入单个日志文件。事件日志记录在系统的执行中发生的事件,以便提供可用于理解系统的活动和诊断问题的跟踪。它们对理解复杂系统的活动至关重要,特别是在用户交互较少的应用程序中。
同样,服务器日志(server log)是一个或多个由服务器自动创建和维护的日志文件,其中包含其所执行活动的列表。对服务器的日志分析可以有效的了解服务器中存在的一些潜在问题或者故障。但是,服务器每天产生的大量日志文件通过人眼难以进行全面的检查和分析。
发明内容
针对以上问题,本发明的目的在于提供一种基于孤立森林算法的服务器日志异常检测方法及系统,能够发现服务器日志中记录的异常模式,及时发现异常。帮助人工完成快速的异常筛查。
本发明为实现上述目的,通过以下技术方案实现:一种基于孤立森林算法的服务器日志异常检测方法,包括如下步骤:
S1:获取原始的日志文件;
S2:根据日志文件的长度、预设的时间戳和预设的检测时间,将所述日志文件构造成一个记录矩阵;
S3:参考预设的日志字典,将所述记录矩阵的每一行进行数字特征转换,构成出日志文件的特征矩阵;
S4:通过对所述特征矩阵应用孤立森林算法,得到日志文件的异常样本。
进一步,所述步骤S4之后还包括:
S5:将异常样本输出到客户端,用于人工的观察和分析。
进一步,所述步骤S2具体为:
原始的日志文件长度为N个时间戳,预设的检测时间为为时间戳的k个时间戳。则原始日志文件可以被构造为N/k行,k列的记录矩阵。
进一步,所述步骤S3具体为:
所述预设的字典长度为q,则记录矩阵的一行变为q列的一维数据,将不出现的日志记录记为0,出现的日志记录按照出现频率进行计数,最终构造出N/k行,q列的特征矩阵。
进一步,所述孤立森林算法中的计算参数采用基于开源sklearn算法框架的默认参数。
进一步,所述预设的时间戳的时间单位为毫秒、秒或者分钟。
相应的,本发明还公开了一种基于孤立森林算法的服务器日志异常检测系统,包括:
记录矩阵构造单元,用于根据日志文件的长度、预设的时间戳和预设的检测时间,将所述日志文件构造成一个记录矩阵;
特征矩阵构造单元,用于参考预设的日志字典,将所述记录矩阵的每一行进行数字特征转换,构成出日志文件的特征矩阵;
异常样本生成单元,用于通过对所述特征矩阵应用孤立森林算法,得到日志文件的异常样本。
进一步,还包括异常样本输出单元,用于将异常样本输出到客户端,进行人工的观察和分析。
对比现有技术,本发明有益效果在于:本发明提供了一种基于孤立森林算法的服务器日志异常检测方法及系统,用于服务器中所产生日志的自动化异常检测,能够有效提高异常检测的效率。通过本发明,可以发现服务器日志中记录的异常模式,及时发现异常,帮助人工完成快速的异常筛查。本发明提供的检测方法通过脚本,作为服务器软件模块的一部分进行使用。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明的方法流程图。
附图2是本发明的系统结构图。
具体实施方式
下面结合附图对本发明的具体实施方式做出说明。
实施例一:
如图1所示,本发明公开了一种基于孤立森林算法的服务器日志异常检测方法,包括如下步骤:
S1:获取原始的日志文件。
S2:根据日志文件的长度、预设的时间戳和预设的检测时间,将所述日志文件构造成一个记录矩阵。原始的日志文件长度为N个时间戳,预设的检测时间为为时间戳的k个时间戳。则原始日志文件可以被构造为N/k行,k列的记录矩阵。其中,预设的时间戳的时间单位为毫秒、秒或者分钟。
S3:参考预设的日志字典,将所述记录矩阵的每一行进行数字特征转换,构成出日志文件的特征矩阵。所述预设的字典长度为q,则一行为q列的一维数据,将不出现的日志记录记为0,出现的日志记录按照出现频率进行计数,最终构造出N/k行,q列的特征矩阵。
S4:通过对所述特征矩阵应用孤立森林算法,得到日志文件的异常样本。孤立森林算法中的计算参数采用基于开源sklearn算法框架的默认参数。
S5:将异常样本输出到客户端,用于人工的观察和分析。
相应的,如图2所示,本发明还公开了一种基于孤立森林算法的服务器日志异常检测系统,包括:
文件获取单元,用于获取原始的日志文件。
记录矩阵构造单元,用于根据日志文件的长度、预设的时间戳和预设的检测时间,将所述日志文件构造成一个记录矩阵。
特征矩阵构造单元,用于参考预设的日志字典,将所述记录矩阵的每一行进行数字特征转换,构成出日志文件的特征矩阵。
异常样本生成单元,用于通过对所述特征矩阵应用孤立森林算法,得到日志文件的异常样本。
异常样本输出单元,用于将异常样本输出到客户端,进行人工的观察和分析。
实施例二:
通常来说,异常检测是很常用的一种算法。主要用来检测一条数据是否为异常数据。异常检测的算法有很多,异常检测属于无监督学习中的一大类算法。有基于概率密度的,有基于统计分布的,也有基于深度学习的。在本实施例中,我们提出使用孤立森林(isolation forest)算法进行异常检测。
孤立森林,不再是描述正常的样本点,而是要孤立异常点,是学术界中提出的一种机器学习算法。孤立森林是一种适用于连续数据(Continuous numerical data)的无监督异常检测方法,即不需要有标记的样本来训练,但特征需要是连续的。对于如何查找哪些点容易被孤立(isolated)。孤立森林递归地随机分割数据集,直到所有的样本点都是孤立的。在这种随机分割的策略下,异常点通常具有较短的路径。
在使用孤立森林之前,很重要的一个步骤就是构造孤立森立可以使用的数据。也就是一个矩阵,矩阵的行是样本,每一个时间点都对应一个样本;矩阵的列是这条样本所对应的变量,这里的变量是日志中出现的所有的可能的日志记录(日志字典)。
基于实施例一,本实施例提供了一种基于孤立森林算法的服务器日志异常检测方法,具体如下:
由于服务器输出的原始日志是按照时间来排列的,每一个时间戳都对应一条日志记录,时间戳为1秒,检测时间为5分钟原始日志的时间长度为5n分钟。而且,日志所对应的记录的种类是可以确定的。也就是说我们可以构建一个日志字典。由于日志是每1秒钟记录1条,我们想知道5分钟内是否有异常,5分钟内出现的300(5分钟x60秒/分钟)条记录就构成了300个变量。参考日志字典,这300条记录就可以表达成1维的行向量。在字典对应的位置出现就是1,否则就是0。如果出现多次就表达为频率。最后,我们就可以得到一个由nx300的矩阵。通过孤立森林算法,我们就可以检查到异常的时间段。
孤立森立需要进行一些参数设置,很多参数可以是默认的(基于开源sklearn算法框架的实现)。其中一个重要的参数是contamination(污染度、异常比例),这个参数可以根据用户的专家经验或者喜好自己设置。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。
Claims (8)
1.一种基于孤立森林算法的服务器日志异常检测方法,其特征在于,包括如下步骤:
S1:获取原始的日志文件;
S2:根据日志文件的长度、预设的时间戳和预设的检测时间,将所述日志文件构造成一个记录矩阵;
S3:参考预设的日志字典,将所述记录矩阵的每一行进行数字特征转换,构成出日志文件的特征矩阵;
S4:通过对所述特征矩阵应用孤立森林算法,得到日志文件的异常样本。
2.根据权利要求1所述的基于孤立森林算法的服务器日志异常检测方法,其特征在于,所述步骤S4之后还包括:
S5:将异常样本输出到客户端,用于人工的观察和分析。
3.根据权利要求1所述的基于孤立森林算法的服务器日志异常检测方法,其特征在于,所述步骤S2具体为:
原始的日志文件长度为N个时间戳,预设的检测时间为为时间戳的k个时间戳,则原始日志文件可以被构造为N/k行,k列的记录矩阵。
4.根据权利要求3所述的基于孤立森林算法的服务器日志异常检测方法,其特征在于,所述步骤S3具体为:
所述预设的字典长度为q,则记录矩阵的一行变为q列的一维数据,将不出现的日志记录记为0,出现的日志记录按照出现频率进行计数,最终构造出N/k行,q列的特征矩阵。
5.根据权利要求1所述的基于孤立森林算法的服务器日志异常检测方法,其特征在于,所述孤立森林算法中的计算参数采用基于开源sklearn算法框架的默认参数。
6.根据权利要求1所述的基于孤立森林算法的服务器日志异常检测方法,其特征在于,所述预设的时间戳的时间单位为毫秒、秒或者分钟。
7.一种基于孤立森林算法的服务器日志异常检测系统,其特征在于,包括:文件获取单元,用于获取原始的日志文件;
记录矩阵构造单元,用于根据日志文件的长度、预设的时间戳和预设的检测时间,将所述日志文件构造成一个记录矩阵;
特征矩阵构造单元,用于参考预设的日志字典,将所述记录矩阵的每一行进行数字特征转换,构成出日志文件的特征矩阵;
异常样本生成单元,用于通过对所述特征矩阵应用孤立森林算法,得到日志文件的异常样本。
8.根据权利要求7所述的基于孤立森林算法的服务器日志异常检测系统,其特征在于,还包括:
异常样本输出单元,用于将异常样本输出到客户端,进行人工的观察和分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911049001.4A CN110958222A (zh) | 2019-10-31 | 2019-10-31 | 基于孤立森林算法的服务器日志异常检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911049001.4A CN110958222A (zh) | 2019-10-31 | 2019-10-31 | 基于孤立森林算法的服务器日志异常检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110958222A true CN110958222A (zh) | 2020-04-03 |
Family
ID=69975813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911049001.4A Pending CN110958222A (zh) | 2019-10-31 | 2019-10-31 | 基于孤立森林算法的服务器日志异常检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110958222A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111598438A (zh) * | 2020-05-14 | 2020-08-28 | 哈尔滨工业大学(威海) | 基于分段拟合分析及评估的民航发动机气路异常检测方法 |
CN111666276A (zh) * | 2020-06-11 | 2020-09-15 | 上海积成能源科技有限公司 | 一种电力负荷预测中应用孤立森林算法剔除异常数据处理的方法 |
CN114338195A (zh) * | 2021-12-30 | 2022-04-12 | 中国电信股份有限公司 | 基于改进孤立森林算法的web流量异常检测方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114708A1 (en) * | 2003-11-26 | 2005-05-26 | Destefano Jason Michael | System and method for storing raw log data |
CN107992741A (zh) * | 2017-10-24 | 2018-05-04 | 阿里巴巴集团控股有限公司 | 一种模型训练方法、检测url的方法及装置 |
CN108154029A (zh) * | 2017-10-25 | 2018-06-12 | 上海观安信息技术股份有限公司 | 入侵检测方法、电子设备和计算机存储介质 |
CN108777873A (zh) * | 2018-06-04 | 2018-11-09 | 江南大学 | 基于加权混合孤立森林的无线传感网络异常数据检测方法 |
CN108985632A (zh) * | 2018-07-16 | 2018-12-11 | 国网上海市电力公司 | 一种基于孤立森林算法的用电数据异常检测模型 |
CN109714187A (zh) * | 2018-08-17 | 2019-05-03 | 平安普惠企业管理有限公司 | 基于机器学习的日志分析方法、装置、设备及存储介质 |
CN110347547A (zh) * | 2019-05-27 | 2019-10-18 | 中国平安人寿保险股份有限公司 | 基于深度学习的日志异常检测方法、装置、终端及介质 |
-
2019
- 2019-10-31 CN CN201911049001.4A patent/CN110958222A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114708A1 (en) * | 2003-11-26 | 2005-05-26 | Destefano Jason Michael | System and method for storing raw log data |
CN107992741A (zh) * | 2017-10-24 | 2018-05-04 | 阿里巴巴集团控股有限公司 | 一种模型训练方法、检测url的方法及装置 |
CN108154029A (zh) * | 2017-10-25 | 2018-06-12 | 上海观安信息技术股份有限公司 | 入侵检测方法、电子设备和计算机存储介质 |
CN108777873A (zh) * | 2018-06-04 | 2018-11-09 | 江南大学 | 基于加权混合孤立森林的无线传感网络异常数据检测方法 |
CN108985632A (zh) * | 2018-07-16 | 2018-12-11 | 国网上海市电力公司 | 一种基于孤立森林算法的用电数据异常检测模型 |
CN109714187A (zh) * | 2018-08-17 | 2019-05-03 | 平安普惠企业管理有限公司 | 基于机器学习的日志分析方法、装置、设备及存储介质 |
CN110347547A (zh) * | 2019-05-27 | 2019-10-18 | 中国平安人寿保险股份有限公司 | 基于深度学习的日志异常检测方法、装置、终端及介质 |
Non-Patent Citations (2)
Title |
---|
SHILIN HE ETAL: "《Experience Report: System Log Analysis for Anomaly Detection》", 《2016 IEEE 27TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING》 * |
王智远等: "基于日志模板的异常检测技术", 《智能计算机与应用》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111598438A (zh) * | 2020-05-14 | 2020-08-28 | 哈尔滨工业大学(威海) | 基于分段拟合分析及评估的民航发动机气路异常检测方法 |
CN111666276A (zh) * | 2020-06-11 | 2020-09-15 | 上海积成能源科技有限公司 | 一种电力负荷预测中应用孤立森林算法剔除异常数据处理的方法 |
CN114338195A (zh) * | 2021-12-30 | 2022-04-12 | 中国电信股份有限公司 | 基于改进孤立森林算法的web流量异常检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110958222A (zh) | 基于孤立森林算法的服务器日志异常检测方法及系统 | |
CN106294091B (zh) | 一种无侵入式日志拦截性能分析方法及系统 | |
Ratkiewicz et al. | Characterizing and modeling the dynamics of online popularity | |
US11010223B2 (en) | Method and system of automatic event and error correlation from log data | |
US7747988B2 (en) | Software feature usage analysis and reporting | |
US7133805B1 (en) | Load test monitoring system | |
Guzman et al. | Using historical data to estimate bumble bee occurrence: Variable trends across species provide little support for community-level declines | |
US11074514B2 (en) | Confidence intervals for anomalies in computer log data | |
CN110309130A (zh) | 一种用于主机性能监控的方法及装置 | |
US11144376B2 (en) | Veto-based model for measuring product health | |
US7908239B2 (en) | System for storing event data using a sum calculator that sums the cubes and squares of events | |
CN111259073A (zh) | 基于日志、流量和业务访问的业务系统运行状态智能研判系统 | |
CN111046022A (zh) | 一种基于大数据技术的数据库审计方法 | |
CN116167370A (zh) | 基于日志时空特征分析的分布式系统异常检测方法 | |
EP3042288A1 (en) | Analysis of parallel processing systems | |
CN116860562B (zh) | 一种用于数据中台数据质量的监控方法及系统 | |
Jagdev et al. | Analyzing and scripting indian election strategies using big data via Apache Hadoop framework | |
Perdahci et al. | Dynamic Loyal Customer Behavior for Community Formation: A Network Science Perspective | |
CN110532242B (zh) | 业务消息发送方法和装置 | |
Occorso et al. | Anomaly Detection as a Data Reduction Approach for Test Event Analysis at the Edge | |
Kim et al. | Impact of environmental changes on the dynamics of temporal networks | |
CN109684159A (zh) | 分布式消息系统的状态监控方法、装置、设备及存储介质 | |
CN117312175B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN112307301B (zh) | 基于网络数据分析溯源的规则调整方法及装置 | |
US11816210B2 (en) | Risk-based alerting for computer security |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200403 |