CN102768636B - 一种日志解析方法及装置 - Google Patents

一种日志解析方法及装置 Download PDF

Info

Publication number
CN102768636B
CN102768636B CN201110115695.4A CN201110115695A CN102768636B CN 102768636 B CN102768636 B CN 102768636B CN 201110115695 A CN201110115695 A CN 201110115695A CN 102768636 B CN102768636 B CN 102768636B
Authority
CN
China
Prior art keywords
daily record
field
content
decomposition
allocation list
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
Application number
CN201110115695.4A
Other languages
English (en)
Other versions
CN102768636A (zh
Inventor
乔平
许玉勤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201110115695.4A priority Critical patent/CN102768636B/zh
Publication of CN102768636A publication Critical patent/CN102768636A/zh
Priority to HK12113357.6A priority patent/HK1172699A1/zh
Application granted granted Critical
Publication of CN102768636B publication Critical patent/CN102768636B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种日志解析方法及装置,以解决现有技术将日志解析与日志格式绑定的问题。所述方法包括:输入原始日志;按照日志解码配置表中设置的字段分解顺序及各字段所对应的分解策略,对所述原始日志进行字段分解,分解后得到各字段的内容;将所述各字段的内容作为日志解析结果输出。本申请提供的可配置方式具有较高的灵活性,一旦日志格式发生变化、过滤规则变化、输出内容变化,都可通过重新设置各配置表来满足解析需求,而无需修改代码,因此大大降低了技术人员的工作量,还避免了多套代码存在的代码重复率高的问题,最大程度上减少了代码开发量,缩短了开发上线周期。

Description

一种日志解析方法及装置
技术领域
本申请涉及日志技术,特别是涉及一种日志解析方法及装置。
背景技术
日志是指有关计算机系统发生的事务或操作的记录。在各种应用系统,如银行系统、门户网站系统、电子商务系统、公司内部的财务系统等等应用系统中,都会将系统运行过程中所发生的一切记录为日志,并生成日志文件,然后通过对日志文件的解析,就可以详细了解系统的整个运行过程。
以电子商务领域,尤其是大型电子商务系统为例,通常涉及到很多种业务,如网上贸易、广告、即时通讯、会员管理等等,每种业务都开发出一套或多套应用系统来支撑该业务的运行。如前所述,各个应用系统都会生成自己的日志文件,但由于每种日志文件与相应的业务密切相关,因此每种日志文件的格式也不尽相同。
针对不同格式的日志文件,目前本领域技术人员常采用的日志解析方法是:对每种日志格式分别建立一套日志解析系统,即将日志解析与日志格式绑定。这样,就可以更有针对性地对不同格式的日志文件进行解析。
但是,随着业务需求的多样化,日志格式也会随业务的变动而不断地变化和完善,会基于某种需求而增加新的信息,这就给日志的解析带来很多问题。例如,一旦日志格式修改,就需要修改相应的日志解析系统的代码,但各种业务都是不断变化发展的,因此相应的日志解析系统都需要进行经常性地代码修改和维护,这就给维护工作带来很大的负担。而且,这种“来一个,做一个”的策略,会带来代码重复率高,后期维护成本高的双高特点。
发明内容
本申请提供了一种日志解析方法及装置,以解决现有技术将日志解析与日志格式绑定的问题。
为了解决上述问题,本申请公开了一种日志解析方法,包括:
输入原始日志;
按照日志解码配置表中设置的字段分解顺序及各字段所对应的分解策略,对所述原始日志进行字段分解,分解后得到各字段的内容;
将所述各字段的内容作为日志解析结果输出。
优选的,对所述原始日志进行字段分解之后,还包括:按照日志解码配置表中设置的各字段所对应的转换策略,对分解后得到的各字段的内容分别进行格式转换;所述输出为:将格式转换后的各字段的内容作为日志解析结果输出。
优选的,对所述原始日志进行字段分解之后,还包括:按照日志过滤配置表中设置的各字段所对应的过滤条件,对符合过滤条件的日志解析结果进行过滤;所述输出为:将过滤后的日志解析结果输出。
优选的,当一条日志解析结果同时符合多个过滤条件时,按照过滤条件的优先级从高到低进行过滤。
优选的,所述输出包括:按照日志输出配置表中设置的输出格式进行输出。
优选的,所述分解策略包括:按照设定的字符长度对某字段进行分解;和/或,按照设定的分隔符对某字段进行分解;和/或,忽略字符串内容直到指定符号,然后提取该指定符号后的内容直到另一指定符号,所述两个指定符号之间的内容为某字段的内容;和/或,通过对某字段的内容进行再次分解得到其他字段的内容。
优选的,所述方法还包括:重新设置日志解码配置表;输入不同格式的原始日志;按照所述日志解码配置表中重新设置的字段分解顺序及各字段所对应的分解策略,对所述不同格式的原始日志进行字段分解,分解后得到各字段的内容;将所述各字段的内容作为日志解析结果输出。
本申请还提供了一种日志解析装置,包括:
日志输入模块,用于输入原始日志;
日志解码模块,包括字段分解子模块,所述字段分解子模块用于按照日志解码配置表中设置的字段分解顺序及各字段所对应的分解策略,对所述原始日志进行字段分解,分解后得到各字段的内容;
日志输出模块,用于将所述各字段的内容作为日志解析结果输出。
优选的,所述日志解码模块还包括:格式转换子模块,用于对所述原始日志进行字段分解之后,按照日志解码配置表中设置的各字段所对应的转换策略,对分解后得到的各字段的内容分别进行格式转换;所述日志输出模块将格式转换后的各字段的内容作为日志解析结果输出。
优选的,所述装置还包括:日志过滤模块,用于对所述原始日志进行字段分解之后,按照日志过滤配置表中设置的各字段所对应的过滤条件,对符合过滤条件的日志解析结果进行过滤;所述日志输出模块将过滤后的日志解析结果输出。
优选的,所述日志输出模块按照日志输出配置表中设置的输出格式进行输出。
与现有技术相比,本申请包括以下优点:
首先,本申请实现了日志解析中的字段解码可配置,即针对不同的日志格式,都可以通过设置日志解码配置表来灵活满足各种日志解析的需求。
其次,本申请还实现了日志解析中的过滤规则(即过滤条件)可配置,即通过日志过滤配置表来实现无效日志的拦截。过滤规则可采用虚拟机进行规则计算,做到灵活配置、高效运算。
再次,本申请还实现了输出内容可配置,即通过设置日志输出配置表来实现不同日志格式的日志输出,可以选择性地输出需要输出的字段。
综上,本申请提供的可配置方式具有较高的灵活性,一旦日志格式发生变化、过滤规则变化、输出内容变化,都可通过重新设置各配置表来满足解析需求,而无需修改代码,因此大大降低了技术人员的工作量,还避免了多套代码存在的代码重复率高的问题,最大程度上减少了代码开发量,缩短了开发上线周期。而且,这种可配置的方式可以设置更加复杂的字段解析、过滤和输出规则,适用于随业务的变化越来越复杂的日志解析。并且,本申请还支持单机或分布式计算环境,可以很好地支持系统的可扩展性。
当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。
附图说明
图1是本申请实施例所述一种日志解析方法的流程图;
图2是本申请实施例所述一种日志解析装置的结构图;
图3是本申请实施例所述日志解析装置采用分布式结构的解析流程图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
为了支持不同业务需求、不同日志格式的日志解析,现有技术将日志解析与日志格式进行了绑定,这种绑定的方式存在诸多问题。为了解决现有技术存在的这些问题,可以从以下两个角度进行改进:一个角度是统一日志格式,另一个角度是统一日志解析方式。
对于统一日志格式的解决方法,结合具体的应用场景,经分析认为是不可行的。因为在实际应用中,例如在电子商务领域,涉及到很多种业务,每种业务都开发出一套或多套应用系统来支撑该业务的运行,如果将各业务的应用系统都统一日志格式,即使统一的初期可以非常方便地进行日志的统一解析,但随着时间的推进各种业务都在演变,要保留这种统一的日志格式将花费大量的工作,实际意义并不大。
因此,本申请从统一日志解析方式的角度对现有技术进行了改进,提出一种可灵活配置的日志解析方法,不同日志格式的需求差异均可通过配置来解决,在功能灵活性和性能稳定性上都优于现有技术。
下面通过实施例对本申请所述方法的实现流程进行详细说明。
参照图1,是本申请实施例所述一种日志解析方法的流程图。
步骤101,输入原始日志;
其中,所述原始日志即指未经解析的日志。
步骤102,按照日志解码配置表中设置的字段分解顺序及各字段所对应的分解策略,对所述原始日志进行字段分解,分解后得到各字段的内容;
其中,所述字段分解是指从原始日志中提取出不同字段的内容,或者也可以理解为,将原始日志按照字段分解为不同的部分,每一部分对应一个字段的内容。
在解析之前,预先设置所述日志解码配置表。所述日志解码配置表可针对不同日志格式的解析进行不同的设置,设置的内容包括字段解码的顺序、每个字段的分解策略等。对某种格式的日志进行解析时,按照对应该日志格式的日志解码配置表,根据表中的字段解码顺序逐一解析出各字段的内容,其中在对每一个字段进行解码时,还需要按照表中设置的对应该字段的分解方法进行解码。
步骤103,将所述各字段的内容作为日志解析结果输出。
将原始日志分解为各字段后,就可以了解该日志的内容了。
此外,如果步骤102中解码失败,则还可以将错误日志输出。
基于上述日志解析流程,当使用同一套代码解析另一种不同格式的原始日志时,执行以下流程:
重新设置日志解码配置表;
输入不同格式的原始日志;
按照所述日志解码配置表中重新设置的字段分解顺序及各字段所对应的分解策略,对所述不同格式的原始日志进行字段分解,分解后得到各字段的内容;
将所述各字段的内容作为日志解析结果输出。
由上可知,对于不同日志格式的日志解析,使用一套代码通过配置的方式即可解决,无需修改代码,因此大大降低了技术人员的工作量,还避免了多套代码存在的代码重复率高的问题。
基于上述图1所示的实施例,在另一优选实施例中,还可以包括以下处理:
在步骤102对所述原始日志进行字段分解之后,还可以按照日志解码配置表中设置的各字段所对应的转换策略,对分解后得到的各字段的内容分别进行格式转换。相应的,步骤103中所述的输出为:将格式转换后的各字段的内容作为日志解析结果输出。
上述格式转换的目的是为了将解析后直接从原始日志中截取出来的数据转换为符合输出要求的格式,因为在某些情况下直接截取的数据格式可能并不符合用户的输出要求。
基于上述图1所示的实施例,在另一优选实施例中,还可以包括以下处理:
在步骤102对所述原始日志进行字段分解之后,还可以按照日志过滤配置表中设置的各字段所对应的过滤条件(也称为过滤规则),对符合过滤条件的日志解析结果进行过滤。相应的,步骤103中所述的输出为:将过滤后的日志解析结果输出。
日志解码配置表中设置的字段都可以在日志过滤配置表中作为参数设置相应的过滤规则。对于一条日志,通常无需对该日志中的所有字段都进行过滤,而是设置过滤其中的某些字段即可。但是当一条日志解析结果同时符合多个过滤条件时,还可以按照过滤条件的优先级从高到低进行过滤。
这种过滤方式带来以下优点:
首先,在实际应用中,每种业务输出都会有自身的信息熵在里面,日志解析的目的就是将这些信息熵通过规整后输出,并过滤不必要的信息。有一些业务需要过滤内部访问,有一些业务需要过滤爬虫访问,有一些业务需要过滤测试的数据等等。上述对日志解析结果的过滤就是为了满足这种实际应用的需要。
其次,上述日志过滤配置表的使用表明过滤的规则也是可配置的,进一步增加了日志解析的灵活性。
需要说明的是,上述的日志过滤可以在日志解码后并进行格式转换之后再进行。当然,上述两个优选实施例也可以单独与图1所示的实施例结合使用。
进一步优选的,上述日志解析结果的输出也可以进行配置,即按照日志输出配置表中设置的输出格式进行输出。这种输出的可定制可以使输出结果更符合用户的需求。
综上所述,这种可配置的方式可以设置更加复杂的字段解析、过滤和输出规则,适用于随业务的变化越来越复杂的日志解析。并且,还可以支持单机或分布式的计算环境。
为了使本领域技术人员更好地了解本申请的内容,下面通过一个具体的例子详细说明一个优选的日志解析过程。
以某一网站发送邮件日志为例,逐步解析每一个步骤的功能实现。
原始日志样例如下:
(1)日志解码CDecode
日志解码主要根据日志解码配置表Uni_Field_Dimt0维表的配置,按照维表字段Field_Index的顺序对原始日志的内容做字段分解。分解策略可以是:
按照设定的字符长度对某字段进行分解;
和/或,按照设定的分隔符对某字段进行分解;
和/或,忽略字符串内容直到指定符号,然后提取该指定符号后的内容直到另一指定符号,所述两个指定符号之间的内容为某字段的内容;
和/或,通过对某字段的内容进行再次分解得到其他字段的内容;
和/或,根据其他字段的值进行计算,比如城市代码,可以通过IP地址获得,等等。
而且,以上分解策略均不可行时,还可以通过单独写解码函数,动态加载方式实现调用。
字段通过分解后得到原始的值,又可以通过一系列的转换规则,转换为期望最终输出的值。另外有2个保留字段,FILE_NAME与ID,分别保存当前日志所在的文件名称与日志分配的唯一标识ID。
以时间字段为例,Uni_Field_Dimt0维表配置如下:
表1
decode_skip1与decode_split1函数为基本内嵌解码函数,decode_skip1功能为忽略字符串内容一直到某指定符号;decode_split1功能为截取字符串内容,直到某指定字符。本例中,就是截取字符“[”与“]”之间的内容,也就是“2011-04-1122:31:42”。
截取的数据不一定就直接符合用户的输出期望,有可能需要转换。convert_datetime是常见的日期转换函数,输入原来格式与期望格式两个参数,会将结果直接转换为输出的格式。本例中,输出“2011-04-11”,解码或者转换失败的情况下,设置SRecord的errcode为错误日志输出。
下面按照Field_Index的顺序继续解析后续字段,配置如下:
表2
decoderesidual函数为基本内嵌函数,表示剩下全部字符串。jsoninfo的字段保存的是第一个空格后面的全部,即“{″date″:″1302586301″,″subject″:″manufacturerforUSBDrive,test,assemblyandprocessing″,″from″:″\″Joe\″<zhouzhifengszctop.cn>″,″to″:″<rivalbellsouth.net>″,″mboxId″:″----0r------.310r″,″mailTextSize″:″7192″,″isSeparatedSend″:″0″,”clientip“:”127.0.0.1”,″masterAccount″:″200737306200982512.intl.alibaba.com″,″mailAttachmentSize″:″0″,″attachmentCount″:″0″,″mailSize″:″′7192″}”。
这个是json数据格式,通过调用convert_json,就可以得到里面具体的各个字段的值。convert_json函数也是内嵌函数,专门用于解析json数据格式,convert_divide函数用于分解类似URL的query部分字符串。通过convert_json函数分解,可以取到里面各字段date/subject/mailTextSize等等的值。
以subject为例:
表3
在解析json字段后将字段名称为subject的填写到RAW_FIELD_NAME=subject的字段里面去,这里之所以出现RAW_FIELD_NAME与FIELD_NAME,是因为RAW_FIELD_NAME是日志中固定的,可以通过FIELD_NAME转换成用户想要的更容易理解的名字。DECODE_FUNC为空,则表示该字段本身是通过别的字段转换得到的,CONVERT_FUNC配置实现的就是将该字段里面的回车符转换为空格,并删除字段内容前后的空格。convert_replace1为字符替换函数,如果函数参数只支持char*,不支持不可见字符,则回车chr(10)就变成”10”。convert_trim函数是内嵌通用的删除前后空格的函数。
(2)日志过滤CFilter
日志的过滤规则(即过滤条件)主要包括过滤爬虫等之类的黑名单过滤、内部IP访问过滤、Frame页过滤等,通过日志过滤配置表Uni_Rules_Dimt0维表配置来实现。过滤规则本身支持算术、逻辑、关系、组合运算等一些基本运算,运算符优先级同C++,支持常量和变量,能够将日志分解各字段的值作为过滤规则的变量进行运算。考虑过滤规则本身的特点,内嵌了一些常用的字符串操作函数,比如llike、rlike、strstr、stristr,strlen、regex、atoi等,llike与rlike分别是字符串左匹配与右匹配函数,其他函数定义与linuxapi同名函数功能类似。
所有Uni_Field_Dimt0维表定义的字段都可以在过滤规则中作为参数使用。过滤规则的变量以“$(FIELD_NAME)”形式出现,FIELD_NAME对应于Uni_Field_Dimt0维表的FIELD_NAME字段。
过滤规则的配置示例如下:
表4
过滤规则之间有优先级概念,PRIORITY为过滤优先级,同一条日志可能满足多个过滤规则,优先级越高,则优先匹配该过滤规则。过滤规则可由单独的虚拟机进行运算,运算结果为真,则满足过滤规则,作过滤处理。
表4示例中的规则可以理解为:
过滤规则111002表示过滤字段$recv_ip以“172.16.”打头的日志;
过滤规则111008表示过滤字段$recv_ip等于″127.0.0.1″或者″60.190.241.1″的日志;
过滤规则150101表示过滤字段$subject包含″spam″字符串的日志;
(3)日志输出CDumper
日志输出主要根据日志输出配置表Uni_Dump_Dimt0维表配置,可以配置输出文件的名称(DUMP_TABLE),输出控制函数(DUMP_FUNC),输出控制串(DUMP_FUNC)。其中,输出控制串主要控制哪几个字段可以输出,字段的先后顺序,字段之间的分隔符等。
一种日志输出配置如下:
表5
简单不需要特殊处理的输出都可以通过dumpf函数来实现,$(date_time)表示字段名称,chr(5)表示不可见字符char(5),也可以使用可见字符。如果用户只是对日期感兴趣,其他字段都可以忽略,dumpf的输出格式配置“$(date_time)chr(5)”即可。$(date_time)的值会用实际日志解析转换之后的值替换。
复杂的需要特殊处理的,如上面的dump_cnctr_item_fatdt0函数,将字段ids以“,”为分隔符,将产品与产品属性解析并输出,则需要单独写一个函数,生成动态库,动态加载一下即可调用。
此外,错误日志、过滤日志是否输出可以通过错误日志输出配置表Uni_Errcode_Dimt0维表的OUTPUT字段控制。Uni_Errcode_Dimt0维表主要是说明各种日志错误代码的具体说明。
(4)日志统计CSummary
日志统计主要有2类:
一类是文件级统计信息,如总日志记录数,正确日志记录数,过滤日志记录数以及错误的日志记录数;
另一类是错误代码、过滤代码级信息,即日志处理过程中,错误、过滤日志记录数的详细情况。
综上,需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
基于上述方法实施例的说明,本申请还提供了相应的日志解析装置实施例,来实现上述方法实施例所述的内容。
参照图2,是本申请实施例所述一种日志解析装置的结构图。
所述日志解析装置可以包括日志输入模块21、日志解码模块22和日志输出模块23,其中,
日志输入模块21,用于输入原始日志;
日志解码模块22,包括字段分解子模块,所述字段分解子模块用于按照日志解码配置表中设置的字段分解顺序及各字段所对应的分解策略,对所述原始日志进行字段分解,分解后得到各字段的内容;
日志输出模块23,用于将所述各字段的内容作为日志解析结果输出。
其中,所述字段分解策略包括但不限于:
按照设定的字符长度对某字段进行分解;
和/或,按照设定的分隔符对某字段进行分解;
和/或,忽略字符串内容直到指定符号,然后提取该指定符号后的内容直到另一指定符号,所述两个指定符号之间的内容为某字段的内容;
和/或,通过对某字段的内容进行再次分解得到其他字段的内容。
优选的,为了使从原始日志中截取出来的数据更符合用户的输出要求,所述日志解码模块22还可以包括:
格式转换子模块,用于对所述原始日志进行字段分解之后,按照日志解码配置表中设置的各字段所对应的转换策略,对分解后得到的各字段的内容分别进行格式转换;
相应的,所述日志输出模块23将格式转换后的各字段的内容作为日志解析结果输出。
优选的,所述日志解析装置还可以包括:
日志过滤模块24,用于对所述原始日志进行字段分解之后,按照日志过滤配置表中设置的各字段所对应的过滤条件,对符合过滤条件的日志解析结果进行过滤;
相应的,所述日志输出模块23将过滤后的日志解析结果输出。
其中,过滤条件(也可称为过滤规则)是通过规则解析器25来实现,规则解析器25是一个bison/flex生成的简单的、类似C++的命令解析器,解析出变量、常量、函数、运算符,以表4中的过滤规则1为例:
push$recv_ip,本例中就是“127.0.0.1”;
pushconst,本例中为“172.16.”;
callllike,运行函数,本例中为llike;
如果返回值为真,则满足过滤规则,直接过滤。
进一步,当一条日志解析结果同时符合多个过滤条件时,所述日志过滤模块25可以按照过滤条件的优先级从高到低进行过滤。
优选的,日志解析结果的输出也可以进行配置,即所述日志输出模块23也可以按照日志输出配置表中设置的输出格式进行输出。
优选的,所述日志解析装置还可以包括:
日志统计模块26,用于进行日志统计,日志统计主要有2类:
一类是文件级统计信息,如总日志记录数,正确日志记录数,过滤日志记录数以及错误的日志记录数;
另一类是错误代码、过滤代码级信息,即日志处理过程中,错误、过滤日志记录数的详细情况。
优选的,所述日志解析装置还可以包括:
加载配置模块27,用于设置日志解码配置表、日志过滤配置表和日志输出配置表。
基于上述各模块的说明,上述日志解析装置的工作过程如下:
首先,日志解码配置表、日志过滤配置表和日志输出配置表可预先在加载配置模块27中进行设置;日志解析开始后,由日志输入模块21输入原始日志,日志解码模块22根据日志解码配置表对原始日志进行字段分解和格式转换;然后,日志过滤模块24对日志解析结果进行过滤,其中的过滤规则由规则解析器25实现;最后,日志输出模块23将过滤后的日志解析结果输出。
在此过程中,日志解码模块22产生的错误日志和日志过滤模块24过滤处理的日志,都可以由日志输出模块23输出。而且,日志统计模块26还可以对输出的日志进行统计分析。
对于上述日志解析装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图1所示方法实施例的部分说明即可。
在实际应用中,上述日志解析装置支持单机与分布式两种计算环境,主要采用哪一种策略与日志输入的数据量级别有关系。其中,分布式计算可采用开源的HADOOP的MAPREDUCE架构,通过STREAMING方式调用,采用分布式可以很好的解决伸缩性,灵活增加计算节点;还可以很好的解决可靠性,增加存储可靠与计算可靠性。
流程图如图3所示:图中的方框表示HADOOP,将原始日志输入到HADOOP,通过streaming方式处理完毕后将数据文件输出到本地入库。
综上所述,本申请所述日志解析方法和日志解析装置可广泛应用于网站访问点击日志(CLICKSTAT)、网站曝光日志(CTR)、黄展点击日志、黄展曝光日志、广告点击日志、广告曝光日志、P4P点击日志、P4P曝光日志、网站会员注册登录日志、即时通讯登录日志、即时通讯聊天日志、邮件收发日志等等。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本申请所提供的一种日志解析方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (9)

1.一种日志解析方法,其特征在于,包括:
输入原始日志;
按照日志解码配置表中设置的字段分解顺序及各字段所对应的分解策略,对所述原始日志进行字段分解,分解后得到各字段的内容;
将所述各字段的内容作为日志解析结果输出;
其中,日志解码配置表中设置的字段在日志过滤配置表中作为参数设置相应的过滤条件;
对所述原始日志进行字段分解之后,所述的方法还包括:
按照日志过滤配置表中设置的各字段所对应的过滤条件,对符合过滤条件的日志解析结果进行过滤;
所述输出为:将过滤后的日志解析结果输出。
2.根据权利要求1所述的方法,其特征在于,对所述原始日志进行字段分解之后、日志过滤之前,还包括:
按照日志解码配置表中设置的各字段所对应的转换策略,对分解后得到的各字段的内容分别进行格式转换;
所述输出为:将格式转换后的各字段的内容作为日志解析结果输出。
3.根据权利要求1所述的方法,其特征在于:
当一条日志解析结果同时符合多个过滤条件时,按照过滤条件的优先级从高到低进行过滤。
4.根据权利要求1至3任一所述的方法,其特征在于,所述输出包括:
按照日志输出配置表中设置的输出格式进行输出。
5.根据权利要求1所述的方法,其特征在于,所述分解策略包括:
按照设定的字符长度对某字段进行分解;
和/或,按照设定的分隔符对某字段进行分解;
和/或,忽略字符串内容直到指定符号,然后提取该指定符号后的内容直到另一指定符号,两个指定符号之间的内容为某字段的内容;
和/或,通过对某字段的内容进行再次分解得到其他字段的内容。
6.根据权利要求1所述的方法,其特征在于,还包括:
重新设置日志解码配置表;
输入不同格式的原始日志;
按照所述日志解码配置表中重新设置的字段分解顺序及各字段所对应的分解策略,对所述不同格式的原始日志进行字段分解,分解后得到各字段的内容;
将所述各字段的内容作为日志解析结果输出。
7.一种日志解析装置,其特征在于,包括:
日志输入模块,用于输入原始日志;
日志解码模块,包括字段分解子模块,所述字段分解子模块用于按照日志解码配置表中设置的字段分解顺序及各字段所对应的分解策略,对所述原始日志进行字段分解,分解后得到各字段的内容;
日志输出模块,用于将所述各字段的内容作为日志解析结果输出;
其中,日志解码配置表中设置的字段在日志过滤配置表中作为参数设置相应的过滤条件;
所述的装置还包括:
日志过滤模块,用于对所述原始日志进行字段分解之后,按照日志过滤配置表中设置的各字段所对应的过滤条件,对符合过滤条件的日志解析结果进行过滤;
所述日志输出模块将过滤后的日志解析结果输出。
8.根据权利要求7所述的装置,其特征在于,所述日志解码模块还包括:
格式转换子模块,用于对所述原始日志进行字段分解之后、日志过滤之前,按照日志解码配置表中设置的各字段所对应的转换策略,对分解后得到的各字段的内容分别进行格式转换;
所述日志输出模块将格式转换后的各字段的内容作为日志解析结果输出。
9.根据权利要求7至8任一所述的装置,其特征在于:
所述日志输出模块按照日志输出配置表中设置的输出格式进行输出。
CN201110115695.4A 2011-05-05 2011-05-05 一种日志解析方法及装置 Active CN102768636B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110115695.4A CN102768636B (zh) 2011-05-05 2011-05-05 一种日志解析方法及装置
HK12113357.6A HK1172699A1 (zh) 2011-05-05 2012-12-25 種日誌解析方法及裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110115695.4A CN102768636B (zh) 2011-05-05 2011-05-05 一种日志解析方法及装置

Publications (2)

Publication Number Publication Date
CN102768636A CN102768636A (zh) 2012-11-07
CN102768636B true CN102768636B (zh) 2016-02-10

Family

ID=47096043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110115695.4A Active CN102768636B (zh) 2011-05-05 2011-05-05 一种日志解析方法及装置

Country Status (2)

Country Link
CN (1) CN102768636B (zh)
HK (1) HK1172699A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929321A (zh) * 2013-01-15 2014-07-16 腾讯科技(深圳)有限公司 一种日志处理方法和装置
CN103093001A (zh) * 2013-02-27 2013-05-08 人民搜索网络股份公司 微博数据解析方法及装置
CN104580310A (zh) * 2013-10-21 2015-04-29 腾讯科技(深圳)有限公司 日志处理方法和服务器
CN104717085B (zh) * 2013-12-16 2018-05-01 中国移动通信集团湖南有限公司 一种日志解析方法及装置
CN104978256A (zh) * 2014-04-10 2015-10-14 阿里巴巴集团控股有限公司 一种日志输出方法和设备
CN105656706B (zh) * 2014-11-14 2020-09-15 北京通达无限科技有限公司 业务数据的处理方法及设备
CN106484728B (zh) * 2015-08-31 2019-08-30 联芯科技有限公司 日志数据的生成方法、解析方法、生成装置及解析装置
CN106201848A (zh) * 2016-06-30 2016-12-07 北京奇虎科技有限公司 一种实时计算平台的日志处理方法和装置
CN106202323B (zh) * 2016-06-30 2020-04-03 北京奇虎科技有限公司 一种日志的处理方法和装置
CN106294673B (zh) * 2016-08-08 2020-04-24 杭州玳数科技有限公司 一种用户自定义规则实时解析日志数据的方法与系统
CN107066315B (zh) * 2016-11-16 2020-05-05 阿里巴巴集团控股有限公司 业务调用方法及装置
CN106844505A (zh) * 2016-12-27 2017-06-13 北京五八信息技术有限公司 一种日志数据提取方法及装置
CN106649797A (zh) * 2016-12-28 2017-05-10 中国建设银行股份有限公司 一种文本数据集解析方法和装置
CN107291942A (zh) * 2017-07-10 2017-10-24 国家电网公司 分布式日志的搜索方法和装置
CN107436935A (zh) * 2017-07-21 2017-12-05 深圳市华付信息技术有限公司 用于解析低信息熵数据的方法及其系统
CN107919981A (zh) * 2017-10-31 2018-04-17 江苏省未来网络创新研究院 一种多厂商缓存日志的分析方法
CN108123840A (zh) * 2017-12-22 2018-06-05 中国联合网络通信集团有限公司 日志处理方法及系统
CN108595310A (zh) * 2017-12-28 2018-09-28 北京兰云科技有限公司 一种日志处理方法及装置
CN110309113B (zh) * 2018-03-06 2023-05-26 阿里巴巴集团控股有限公司 日志解析方法、系统及设备
CN110730086B (zh) * 2018-07-16 2022-11-25 视联动力信息技术股份有限公司 一种日志信息的输出方法和装置
CN109325009B (zh) * 2018-09-19 2021-11-30 亚信科技(成都)有限公司 日志解析的方法及装置
CN112306961B (zh) * 2019-07-24 2024-03-19 中移动信息技术有限公司 日志处理方法、装置、设备及存储介质
WO2023026086A1 (en) * 2021-08-25 2023-03-02 Sensetime International Pte. Ltd. Logging method and apparatus, electronic device, and computer-readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789046B1 (en) * 2000-12-05 2004-09-07 Microsoft Corporation Performance logging solution
CN1791022A (zh) * 2005-12-26 2006-06-21 阿里巴巴公司 一种日志分析方法和系统
CN101286891A (zh) * 2008-05-30 2008-10-15 杭州华三通信技术有限公司 系统日志解析方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789046B1 (en) * 2000-12-05 2004-09-07 Microsoft Corporation Performance logging solution
CN1791022A (zh) * 2005-12-26 2006-06-21 阿里巴巴公司 一种日志分析方法和系统
CN101286891A (zh) * 2008-05-30 2008-10-15 杭州华三通信技术有限公司 系统日志解析方法及装置

Also Published As

Publication number Publication date
CN102768636A (zh) 2012-11-07
HK1172699A1 (zh) 2013-04-26

Similar Documents

Publication Publication Date Title
CN102768636B (zh) 一种日志解析方法及装置
Cronin Doing more business on the Internet
Held Understanding data communications
Rose The simple book an introduction to internet management
Adobe Systems Inc PostScript language reference manual
CN102662993A (zh) 一种页面数据提供方法
CN111241182A (zh) 数据处理方法和装置、存储介质和电子装置
CN101807205B (zh) 用于处理xml数据的处理模块、设备和方法
Kim et al. A study on utilization of spatial information in heterogeneous system based on apache nifi
Kernighan D is for Digital: What a well-informed person should know about computers and communications
Kauffels Network Management: Problems, Standards and Strategies
Comer Network systems design with network processors, agere version
CN114490718A (zh) 数据输出方法、装置、电子设备和计算机可读介质
Natrajan et al. To disaggregate or not to disaggregate, that is not the question
Perihelion Software Ltd The Helios operating system
Scribner et al. Understanding Soap: simple object access protocol
He et al. Statistical schema integration across the deep web
CN110134391A (zh) 一种用于移动化页面的适配方法及装置
CN101685440A (zh) 应用路径信息改进结构化文档的翻译的方法和系统
CN103778117A (zh) 一种移动终端信息加载的方法及系统
Osland et al. Dynamic activation and deactivation of repair servers in a multicast tree
Miller Analyzing broadband networks: frame relay, SMDS, & ATM
Arsanjani Grammar-oriented object design: Creating adaptive collaborations and dynamic configurations with self-describing components and services
Ma et al. Green Communications and Networks
CN107133313A (zh) 实现可配置的查询页面的方法及系统、服务端、客户端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1172699

Country of ref document: HK