专利名称:系统日志解析方法及装置的制作方法
技术领域:
本发明涉及数据解析技术领域,具体涉及系统日志解析方法及装置。
背景技术:
系统日志(syslog)协议的一个最基本的原则是其简单性,发送者和接 收者之间没有严格的约定,接收者无需确认。
syslog报文由3个部分优先级(PRI) +报文头(HEADER) +消息 (MSG)组成,MSG部分的长度不超过1024字节。其中,PRI部分的格式 为〈Priority〉,表示设备(Facility)和服务(Severity)优先级,Priority = Facility*8 + Severity。 HEADER部分包含时间戳(TimeStamp)和主才凡名称 (HostName)字段。MSG部分的格式不作限制,通常包含生成syslog消息 进程的附加信息以及消息的文本。MSG部分必须包含可见字符。MSG部分 主要包含标签(Tag)和内容(Content)两种类型的字段,Tag的值为产生 消息的应用或进程的名字,Content包含消息的详细信息。下面给出两种 syslog才艮文的例子
"<189>Jun 7 05:22:03 2003 Quidway IFNET/6/UPDOWN:Line protocol on interface EthernetO, changed state to UP"
"<182>Oct 12 11:02:52 19.82.2.20 Apr 2 17:33:23 2000 Monza一IRF %%10DHCPS/4/DHCPS—LOCAL SERVER(l):-DevIP=l.2.2.114- 1 - Local DHCP server information(detect by server):SERVER IP = 1.2.2.88;' Source client information: interface = Vlan-interface 1, type = DHCP—REQUEST, CHardAddr = 0010-5ce5-fdc3"
由于每个进程、应用、操作系统是独立写成的,系统日志(syslog)报 文的内容的格式是不统一的,RFC3164也没有对syslog报文的格式作强制要求,只规定了3个大致的部分PRI +HEADER + MSG,导致不同厂商、 同一厂商不同设备之间的syslog报文存在很大的差异。如图1所示,目前, 不同的厂商有不同的syslog接收解析器,甚至同一厂商对不同的设备也有不 同的syslog接收解析器,当新增加一种syslog格式后,若已有的syslog接 收解析器无法解析,就增加新的syslog接收解析器。可见,现有的syslog 解析方案不具有扩展性和动态适配性,用户需要不断购买新的syslog接收解 析器,不能很好地保护用户投资。
发明内容
本发明提供syslog解析方法及装置,以提供一种通用的syslog解析机制, 适应不同厂商、同一厂商不同设备的syslog报文之间的格式差异。 本发明的技术方案是这样实现的 一种系统日志解析方法,包括
当新增了 一类系统日志报文时,采用预定义的系统日志格式模板注册该类 系统日志报文的格式;
接收一条系统日志报文,将该系统日志报文的格式分别与已注册的各类系 统日志报文的格式匹配,若匹配上,则根据匹配上的已注册的系统日志报文格 式,解析接收到的系统日志报文。
所述系统日志格式模板包括类型标识,各用户关注字段的标识、名称、 前导字符、后导字符和长度。
所述用户关注字段包括时间戳、主机名称、系统名称、模块名称、级另'J、 摘要中的一个或任意组合。
预先定义各类时间戳字段取值格式转换到统一取值格式的方式,
且,当所述系统日志格式模板包括时间戳字段时,该时间戳字段的名称中 包含取值格式类型标志。
所述接收一条系统日志报文之后、将该系统日志报文的格式分别与已注册 的各类系统日志报文的格式匹配之前进一步包括在已记录的设备标识与已注册系统日志报文格式的类型标识的对应关系 中,查找发来该系统日志的设备标识,若查找到,根据该类型标识对应的已注 册系统日志报文格式,解析接收到的系统日志报文;否则,执行所述将该系统 日志报文的格式分别与已注册的各类系统日志报文的格式匹配的动作,
且,所述解析接收到的系统日志报文进一步包括保存发来该系统日志报
文的设备标识与匹配上的已注册系统日志报文格式的类型标识的对应关系。
所述方法进一步包括发现接收到的系统日志报文不与任何已注册的系统 日志报文格式匹配,则确定接收到的系统日志报文为新增类型的系统日志报文, 返回执行所述采用预定义的系统日志格式模板注册该接收到的系统日志报文的 格式的动作。
所述确定接收到的系统日志报文为新增类型的系统日志报文进一步包括 为该接收到的系统日志报文确定一个类型标识,记录该类型标识与发来该系统 日志报文的设备标识的对应关系。
所述解析系统日志报文包括在已注册的系统日志报文格式中顺序查找各 用户关注字段,根据各用户关注字段的前导字符、后导字符和长度,在接收到 的系统日志报文中查找各用户关注字段的取值,记录各用户关注字段的取值。
所述在已注册的系统日志报文格式中顺序查找各用户关注字段之前进一步 包括根据接收到的系统日志报文的优先级字段的取值,计算并记录级别字段 的取值。
所述在已注册的系统日志报文格式中顺序查找的各用户关注字段中包含时 间戳字段,
且,在接收到的系统日志报文中查找各用户关注字段的取值之后、记录各 用户关注字段的取值之前进一步包括将时间戳字段的取值转换为统一取值格 式,记录以统一取值格式表示的时间戳字段的取值。
一种系统日志解析装置,包括
系统日志格式注册模块,当新增了一类系统日志报文时,釆用预定义的系 统日志格式模板注册该类系统日志报文的格式;系统日志解析模块,接收一条系统日志报文,将该系统日志报文的格式分 别与已注册的各类系统日志报文的格式匹配,若匹配上,则根据匹配上的已注 册的系统日志报文格式,解析接收到的系统日志报文。
所述系统日志格式模板包括类型标识,各用户关注字段的标识、名称、 前导字符、后导字符和长度。
所述系统日志格式注册模块进一步用于,预先定义各类时间戳字段取值格 式转换到统一取值格式的方式,若新增的一类系统日志报文中包含时间戳字段, 则在注册的该类系统日志报文的格式中添加时间戳字段的取值格式类型标志。
所述系统日志解析模块包括
设备标识与系统日志类型记录模块,记录设备标识与系统日志的类型标识 的对应关系;
解析模块,接收一条系统日志报文,在设备标识与系统日志类型记录模块 中查找发来该系统日志报文的设备标识,若查找到,根据该设备标识查找到对 应的类型标识,根据该类型标识对应的已注册系统日志报文格式解析接收到的 系统日志报文;否则,将接收到的系统日志报文的格式分别与已注册的各类系 统曰志报文的格式匹配,若匹配上,则根据匹配上的已注册的系统日志报文格 式,解析接收到的系统日志报文,并在设备标识与系统日志类型记录模块中记 录发来该系统日志报文的设备标识与匹配上的已注册系统日志报文格式的类型 标识的对应关系。
所述系统日志解析模块进一步用于,在发现接收到的系统日志报文不与任 何已注册的系统日志报文格式匹配时,确定接收到的系统日志报文为新增类型 的系统日志报文,则将接收到的系统日志报文发送给系统日志格式注册模块。
所述系统日志解析模块进一步用于,在确定接收到的系统日志报文为新 类型的系统日志报文时,为接收到的系统日志报文确定一个类型标识,在设 备标识与系统日志类型记录模块中记录该类型标识与发来该系统日志报文 的i殳备标识的对应关系。
与现有技术相比,本发明预先定义一个通用的syslog格式模板,当新增了一类syslog报文时,采用预定义的syslog格式模板注册该类syslog报文 的格式;当接收到一条syslog报文时,将该syslog报文的格式分别与已注册 的各类syslog报文的格式匹配,若匹配上,则根据匹配上的已注册的syslog 报文格式,解析接收到的syslog报文。本发明只通过一种解析机制就可以解 析格式复杂多变的syslog报文,当增加了新类型的syslog报文后,只需以通 用的syslog格式模板注册该syslog报文的格式,就可以采用已有的解析机制 解析出用户关心的字段,而不需再增加新的解析机制。本发明提供的解析机 制不受厂商、设备的限制,具有灵活性和扩展性。
图1为现有的syslog接收解析机制示意图; 图2为本发明实施例提供的syslog解析方法的流程图; 图3为本发明实施例提供的交换机根据已注册的syslog报文格式,解析 接收到的syslog报文的流程图
图4为本发明实施例提供的syslog解析装置的组成示意图; 图5为本发明实施例提供的syslog解析模块的组成示意图。
具体实施例方式
下面结合附图及具体实施例对本发明再作进一 步详细的说明。 图2为本发明实施例提供的syslog解析方法的流程图,如图2所示,其 具体步骤如下
步骤201:定义通用syslog格式模板。
在syslog报文中,用户关注的为HEADER和MSG部分的字l殳。 syslog报文的HEADER部分包括TimeStamp和HostName字段, TimeStamp字段由表示小时、分钟、秒的时间字段和表示年、月、日的日期 字段构成,不同厂商不同设备的syslog报文中的TimeStamp字段的格式可 能不同,以2005年2月14日20点15分40秒2005/02/14 20:15:40为例,主要有以下几种格式
Feb 14 20:15:40 2005;
20050214201540;
050214201540;
MicroSeconds;该时间表示的是自系统启动以来的毫秒数 Feb 14 20:15:40
MSG部分主要由字段系统名称(SysName )、模块名称(Module )、 级别(Level)、摘要(Digest)、内容(Content)构成,对于不同厂商不同 设备的syslog报文,其MSG部分可能只包含上述部分字段,且有可能各字 段的次序不同、分隔符不同,还可能包含另外的字段。
为了能够解析各种格式的syslog报文,本发明实施例定义了通用的 syslog格式模板,对用户关注的TimeStamp字段和MSG部分的各字段的格 式进行了统一定义
首先,由于TimeStamp字段通常有5种格式,将该5种格式统一成一 种格式,具体如下、 MMM_DD—hhmmss—YYYY = yyyy/mm/dd hh:mm:ss;
例如Feb 14 20:15:40 2005=2005/02/14 20:15:40、 YYYYMMDD—hhmmss = yyyy/mm/dd hh:mm:ss;
例如20050214201540=2005/02/14 20:15:40、 YYMMDD—hhmmss = yyyy/mm/dd hh:mm:ss;
例如050214201540=2005/02/14 20:15:40、 MicroSeconds = yyyy/mm/dd hh:mm:ss;
将系统启动时刻加上MicroSeconds即可得到yyyy/mm/dd hh:mm:ss [5]、 MMM_DD—hhmmss = yyyy/mm/dd hh:mm:ss; 例如Feb 14 20:15:40=2005/02/14 20:15:40
其次,对TimeStamp字段和MSG部分中的各字段,定义其前导字符、 后导字符、长度,以可扩展标记语言(XML, Extensible Markup Language)文件表示的每个字段的格式如下 <Field>
<FieldID>field—id</FieldID>
<FieldName>field—name</FieldName>
<FieldPrior>field_prior</FieldPrior>
<FieldAfter>field_after</FieldAfter>
<FieldLength>field_length</FieldLength> </Field>
其中,FieldID为字段ID, FieldName为字段名字,FieldPrior表示字段 的前导字符,FieldAfter表示字段的后导字符,FieldLength表示字段的长度。 field_prior和field—after可以为 (表示空格),Agt;(表示〉),field—length 可以为-1 (表示忽略长度)。
需要指出的是,由于TimeStamp字段的取值共有5种格式,为了便于将 其转换成统一格式,必须指明其当前取值的格式属于上述5种格式中的哪一 种,可以在FieldName中将TimeStamp字段的取值格式类型表示出来,例如 若field—name= "TimeStamp[2]",则表示TimeStamp字段的取值才各式为 YYYYMMDD—hhmmss;若Field_name= "TimeStamp[4],,,表示TimeStamp 字段的取值格式为Microseconds,代表自系统启动以来的毫秒数。
则可根据上述对用户关注的TimeStamp字段和MSG部分的各字段的定 义,得到通用的syslog格式模板如下 <LogType>
〈TypelD〉妙e !W</TypeID>
<LogFormat>/og_/brmaZ </LogFormat>
<Fields>
<Field>
<FieldID,W」W</FieldID> <FieldName>y eW_wame</FieldName> <FieldPrior〉y eW_j hor</FieldPrior〉<FieldAfter>X",r</FieldAfter> <FieldLength>X/e g//K/FieldLength〉 〈/Field〉
<以下是其它Field列表> </Fields>
</LogType>
其中,需要用户填写的内容如下
1、 /^户ej丄即类型ID,每种类型的syslog具有唯一的TypeID。
2、 /ogJbrwfl/。即syslog的格式,包含了 syslog包括的字段和各字段的 前导字符和后导字符,例如可写为TimeStamp[5] SysName%%Module/Severity/Digest:。
3、 ,eW」W。即字賴ID,可以为1、 2、 3、 4、...。
4、 y eW—加we。即字#爻名称,可以为TimeStamp[1] [5]、 SysName、 Module 、 Level 、 Digest等。
若为时间戳字段,We/J—A^me中同时包含字段取值格式的类型,例如, Fz'e/d—iV me 可为 TimeStamp[l] 、 TimeStamp[2] 、 TimeStamp[3]、 TimeStamp[4]、 TimeStamp[5]。
5、 _/ eW和,eW—q/ er。分别表示字段的前导字符,例如当syslog 格式为TimeStamp[5] SysName%%Module/Severity/Digest:时,Module字l史 的前导字符为"%",后导字符为"/"。
6、 力e/J—/e"g^。即字段长度。
步骤202:当新增了一类syslog报文时,采用通用的syslog格式模板, 注册该类syslog报文的格式。
例如新增的syslog报文的格式如下 "〈189〉23: ld08h: %SYS-5-CONFIG_I: Configured from console by vtyO(192.168.1.22)"
可见,该类syslogl艮文的TimeStamp的才各式为MicroSeconds,在该syslog 报文中取值为23(毫秒),MSG部分包含的字段有1、 SysName,在该syslog 报文中其取值为ld08h,其前导字符和后导字符都为"";2、 Module,在 该syslog报文中其取值为SYS,其前导字符为"%",后导字符为"-";3、 Severity,在该syslog报文中取值为"5",其前导字符和后导字符都为"-";4、 Digest,在该syslog报文中其取值为"CONFIG—I",其前导字符为"-",后导 字符为""。"Configured from console by vtyO( 192.168.1.22)"为内容,用 户通常不关心该字段。
则可采用通用的syslog格式模板,注册该类syslog报文的格式如下 <TypeID〉 13 </TypeID〉
<LogFormat〉
TimeStamp[4]:SysName: %Module-Severity-Digest: </LogFormat〉 <Fields>
<Field>
<FieldID>l</FieldID> <FieldName>TimeStamp[4]</FieldName> <FieldPrior>></FieldPrior> <FieldAfter>:</FieldAfter> <FieldLength>-1 </FieldLength> </Field> <Field>
<FieldID>2</FieldID> <FieldName>SysName</FieldName> <FieldPrior>:</FieIdPrior> <FieldAfter>:</FieldAfter> <FieldLength>-1 </FieldLength> </Field><Field〉
<FieldID>3</FieldID〉
<FieldName〉Module</FieldName〉
<FieldPrior〉 %</FieldPrior〉
<FieldAfter>-</FieldAfter〉
<FieldLength>-1 </FieldLength> </Field> <Field>
<FieldID>4</FiddID>
<FieldName>Severity</FieldName>
<FieldPrior>-</FieldPrior>
<FieldAfter>-</FieldAfter>
<FieldLength>-1 </FieldLength> </Field> <Field>
<FieldID>5</FieldID>
<FieldName>Digest</FieldName>
<FieldPrior>-</FieldPrior>
<FieldAfter>:</FieldAfter>
<FieldLength>-1 </FieldLength> </Field> </Fields> </LogType>
步骤203:交换机接收一个设备发来的一条syslog报文。
syslog解析设备可以是交换机、路由器等,本实施例以交换机为例。
步骤204:交换机在自身记录的设备的IP地址与已注册的syslog报文
格式的TypeID的对应关系中,查找发来该syslog报文的设备的IP地址。 步骤205:交换机判断是否查找到,若是,执行步骤206;否则,执行
步骤208。步骤206:交换机根据该设备的IP地址对应的TypeID,查找与该TypeID 对应的已注册的syslog l艮文才各式。
步骤207:交换机根据查找到的已注册syslog报文格式,解析接收到的 syslog报文,本流程结束。
步骤208:交换机将接收到的syslog报文依次与已注册的每类syslog报 文格式匹配。
步骤209:交换机判断是否有已注册的syslog报文格式与接收到的syslog 报文的格式匹配,若是,执行步骤211;否则,执行步骤210。
在将接收到的syslog报文与已注册的每类syslog报文才各式匹配时,对于 已注册的每类syslog报文格式中的每个字段,根据该字段的前导字符、后导 字符和长度,在接收到的syslog报文中查找字段的取值,只要接收到的报文 中的字段的前导字符、后导字符、长度中的任意一个与已注册的syslog报文 格式不同,就认为不匹配。
步骤210:交换机确定接收到的syslog报文为新增类型的syslog报文, 为接收到的该syslog报文确定一个TypeID,记录发来该syslog报文的设备 的IP地址与该TypeID的对应关系,返回步骤202。
这里,返回步骤202后所注册的syslog报文格式中的TypeID即为本步 骤310中所确定的TypeID。
步骤211:交换机根据匹配上的已注册syslog报文格式,解析接收到的 syslog报文,解析成功,保存发来该syslog报文的设备的IP地址与已注册 syslog才艮文格式的TypeID的对应关系。
图3为本发明实施例提供的交换机根据已注册的syslog报文格式,解析 接收到的syslog报文的流程图,如图3所示,其具体步骤如下
步骤301:交换机根据接收到的syslog报文中的PRI字段的值,计算得 到该syslog的Level字段的值。
由于syslog报文的MSG部分的Level字段的值通常不能准确地反映该 syslog报文的级别,而由PRI字段值得到的Level字段值更准确,因此,交换机会首先执行本步骤。
步骤302:交换机在已注册的syslog报文格式中顺序查找用户关注字段 Field。
步骤303:交换机判断是否查找到,若是,执行步骤304;否则,执行 步骤306。
步骤304:根据已注册的syslog报文格式中的该字段的前导字符、后导 字符和长度,交换机在收到的syslog报文中查找该字段的取值。
步骤305:交换机记录该字段的FieldName与取值的对应关系,返回步 骤302。
若字段为TimeStamp字段,还需根据FieldName的取值确定其取值格式 类型,根据该类型将TimeStamp字段的取值转换成统一格式,例如若 FieldName的取值为 TimeStamp[l],则可知其取值格式为 MMM—DD—hhmmss—YYYY,将其转换为统一才各式yyyy/mm/dd hh:mm:ss。
步骤306:交换机确定对该syslog报文解析完毕,本流程结束。
图4为本发明实施例提供的syslog解析装置的组成图,如图4所示,其主 要包括syslog格式注册模块41和syslog解析模块42,其中
syslog格式注册模块41:当新增了 一类syslog报文时,采用预定义的syslog 格式才莫板注册该类syslog报文的格式。
syslog格式模板包括syslog的类型标识,各用户关注字段的标识、名称、 前导字符、后导字符和长度。
syslog格式注册模块41还可以用于,预先定义各类时间戳字段取值格式转 换到统一取值格式的方式,若新增的一类syslog报文中包含时间戳字段,则在 注册的该类syslog报文的格式中添加时间戳字段的取值格式类型标志。
syslog解析模块42:接收一条syslog报文,将该syslog报文的格式分别与 已注册的各类syslog报文的格式匹配,若匹配上,则根据匹配上的已注册的 syslog报文格式,解析接收到的syslog报文。
syslog解析模块42还可以用于,在发现接收到的syslog报文不与任何已注册的syslog报文格式匹配时,确定接收到的syslog报文为新增类型的syslog报 文,则将接收到的syslog报文发送给syslog格式注册模块41 , syslog格式注册 模块41接收到该syslog报文后,采用预定义的syslog格式模板注册该syslog 报文的格式。
syslog解析模块42还可以用于,在确定接收到的syslog报文为新增类型的 syslog报文时,为接收到的syslog报文确定一个类型标识,在设备标识与syslog 类型记录模块421中记录该类型标识与发来该syslog报文的设备标识的对应关 系。
如图5所示,syslog解析模块42包括设备标识与syslog类型记录模块 421和解析模块422,其中
设备标识与syslog类型记录模块421:记录设备标识与syslog的类型标识 的只十应关系。
设备标识可以为i殳备的IP地址等。
解析模块422:接收一条syslog报文,在设备标识与syslog类型记录模块 421中查找发来该syslog报文的设备标识,若查找到,根据该设备标识查找到 对应的类型标识,根据该类型标识对应的已注册syslog报文格式解析接收到的 syslog报文;否则,将接收到的syslog报文的格式分别与已注册的各类syslog 报文的格式匹配,若匹配上,则根据匹配上的已注册的syslog报文格式,解析 接收到的syslog报文,并在设备标识与syslog类型记录模块421中记录发来该 syslog报文的设备标识与匹配上的已注册syslog报文格式的类型标识的对应关 系。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在 本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在 本发明的保护范围之内。
权利要求
1、一种系统日志解析方法,其特征在于,该方法包括当新增了一类系统日志报文时,采用预定义的系统日志格式模板注册该类系统日志报文的格式;接收一条系统日志报文,将该系统日志报文的格式分别与已注册的各类系统日志报文的格式匹配,若匹配上,则根据匹配上的已注册的系统日志报文格式,解析接收到的系统日志报文。
2、 如权利要求l所述的方法,其特征在于,所述系统日志格式才莫板包括 类型标识,各用户关注字段的标识、名称、前导字符、后导字符和长度。
3、 如权利要求2所述的方法,其特征在于,所述用户关注字^a包括时间 戳、主机名称、系统名称、模块名称、级别、摘要中的一个或任意组合。
4、 如权利要求3所述的方法,其特征在于,预先定义各类时间戳字段取值 格式转换到统一取值格式的方式,且,当所述系统日志格式模板包括时间戳字段时,该时间戳字段的名称中 包含取值格式类型标志。
5、 如权利要求2所述的方法,其特征在于,所述接收一条系统日志报文之 后、将该系统日志报文的格式分别与已注册的各类系统日志报文的格式匹配之 前进一步包括在已记录的设备标识与已注册系统日志报文格式的类型标识的对应关系 中,查找发来该系统日志的设备标识,若查找到,根据该类型标识对应的已注 册系统日志报文格式,解析接收到的系统日志报文;否则,执行所述将该系统 日志报文的格式分别与已注册的各类系统日志报文的格式匹配的动作,且,所述解析接收到的系统日志报文进一步包括保存发来该系统日志报 文的设备标识与匹配上的已注册系统日志报文格式的类型标识的对应关系。
6、 如权利要求1至5任一所述的方法,其特征在于,所述方法进一步包括 发现接收到的系统日志报文不与任何已注册的系统日志报文格式匹配,则确定接收到的系统日志报文为新增类型的系统日志报文,返回执行所述采用预定义 的系统日志格式模板注册该接收到的系统日志报文的格式的动作。
7、 如权利要求6所述的方法,其特征在于,所述确定接收到的系统日志报文为新增类型的系统日志报文进一步包括为该接收到的系统日志报文确定一个类型标识,记录该类型标识与发来该系统日志报文的设备标识的对应关系。
8、 如权利要求2至5任一所述的方法,其特征在于,所述解析系统日志报 文包括在已注册的系统日志报文格式中顺序查找各用户关注字段,根据各用 户关注字段的前导字符、后导字符和长度,在接收到的系统日志报文中查找各 用户关注字段的取值,记录各用户关注字段的取值。
9、 如权利要求8所述的方法,其特征在于,所述在已注册的系统日志才艮文 格式中顺序查找各用户关注字段之前进一步包括根据接收到的系统日志报文 的优先级字段的取值,计算并记录级别字段的取值。
10、 如权利要求8所述的方法,其特征在于,所述在已注册的系统日志报 文格式中顺序查找的各用户关注字段中包含时间戳字段,且,在接收到的系统日志报文中查找各用户关注字段的取值之后、记录各 用户关注字段的取值之前进一步包括将时间戳字段的取值转换为统一取值格 式,记录以统一取值格式表示的时间戳字段的取值。
11、 一种系统日志解析装置,其特征在于,该装置包括 系统日志格式注册模块,当新增了一类系统日志报文时,采用预定义的系统日志格式模板注册该类系统日志报文的格式;系统日志解析模块,接收一条系统日志报文,将该系统日志报文的格式分 别与已注册的各类系统日志报文的格式匹配,若匹配上,则根据匹配上的已注 册的系统日志报文格式,解析接收到的系统日志报文。
12、 如权利要求11所述的装置,其特征在于,所述系统日志格式模板包括 类型标识,各用户关注字段的标识、名称、前导字符、后导字符和长度。
13、 如权利要求12所述的装置,其特征在于,所述系统日志格式注册模块 进一步用于,预先定义各类时间戳字段取值格式转换到统一取值格式的方式,若新增的一类系统日志报文中包含时间戳字段,则在注册的该类系统日志报文 的格式中添加时间戳字段的取值格式类型标志。
14、 如权利要求11所述的装置,其特征在于,所述系统日志解析模块包括设备标识与系统日志类型记录模块,记录设备标识与系统日志的类型标识的对应关系;解析模块,接收一条系统日志报文,在设备标识与系统日志类型记录模块 中查找发来该系统日志报文的设备标识,若查找到,根据该设备标识查找到对 应的类型标识,根据该类型标识对应的已注册系统日志报文格式解析接收到的系统日志报文;否则,将接收到的系统日志报文的格式分别与已注册的各类系 统曰志报文的格式匹配,若匹配上,则根据匹配上的已注册的系统日志报文格 式,解析接收到的系统日志报文,并在设备标识与系统日志类型记录模块中记 录发来该系统日志报文的设备标识与匹配上的已注册系统日志报文格式的类型 标识的对应关系。
15、 如权利要求11至14任一所述的装置,其特征在于,所述系统日志解 析模块进一步用于,在发现接收到的系统日志报文不与任何已注册的系统日志 报文格式匹配时,确定接收到的系统日志报文为新增类型的系统日志报文,则 将接收到的系统日志报文发送给系统日志格式注册模块。
16、 如权利要求15所述的装置,其特征在于,所述系统日志解析模块进一 步用于,在确定接收到的系统日志报文为新类型的系统日志报文时,为接收到 的系统日志报文确定一个类型标识,在设备标识与系统日志类型记录模块中记 录该类型标识与发来该系统日志报文的设备标识的对应关系。
全文摘要
本发明公开了系统日志解析方法及装置。方法包括预先定义一个通用的syslog格式模板,当新增了一类syslog报文时,采用预定义的syslog格式模板注册该类syslog报文的格式;当接收到一条syslog报文时,将该syslog报文的格式分别与已注册的各类syslog报文的格式匹配,若匹配上,则根据匹配上的已注册的syslog报文格式,解析接收到的syslog报文。本发明只通过一种解析机制就可以解析格式复杂多变的syslog报文,具有灵活性和扩展性。
文档编号H04L29/06GK101286891SQ20081011408
公开日2008年10月15日 申请日期2008年5月30日 优先权日2008年5月30日
发明者张学明 申请人:杭州华三通信技术有限公司