CN110377576A - 创建日志模板的方法和装置、日志分析方法 - Google Patents
创建日志模板的方法和装置、日志分析方法 Download PDFInfo
- Publication number
- CN110377576A CN110377576A CN201910674142.9A CN201910674142A CN110377576A CN 110377576 A CN110377576 A CN 110377576A CN 201910674142 A CN201910674142 A CN 201910674142A CN 110377576 A CN110377576 A CN 110377576A
- Authority
- CN
- China
- Prior art keywords
- log
- template
- group
- word
- content
- 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
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种创建日志模板的方法,包括:获取并处理至少一个日志,其中每个日志包括所述日志的标识和内容;将具有相同标识的日志聚类为一组,以形成至少一个日志组;对每个日志组中日志的内容执行过滤和矩阵化,以获得m×n的内容矩阵,其中m为所述日志组所包括的日志的数量,n为所述日志组的内容中的单词的种类数,m和n为大于或等于1的整数;针对每个日志组,利用所述内容矩阵确定所述日志组的内容中的单词是常量还是变量;以及基于针对所述日志组中单词的确定结果,创建与所述日志组对应的日志模板。本公开还提供了一种创建日志模板的装置、一种电子设备以及一种计算机可读存储介质。
Description
技术领域
本公开涉及计算机技术领域,具体地,涉及一种创建日志模板的方法和装置、管理日志模板数据库的方法和分析日志的方法。
背景技术
随着网络技术的日益发展,大数据处理在各领域的应用中越来越重要。日志分析是大数据的一个重要的应用方向。但是,目前的日志分析方法往往从感兴趣特征词的单一角度执行分析,而对相同种类日志内部可变的部分分析不够彻底,导致丢失了很大一部分信息,无法实现全面分析日志的目的。
发明内容
本公开的一个方面提供了一种创建日志模板的方法,所述方法可以包括:获取并处理至少一个日志,其中每个日志包括所述日志的标识和内容;将具有相同标识的日志聚类为一组,以形成至少一个日志组;对每个日志组中日志的内容执行过滤和矩阵化,以获得m括:的内容矩阵,其中m为所述日志组所包括的日志的数量,n为所述日志组的内容中的单词的种类数,m和n为大于或等于1的整数;针对每个日志组,利用所述内容矩阵确定所述日志组的内容中的单词是常量还是变量;以及基于针对所述日志组中单词的确定结果,创建与所述日志组对应的日志模板。
在一个示例中,利用所述内容矩阵确定所述日志组的内容中的单词是常量还是变量可以包括:
相对于所述日志组中的每个日志,根据所述内容矩阵计算每个单词的词频-逆向文件频率值TF-IDF,以及将每个单词的TF-IDF与所述日志的平均TF-IDF值进行比较,其中如果所述单词的TF-IDF大于所述平均TF-IDF值,则所述单词被确定为在所述日志中的常量,否则被确定为在所述日志中的变量;
相对于所述日志组,统计所述单词被确定为常量的常量确定次数和被确定为变量的变量确定次数;以及基于所述常量确定次数和所述变量确定次数,确定所述单词是针对所述日志组的常量还是变量。
在另一示例中,基于所述常量确定次数和所述变量确定次数,确定所述单词是针对所述日志组的常量还是变量可以包括:计算所述常量确定次数与所述变量确定次数的比值;将所述比值与预定阈值进行比较;以及响应于所述比值大于等于预定阈值,将所述单词确定为针对所述日志组的常量,否则将所述单词确定为针对所述日志组的变量。
在另一示例中,所述日志的平均TF-IDF值可以是通过计算所述日志中的单词的TF-IDF的平均值而得到的。
在另一示例中,所述TF-IDF可以是经标准化的TF-IDF,其中所述经标准化的TF-IDF是通过相对于内容矩阵所包括的每个向量计算TF-IDF值的欧几里得范数而得到的。
在另一示例中,创建与所述日志组对应的日志模板可以包括:将所述日志模板表示为正则匹配字符串。
本公开的另一方面提供了一种管理日志模板数据库的方法,可以包括:获取并处理待处理日志,其中所述待处理日志包括标识和内容;根据所述标识,确定日志模板数据库中是否包括与所述标识相对应的日志模板;以及基于确定结果管理日志模板数据库,其中所述日志模板数据库中的日志模板是根据上述示例实施例所述的方法而创建的。
在一个示例中,基于确定结果管理日志模板可以包括:响应于确定所述日志模板数据库中不包括对应日志模板,基于所述内容创建针对所述标识的日志模板。
在另一示例中,基于确定结果管理日志模板还可以包括:响应于确定所述日志模板数据库中包括对应日志模板,获取针对所述对应日志模板在预定时间段内的核验次数;将所述核验次数与预设的核验次数阈值进行比较;响应于所述核验次数小于所述核验次数阈值,基于所述内容创建另一日志模板;将所述另一日志模板与所述对应日志模板进行匹配,以确定所述另一日志模板与所述对应日志模板是否一致;响应于确定所述另一日志模板与所述对应日志模板一致,使所述对应日志模板的核验次数加1。
在另一示例中,所述方法还可以包括:响应于确定所述另一日志模板与所述对应日志模板不一致,将所述另一日志模板添加到所述日志模板数据库,作为与所述标识相对应的日志模板之一,并将针对所述另一日志模板的核验次数设置为0。
在另一示例中,所述待处理日志还可以包括时间戳信息,其中所述方法还可以包括:利用所述时间戳信息从所述待处理日志中筛选用于管理所述日志模板数据库的日志。
本公开的再一方面提供了一种分析日志的方法,可以包括:获取并处理待分析日志,其中所述待分析日志包括标识和内容;确定日志模板数据库中是否包括与所述标识对应的至少一个日志模板;响应于确定包括所述至少一个日志模板,确定所述至少一个日志模板中是否存在与待分析日志内容相匹配的匹配日志模板;响应于确定存在所述匹配日志模板,利用所述匹配日志模板分析所述待分析日志,以提取并统计所述待分析日志中的变量,其中,所述至少一个日志模板是根据上述示例实施例所述的方法而创建的。
在一个示例中,所述方法还可以包括:响应于确定不存在所述匹配日志模板,标记所述待分析日志,以用于更新日志模板数据库。
本公开的又一方面提供了一种创建日志模板的装置,可以包括:日志获取与处理模块,用于获取并处理至少一个日志,其中每个日志包括所述日志的标识和内容;聚类模块,用于将具有相同标识的日志聚类为一组,以形成至少一个日志组;矩阵化模块,用于对每个日志组中日志的内容执行过滤和矩阵化,以获得m用于的内容矩阵,其中m为所述日志组所包括的日志的数量,n为所述日志组的内容中的单词的种类数,m和n为大于或等于1的整数;确定模块,用于针对每个日志组,利用所述内容矩阵确定所述日志组的内容中的单词是常量还是变量;以及创建模块,用于基于针对所述日志组中单词的确定结果,创建与所述日志组对应的日志模板。
本公开的再一方面提供了一种电子设备,可以包括:至少一个处理器;存储器,用于存储至少一个程序,其中,当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现根据上述示例实施例中任一项所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令可以在被执行时用于实现根据上述示例实施例中任一项所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了适于应用根据本公开实施例的创建日志模板的方法、管理日志模板数据库的方法和日志分析方法的系统架构;
图2示意性示出了根据本公开实施例的创建日志模板的方法的流程图;
图3示意性示出了在图2所示的创建日志模板的方法中的常量/变量确定操作的示例的流程图;
图4示意性示出了根据本公开实施例的管理日志模板数据库的方法的流程图;
图5示意性示出了根据本公开实施例的管理日志模板数据库的具体示例的流程图;
图6示意性示出了根据本公开实施例的用于分析日志的方法的流程图;
图7示意性示出了通过采用图6所示的用于分析日志的方法而得到的分析结果的示例;
图8示意性示出了根据本公开又一实施例的创建日志模板的装置的框图;以及
图9示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“使、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“系、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种创建日志模板的方法和装置、管理日志模板数据库的方法和分析日志的方法。通过采用根据本公开示例实施例的创建日志模板的方法和装置,能够创建日志模板并建立包括至少一个日志模板的日志模板数据库。通过采用根据本公开示例实施例的管理日志模板数据库的方法,可以维护日志模板数据库,从而利用可信度高的日志模板来分析日志。通过将所创建的日志模板用于分析日志,可以快速地得到日志内部变量的信息,从统计角度分析日志内部的信息,从而能够分离出日志中的常量和变量部分,使得该方法通过聚焦于日志内部而挖掘更多隐藏信息。
图1示意性示出了适于应用根据本公开实施例的创建日志模板的方法、管理日志模板数据库的方法和日志分析方法的系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括用户设备101至103;网络104以及服务器105和106。网络104是用以在用户设备101至103和服务器105、106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
用户可以使用用户设备101至103中的至少一个来经由网络104与至少一个服务器105和/或106通信,以接收或发送消息等。应注意,用户设备101至103包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105和106均可以与至少一个用户设备101至103进行交互,例如,可以将处理结果发送给用户设备101至103以进行展示。服务器105和106中可以是存储企业业务系统的多个联机事务日志的服务器。服务器105与服务器106存储的联机事务日志可以是属于不同企业业务系统的日志,例如,服务器105存储企业业务系统1的联机事务日志,服务器106存储企业业务系统2的联机事务日志。服务器105和106可以对接收到的用户请求等数据进行分析等处理,将用户请求获取的数据等反馈给其他设备。
需要说明的是,本公开实施例所提供的创建日志模板的方法、管理日志模板数据库的方法、分析日志的方法一般可以在服务器端执行。即,由服务器105和/或106执行。相应地,本公开实施例所提供的创建日志模板的装置一般可以设置于服务器中,或设置于服务器外部但能够与服务器105和/或106通信的其他服务器或服务器集群中。
当然,本公开实施例所提供的创建日志模板的方法、管理日志模板数据库的方法、分析日志的方法也可以在用户端执行。即,由用户设备101至103中的至少一个执行。此时,本公开实施例所提供的创建日志模板的装置也可以设置于用户设备中,或设置在与用户设备通信的其他电子设备中。
应该理解,图1中的服务器、用户设备、网络的数目仅仅是示意性的。根据实现需要,可以具有任意数目的服务器、用户设备和网络。
图2示意性示出了根据本公开实施例的创建日志模板的方法200的流程图。
如图2所示,该方法200可以包括操作S210~S250。
在操作S210,获取并处理至少一个日志,其中每个日志可以包括针对该日志的标识和内容。当然,除了标识和内容之外,日志还可以包括时间戳信息等其他信息。对日志的处理包括对日志进行筛选和格式化等的各种处理。例如,该处理可以滤除包含中文的日志、筛除空行和统一数据格式。
在操作S220,将具有相同标识的日志聚类为一组,以形成至少一个日志组。日志聚类是指将具有相同标识的日志聚合在一起,以形成一个集合,即,日志组。
在操作S230,对每个日志组中日志的内容执行过滤和矩阵化,以获得m×n的内容矩阵,其中m为该日志组所包括的日志的数量,n为该日志组的内容中的单词的种类数,m和n为大于或等于1的整数。例如,内容过滤可以包括去除日志内容中的纯数字和特殊字符。然后,对经过滤的内容进行句矩阵化。具体地,日志内容可能包括许多单词,且可以通过使用当前已知的或将来研发出的各种分词方法来日志内容进行划分,以提取日志内容中所包括的单词,以进行矩阵化。
在操作S240,针对每个日志组,利用内容矩阵确定该日志组的内容中的单词是常量还是变量。下文中,为了方便起见,将该操作称为“常量/变量确定操作”。将在下文中参考图3详细描述常量/变量确定操作。
在操作S250,基于针对该日志组中单词的确定结果,创建与该日志组对应的日志模板。具体地,可以将创建的日志模板表示为正则匹配字符串,以方便在分析日志时进行匹配。
图3示意性示出了在图2所示的创建日志模板的方法中的常量/变量确定操作的示例的流程图。
具体地,图2所示的常量/变量确定操作S240可以进一步包括子操作S241至S244。
在子操作S241,根据该内容矩阵计算每个单词的词频-逆向文件频率值(termfrequency-inverse documentfrequency,TF-IDF)。TF-IDF体现一个单词对于整个文件集合(即,当前日志组)和一份文件(即,当前日志)的重要程度,其中TF表示词频且IDF表示逆向文件频率。例如,对于某个日志中的某个单词,TF可以被表示为:
其中ni,j表示该单词在该条日志中出现的次数;∑knk,j表示该条日志的总单词数目。
IDF可以被表示为:
其中D表示该日志组中的日志总数;ti表示出现过该词的日志数目。
结合等式1和等式2可知,针对该词的TF-IDF值可以表示为:
由此,可以针对每个日志中的每个单词计算出TF-IDF值。
在一个示例中,该方法还可以使用经标准化的TF-IDF,其中该经标准化的TF-IDF是通过相对于内容矩阵所包括的与每个日志相对应的每个向量,计算TF-IDF值的欧几里得范数而得到的。
在子操作S242,将每个单词的TF-IDF与该日志的平均TF-IDF值进行比较,其中该日志的平均TF-IDF值可以是是通过计算该日志中的单词的TF-IDF或经标准化的TF-IDF的平均值而得到的。具体地,如果该单词的TF-IDF大于该平均TF-IDF值,则该单词被确定为在该日志中的常量,否则被确定为在该日志中的变量。
在子操作S243,相对于该日志组,统计该单词被确定为常量的常量确定次数和被确定为变量的变量确定次数。也就是说,相对于该日志组,纵向统计该单词的常量确定次数和变量确定次数。
在子操作S244,基于该常量确定次数和该变量确定次数,确定该单词是针对该日志组的常量还是变量。在一个示例中,基于常量确定次数和变量确定次数,确定该单词是针对该日志组的常量还是变量的子操作可以包括:计算常量确定次数与变量确定次数的比值;将该比值与预定阈值进行比较;以及响应于该比值大于等于预定阈值,将该单词确定为针对该日志组的常量,否则将该单词确定为针对该日志组的变量。预定阈值可以是由用户设定的值,例如,预定阈值可以是2。
在一个示例中,假设在包括10条日志的日志组中,对于单词a而言,其常量确定次数为5且变量确定次数为2;对于单词b而言,其常量确定次数为3且变量确定次数为4。那么,单词a的常量确定次数与变量确定次数的比值为2.5,单词b的常量确定次数与变量确定次数的比值为0.75。因此,由于单词a的常量确定次数与变量确定次数的比值2.5大于预定阈值2,则单词a被确定为常量,由于单词b的单词a的比值0.75小于预定阈值2,则单词b被确定为变量。
本领域技术人员可以理解,预定阈值的设置不限于上述形式,其也可以被设置为例如常量确定次数相对于常量确定次数和变量确定次数之和(即,单词出现次数)的百分比等。当预定阈值被设置为常量确定次数与单词出现次数的百分比时,计算常量确定次数与变量确定次数的比值可以相应地变为计算常量确定次数相对于单词出现次数的百分比。
图4示意性示出了根据本公开实施例的管理日志模板数据库的方法的流程图。该方法400可以包括以下操作。
在操作S410,获取并处理待处理日志。其中该待处理日志包括标识和内容。
在操作S420,根据该标识,确定日志模板数据库中是否包括与该标识相对应的日志模板。
在操作S430,基于确定结果管理日志模板数据库,其中该日志模板数据库中的日志模板是根据上述示例实施例中任一项的的创建日志模板的方法而创建的。该待处理日志除了标识和内容之外还可以包括时间戳信息。
根据本公开实施例的管理日志模板数据库的方法,当待处理日志包括时间戳信息时,该方法400还可以包括:利用该时间戳信息从该待处理日志中筛选用于管理该日志模板数据库的日志。
例如,可以利用时间戳信息从至少一个待处理日志中筛选出近一个月内访问时段为18点至24点的日志,从而用筛选出的日志更新或建立日志模板数据库,使得日志模板数据库更具有时效性。
图5示意性示出了根据本公开实施例的管理日志模板数据库的一种示例方法500的流程图。图5中的操作S510和S520与图4中的操作S410和S420类似,因此将不再进行赘述。以下将具体描述如何基于确定结果来管理日志模板数据库的操作。
具体地,响应于确定该日志模板数据库中包括对应日志模板(S520-是),在子操作S531,获取针对该对应日志模板在预定时间段内的核验次数。预设的核验次数阈值可以是由用户根据不同情况设置的,也可以是默认设置。例如,用户可以将预设的核验次数阈值默认设置为3次。此外,预定时间段也可以是由用户根据情况设置的,或可以是默认设置。例如,预定时间段被设置为一星期、一个月或自数据库创建以来,以使对应日志模板具有时效性。
在子操作S532,将该核验次数与预设的核验次数阈值进行比较。响应于该核验次数小于该核验次数阈值(S532-是),在子操作S533,基于该内容创建另一日志模板。
接下来,在子操作S534,将该另一日志模板与该对应日志模板进行匹配,以确定该另一日志模板与该对应日志模板是否一致。
响应于确定该另一日志模板与该对应日志模板一致(S534-是),在子操作S535,使该对应日志模板的核验次数加1。另外,如果该另一日志模板与该对应日志模板不一致(S534-否),则在子操作S536,将该另一日志模板添加到该日志模板数据库,作为与该标识相对应的日志模板之一,并将针对该另一日志模板的核验次数设置为0。
在另一示例中,如果确定该日志模板数据库中不包括对应日志模板(S520-否),则方法500进行到子操作S537,基于该内容创建针对该标识的日志模板,并将针对该创建的日志模板的核验次数设置为0。
此外,如果在子操作S532确定核验次数不小于该核验次数阈值(S532-否),则说明对应日志模板已经被多次核验为是准确的。即,对应日志模板是可信的,因此,方法500将结束。
由图5可知,在获取并处理了待处理日志从而获得其标识部分和内容部分之后,首先根据日志标识查找日志模板数据库,以查看日志模板数据库中是否存在与该标识对应的对应日志模板。如果存在对应日志模板,则说明曾经创建过与该标识对应的日志模板,因此,从日志模板数据库中获取该对应日志模板以及与该对应日志模板相对应的核验次数(例如,核验次数为1)。该对应日志模板的核验次数小于预设核验次数阈值(例如,预设核验次数阈值为3)表示该对应日志模板还未经核验任何,也就是说,可信度较低。此时,可以通过采用上述示例实施例中任一项所述的创建日志模板的方法,来基于待处理日志的内容部分创建另一日志模板。接下来,将创建的另一日志模板与对应日志模板匹配以确定二者是否一致。当确定二者一致时,相当于又完成了一次日志模板核准,因此,对应日志模板的核准次数应加一。当二者不一致时,将创建的另一日志模板添加到日志模板数据库,作为与该标识相对应的日志模板之一,并将针对该另一日志模板的核验次数设置为0。应注意,如果在子操作S520中,发现日志模板数据库中存在与该标识相对应的多个对应日志模板,则应针对所述多个对应日志模板逐个地执行上述操作S531至S537。
本领域技术人员可以理解,通过采用根据本公开示例实施例的创建日志模板的方法和装置,能够创建日志模板并建立包括至少一个日志模板的日志模板数据库。通过采用根据本公开示例实施例的管理日志模板数据库的方法,可以维护日志模板数据库,从而利用可信度高的日志模板来分析日志。
图6示意性示出了根据本公开实施例的用于分析日志的方法600的流程图。该分析日志的方法600包括操作S610-S650。
在操作S610,获取并处理待分析日志,其中该待分析日志包括标识和内容。
在操作S620,确定日志模板数据库中是否包括与该标识对应的至少一个日志模板。应注意,至少一个日志模板是根据上述示例实施例中任一项所述的创建日志模板的方法而创建的。
响应于确定日志模板数据库中包括至少一个日志模板(S620-是),在操作S630,确定至少一个日志模板中是否存在与待分析日志内容相匹配的匹配日志模板。
响应于确定存在匹配日志模板(S630-是),在操作S640,利用该匹配日志模板分析该待分析日志,以提取并统计该待分析日志中的变量。
此外,当确定日志模板数据库中不包括与该标识对应的至少一个日志模板时(S620-否)或当确定至少一个日志模板中不存在与待分析日志内容相匹配的匹配日志模板(S630-否),方法600均进行到操作S650。在操作S650,标记当前待分析日志,以用于将来更新日志模板数据,使得日志模板数据库更加完善。
图7示意性示出了通过采用图6所示的用于分析日志的方法而得到的分析结果的示例。
如图7所示,针对日志标识为“#IC0241”的日志,通过采用图6所示的用于分析日志的方法,得到内容如下的日志模板:“#IC0241变量1 NLC0 CLOSE SOCKET SUCCESS,SOCKIDIS变量2”。该模板中存在两个变量,即,变量1和变量2。下方的饼图示出了针对变量1的统计分析结果和针对变量2的统计分析结果。如图7所示,变量1为内容“001”、“002”、“003”、“004”和“005”的占比分别为38%、16%、23%、10%和13%;而变量2为内容“a”、“b”、“c”、“d”和“e”的占比分别为45%、10%、30%、17%和8%。通过上述分析结果,用户可以快速掌握变量1和变量2的统计分析结果。
可见,通过将根据本公开的方法而创建的日志模板用于分析日志,可以快速地得到日志内部变量的信息,从统计角度分析日志内部的信息。也就是说,通过将同类日志聚类后进行纵向切割,能够分离出日志中的常量和变量部分,使得该方法通过聚焦于日志内部而挖掘更多隐藏信息。
图8示意性示出了根据本公开又一实施例的创建日志模板的装置800的框图。该装置800可以包括:日志获取与处理模块810、聚类模块820、矩阵化模块830、确定模块840和创建模块850。日志获取与处理模块810可以用于获取并处理至少一个日志,其中每个日志包括该日志的标识和内容。聚类模块820可以用于将具有相同标识的日志聚类为一组,以形成至少一个日志组。矩阵化模块830可以用于对每个日志组中日志的内容执行过滤和矩阵化,以获得m×n的内容矩阵,其中m为该日志组所包括的日志的数量,n为该日志组的内容中的单词的种类数,m和n为大于或等于1的整数。确定模块840可以用于针对每个日志组,利用该内容矩阵确定该日志组的内容中的单词是常量还是变量;以及创建模块850可以用于基于针对该日志组中单词的确定结果,创建与该日志组对应的日志模板。
在一个示例中,确定模块840还可以被配置为:相对于该日志组中的每个日志,根据该内容矩阵计算每个单词的词频-逆向文件频率值TF-IDF;以及将每个单词的TF-IDF与该日志的平均TF-IDF值进行比较,其中如果该单词的TF-IDF大于该平均TF-IDF值,则该单词被确定为在该日志中的常量,否则被确定为在该日志中的变量;相对于该日志组,统计该单词被确定为常量的常量确定次数和被确定为变量的变量确定次数;以及基于该常量确定次数和该变量确定次数,确定该单词是针对该日志组的常量还是变量。
具体地,确定模块840可以配置为计算该常量确定次数与该变量确定次数的比值;将该比值与预定阈值进行比较;以及响应于该比值大于等于预定阈值,将该单词确定为针对该日志组的常量,否则将该单词确定为针对该日志组的变量。
需要说明的是,装置部分的实施例方式与方法部分的实施例方式对应类似,并且所达到的技术效果也对应类似,在此不再赘述。
根据本公开的实施例的模块、单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,日志获取与处理模块810、聚类模块820、矩阵化模块830、确定模块840和创建模块850中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,日志获取与处理模块810、聚类模块820、矩阵化模块830、确定模块840和创建模块850中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,日志获取与处理模块810、聚类模块820、矩阵化模块830、确定模块840和创建模块850中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图9示意性示出了根据本公开实施例的电子设备的框图。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900包括处理器910、计算机可读存储介质920。该电子设备900可以执行根据本公开实施例的方法。
具体地,处理器910例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器910还可以包括用于缓存用途的板载存储器。处理器910可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质920,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质920可以包括计算机程序921,该计算机程序921可以包括代码/计算机可执行指令,其在由处理器910执行时使得处理器910执行根据本公开实施例的方法或其任何变形。
计算机程序921可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序921中的代码可以包括一个或多个程序模块,例如包括921A、模块921B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器910执行时,使得处理器910可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,日志获取与处理模块810、聚类模块820、矩阵化模块830、确定模块840和创建模块850中的至少一个可以实现为参考图9描述的计算机程序模块,其在被处理器910执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (16)
1.一种创建日志模板的方法,包括:
获取并处理至少一个日志,其中每个日志包括所述日志的标识和内容;
将具有相同标识的日志聚类为一组,以形成至少一个日志组;
对每个日志组中日志的内容执行过滤和矩阵化,以获得m×n的内容矩阵,其中m为所述日志组所包括的日志的数量,n为所述日志组的内容中的单词的种类数,m和n为大于或等于1的整数;
针对每个日志组,利用所述内容矩阵确定所述日志组的内容中的单词是常量还是变量;以及
基于针对所述日志组中单词的确定结果,创建与所述日志组对应的日志模板。
2.根据权利要求1所述的方法,其中,所述利用所述内容矩阵确定所述日志组的内容中的单词是常量还是变量包括:
相对于所述日志组中的每个日志,
根据所述内容矩阵计算每个单词的词频-逆向文件频率值TF-IDF;以及
将每个单词的TF-IDF与所述日志的平均TF-IDF值进行比较,其中如果所述单词的TF-IDF大于所述平均TF-IDF值,则所述单词被确定为在所述日志中的常量,否则被确定为在所述日志中的变量;
相对于所述日志组,
统计所述单词被确定为常量的常量确定次数和被确定为变量的变量确定次数;以及
基于所述常量确定次数和所述变量确定次数,确定所述单词是针对所述日志组的常量还是变量。
3.根据权利要求2所述的方法,其中,所述基于所述常量确定次数和所述变量确定次数,确定所述单词是针对所述日志组的常量还是变量包括:
计算所述常量确定次数与所述变量确定次数的比值;
将所述比值与预定阈值进行比较;以及
响应于所述比值大于等于预定阈值,将所述单词确定为针对所述日志组的常量,否则将所述单词确定为针对所述日志组的变量。
4.根据权利要求2所述的方法,其中,所述日志的平均TF-IDF值是通过计算所述日志中的单词的TF-IDF的平均值而得到的。
5.根据权利要求2所述的方法,其中,所述TF-IDF是经标准化的TF-IDF,
其中所述经标准化的TF-IDF是通过相对于内容矩阵所包括的每个向量计算TF-IDF值的欧几里得范数而得到的。
6.根据权利要求1所述的方法,其中,所述创建与所述日志组对应的日志模板包括:将所述日志模板表示为正则匹配字符串。
7.一种管理日志模板数据库的方法,包括:
获取并处理待处理日志,其中所述待处理日志包括标识和内容;
根据所述标识,确定日志模板数据库中是否包括与所述标识相对应的日志模板;以及
基于确定结果管理日志模板数据库,
其中所述日志模板数据库中的日志模板是根据权利要求1的方法而创建的。
8.根据权利要求7所述的方法,其中,所述基于确定结果管理日志模板包括:响应于确定所述日志模板数据库中不包括对应日志模板,基于所述内容创建针对所述标识的日志模板。
9.根据权利要求7所述的方法,其中,所述基于确定结果管理日志模板还包括:
响应于确定所述日志模板数据库中包括对应日志模板,获取针对所述对应日志模板在预定时间段内的核验次数;
将所述核验次数与预设的核验次数阈值进行比较;
响应于所述核验次数小于所述核验次数阈值,基于所述内容创建另一日志模板;
将所述另一日志模板与所述对应日志模板进行匹配,以确定所述另一日志模板与所述对应日志模板是否一致;
响应于确定所述另一日志模板与所述对应日志模板一致,使所述对应日志模板的核验次数加1。
10.根据权利要求9所述的方法,所述方法还包括:
响应于确定所述另一日志模板与所述对应日志模板不一致,将所述另一日志模板添加到所述日志模板数据库,作为与所述标识相对应的日志模板之一,并将针对所述另一日志模板的核验次数设置为0。
11.根据权利要求7所述的方法,其中,所述待处理日志还包括时间戳信息,
其中所述方法还包括:利用所述时间戳信息从所述待处理日志中筛选用于管理所述日志模板数据库的日志。
12.一种分析日志的方法,包括:
获取并处理待分析日志,其中所述待分析日志包括标识和内容;
确定日志模板数据库中是否包括与所述标识对应的至少一个日志模板;
响应于确定包括所述至少一个日志模板,确定所述至少一个日志模板中是否存在与待分析日志内容相匹配的匹配日志模板;
响应于确定存在所述匹配日志模板,利用所述匹配日志模板分析所述待分析日志,以提取并统计所述待分析日志中的变量,
其中,所述至少一个日志模板是根据权利要求1所述的方法而创建的。
13.根据权利要求12所述的方法,还包括:
响应于确定不存在所述匹配日志模板,标记所述待分析日志,以用于更新日志模板数据库。
14.一种创建日志模板的装置,包括:
日志获取与处理模块,用于获取并处理至少一个日志,其中每个日志包括所述日志的标识和内容;
聚类模块,用于将具有相同标识的日志聚类为一组,以形成至少一个日志组;
矩阵化模块,用于对每个日志组中日志的内容执行过滤和矩阵化,以获得m×n的内容矩阵,其中m为所述日志组所包括的日志的数量,n为所述日志组的内容中的单词的种类数,m和n为大于或等于1的整数;
确定模块,用于针对每个日志组,利用所述内容矩阵确定所述日志组的内容中的单词是常量还是变量;以及
创建模块,用于基于针对所述日志组中单词的确定结果,创建与所述日志组对应的日志模板。
15.一种电子设备,包括:
至少一个处理器;
存储器,用于存储至少一个程序,
其中,当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现权利要求1至13中任一项所述的方法。
16.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现权利要求1至13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910674142.9A CN110377576B (zh) | 2019-07-24 | 2019-07-24 | 创建日志模板的方法和装置、日志分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910674142.9A CN110377576B (zh) | 2019-07-24 | 2019-07-24 | 创建日志模板的方法和装置、日志分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377576A true CN110377576A (zh) | 2019-10-25 |
CN110377576B CN110377576B (zh) | 2021-10-29 |
Family
ID=68255724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910674142.9A Active CN110377576B (zh) | 2019-07-24 | 2019-07-24 | 创建日志模板的方法和装置、日志分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377576B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737950A (zh) * | 2020-08-27 | 2020-10-02 | 北京安帝科技有限公司 | 一种基于自然语言的日志载体格式提取方法和装置 |
CN112463933A (zh) * | 2020-12-14 | 2021-03-09 | 清华大学 | 系统日志模板的在线提取方法和装置 |
CN112463957A (zh) * | 2020-12-14 | 2021-03-09 | 清华大学 | 非结构化文本日志流的摘要提取方法和装置 |
CN112565232A (zh) * | 2020-11-30 | 2021-03-26 | 国网江苏省电力有限公司检修分公司 | 一种基于模板和流量状态的日志解析方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521606A (zh) * | 2009-04-10 | 2009-09-02 | 北京星网锐捷网络技术有限公司 | 日志信息处理方法、日志服务器与通信系统 |
CN103092742A (zh) * | 2011-10-31 | 2013-05-08 | 国际商业机器公司 | 程序日志记录优化方法和系统 |
CN103761173A (zh) * | 2013-12-28 | 2014-04-30 | 华中科技大学 | 一种基于日志的计算机系统故障诊断方法及装置 |
CN104144071A (zh) * | 2013-05-10 | 2014-11-12 | 北京新媒传信科技有限公司 | 系统日志的处理方法和系统日志的处理平台 |
US20160085790A1 (en) * | 2014-09-22 | 2016-03-24 | Ca, Inc. | Stratified sampling of log records for approximate full-text search |
US20160196174A1 (en) * | 2015-01-02 | 2016-07-07 | Tata Consultancy Services Limited | Real-time categorization of log events |
CN107992490A (zh) * | 2016-10-26 | 2018-05-04 | 华为技术有限公司 | 一种数据处理方法以及数据处理设备 |
US10235372B1 (en) * | 2016-02-18 | 2019-03-19 | Amazon Technologies, Inc. | Log message storage |
US20190146982A1 (en) * | 2017-05-12 | 2019-05-16 | International Business Machines Corporation | Cluster evaluation in unsupervised learning of continuous data |
-
2019
- 2019-07-24 CN CN201910674142.9A patent/CN110377576B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521606A (zh) * | 2009-04-10 | 2009-09-02 | 北京星网锐捷网络技术有限公司 | 日志信息处理方法、日志服务器与通信系统 |
CN103092742A (zh) * | 2011-10-31 | 2013-05-08 | 国际商业机器公司 | 程序日志记录优化方法和系统 |
CN104144071A (zh) * | 2013-05-10 | 2014-11-12 | 北京新媒传信科技有限公司 | 系统日志的处理方法和系统日志的处理平台 |
CN103761173A (zh) * | 2013-12-28 | 2014-04-30 | 华中科技大学 | 一种基于日志的计算机系统故障诊断方法及装置 |
US20160085790A1 (en) * | 2014-09-22 | 2016-03-24 | Ca, Inc. | Stratified sampling of log records for approximate full-text search |
US20160196174A1 (en) * | 2015-01-02 | 2016-07-07 | Tata Consultancy Services Limited | Real-time categorization of log events |
US10235372B1 (en) * | 2016-02-18 | 2019-03-19 | Amazon Technologies, Inc. | Log message storage |
CN107992490A (zh) * | 2016-10-26 | 2018-05-04 | 华为技术有限公司 | 一种数据处理方法以及数据处理设备 |
US20190146982A1 (en) * | 2017-05-12 | 2019-05-16 | International Business Machines Corporation | Cluster evaluation in unsupervised learning of continuous data |
Non-Patent Citations (2)
Title |
---|
崔元,张琢: "基于大规模网络日志的模板提取研究", 《计算机科学》 * |
程世文等: "互联网软件错误日志聚类", 《小型微型计算机系统》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737950A (zh) * | 2020-08-27 | 2020-10-02 | 北京安帝科技有限公司 | 一种基于自然语言的日志载体格式提取方法和装置 |
CN112565232A (zh) * | 2020-11-30 | 2021-03-26 | 国网江苏省电力有限公司检修分公司 | 一种基于模板和流量状态的日志解析方法及系统 |
CN112565232B (zh) * | 2020-11-30 | 2022-05-13 | 国网江苏省电力有限公司检修分公司 | 一种基于模板和流量状态的日志解析方法及系统 |
CN112463933A (zh) * | 2020-12-14 | 2021-03-09 | 清华大学 | 系统日志模板的在线提取方法和装置 |
CN112463957A (zh) * | 2020-12-14 | 2021-03-09 | 清华大学 | 非结构化文本日志流的摘要提取方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110377576B (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230126005A1 (en) | Consistent filtering of machine learning data | |
US11194828B2 (en) | Method and system for implementing a log parser in a log analytics system | |
CN110377576A (zh) | 创建日志模板的方法和装置、日志分析方法 | |
US11182691B1 (en) | Category-based sampling of machine learning data | |
EP3161635B1 (en) | Machine learning service | |
US11100420B2 (en) | Input processing for machine learning | |
US10713589B1 (en) | Consistent sort-based record-level shuffling of machine learning data | |
US20190050756A1 (en) | Machine learning service | |
US10452992B2 (en) | Interactive interfaces for machine learning model evaluations | |
US10318882B2 (en) | Optimized training of linear machine learning models | |
US9886670B2 (en) | Feature processing recipes for machine learning | |
CN111740884B (zh) | 一种日志处理方法及电子设备、服务器、存储介质 | |
US9104709B2 (en) | Cleansing a database system to improve data quality | |
US11727025B2 (en) | Method and system for implementing a log parser in a log analytics system | |
CN109359026A (zh) | 日志上报方法、装置、电子设备及计算机可读存储介质 | |
WO2016161381A1 (en) | Method and system for implementing a log parser in a log analytics system | |
CN113590556A (zh) | 一种基于数据库的日志处理方法、装置及设备 | |
US20220229854A1 (en) | Constructing ground truth when classifying data | |
CN112861894A (zh) | 一种数据流分类方法、装置及系统 | |
CN114356712A (zh) | 数据处理方法、装置、设备、可读存储介质及程序产品 | |
CN107402886B (zh) | 堆栈分析方法及相关装置 | |
US11947957B2 (en) | Grouping software applications based on technical facets | |
CN117390023A (zh) | 数据合计方法、数据合计装置、设备及存储介质 | |
CN113325997A (zh) | 一种数据采样方法、装置以及计算机可读存储介质 | |
CN116843291A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |