对日志消息内容的面向语义分析的制作方法_3

文档序号:9925280阅读:来源:国知局
则表达式匹配在该日志消息中的识别关键 字之后的内容,那么正则表达式的结果值(例如,一个或多个值)被识别为对应于识别关键 字的识别部分(例如,针对每个成功地匹配的规则的结果关键字/值对)。在一些实施例中, 针对每个成功地确定的关键字/值对,识别在日志消息内的其位置W稍后在后期处理中检 查重叠并定位日志消息的任何未识别的部分。
[0036] 在410,执行后期处理。在一些实施例中,执行后期处理包括对步骤408的结果的错 误检查。在一些实施例中,执行后期处理包括解决在重叠在日志消息中的所识别的关键字 或值之间的冲突。例如,可W仅将日志消息的每个字/内容识别为单个规则的关键字或值 (例如,日志消息中的字不能够是一个规则的关键字和另一个规则的值)。在一些实施例中, 值具有比关键字更高的优先级并且如果值和关键字重叠,那么保留该值并丢弃该关键字和 其相关联的值。在一些实施例中,较长的值相对较短的值具有优先级。在一些实施例中,执 行后期处理包括聚集关键字。例如,如果值后辨认器被配置为修饰语(例如,被配置在图3A 的头部302的"Modifier"字段中)并且该值后辨认器已经生成了在日志消息中的匹配,那么 如果该值还是另一辨认器/规则的另一识别关键字/值对的关键字的话将该辨认器的匹配 关键字与该辨认器的值结合。
[0037] 在412,使用第二组规则中的一个或多个规则处理日志消息的一个或多个未识别 的部分。在一些实施例中,日志消息的识别部分是使用在408中利用的辨认器/规则(例如, 值后辨认器/规则)已经被识别为或者关键字或者值的日志消息的部分。在一些实施例中, 第二组规则包括直接辨认器/规则,诸如在图3B中示出的辨认器。在一些实施例中,确定未 识别部分中的任意是否匹配第二组辨认器/规则中的正则表达式。如果找到匹配,那么可W 将日志消息的匹配部分识别为在匹配规则中识别的关键字/列名称的值。在一些实施例中, 如果找到匹配,那么将日志消息的匹配部分提供为到与匹配规则相关联的函数的输入并将 该函数的结果输出识别为在匹配规则中识别的关键字/列名称(例如,图3B的列名称314)的 值。
[0038] 在414,正规化并存储结果。在一些实施例中,所述结果包括在步骤410和步骤412 之后在日志消息内识别的结果关键字和值。例如,在步骤410之后,识别不冲突或重叠的在 日志消息中识别的值后辨认器/规则的后期处理的关键字和值,W及在步骤412之后,识别 与在直接匹配规则中的指定列名称相关联的日志消息中的值。在一些实施例中,将日志消 息部分的关键字和匹配列名称正规化W使语义上相似的识别符标准化。例如,可W将"IP Addr"和"IP Address"正规化成"IP"。在一些实施例中,存储结果包括通过存储在关键字 (例如,正规化的关键字)的数据库列名称下的值来将匹配辨认器/规则(例如,值后辨认器/ 规则)的识别关键字/值的值存储在数据库中(例如,存储在图1的数据库110中)。可W在规 则中(例如,图3A的规则304中)指定要被利用的数据库列名称。如果正被存储的关键字/值 是从结合两个或更多规则(例如,修饰语规则)得到结果那么可W将两个或更多列名称连接 到一起并利用。在一些实施例中,存储结果包括通过存储在匹配规则中指定的数据库列名 称(例如,正规化的列名称)下的值来将匹配辨认器/规则(例如,直接辨认器/规则)的识别 列名称/值的值存储在数据库中(例如,存储在图1的数据库110中)。
[0039] 图5是图解使用值后辨认器/规则处理日志消息部分的过程的实施例的流程图。可 W在图1的日志处理器108上实现图5的过程。在一些实施例中,图5的过程被包括在图4的 408 中。
[0040] 在502, W辨认器的优先级顺序处理日志消息的下一识别部分的辨认器。在一些实 施例中,在图4的406中确定可应用于日志消息的辨认器和它们相关联的优先级。例如,从在 日志消息中匹配的(一个或多个)关键字的优先化列表中接收每个辨认器和日志消息的关 联的识别部分,并且将所述每个辨认器和日志消息的关联的识别部分参考到对应于(一个 或多个)匹配关键字中的每一个的辨认器。
[0041] 在504,处理该辨认器的下一规则。例如,正被处理的辨认器包括多个规则并获得 该辨认器的下一规则用于处理。
[0042] 在506,确定正被处理的规则的关键字是否匹配针对该辨认器被识别的日志消息 的部分。在一些实施例中,在图4的406中已经针对该辨认器识别了日志消息的部分并且针 对与识别部分的匹配验证正被处理的规则的关键字。例如,确定正被处理的规则(例如,图 3A的规则304中)的"KeywordRegexFilter"字段中指定的关键字和/或正则表达式是否匹配 在日志消息的识别部分中的内容。如果确定了该规则的关键字匹配,那么处理继续到508。 如果确定了该规则的关键字不匹配,那么过程继续到516。
[0043] 在508,确定可应用于正被处理的规则的消息类型是否匹配正被处理的日志消息 的确定的消息类型。在一些实施例中,确定在图4的404中已经被识别的日志消息的类型是 否匹配在正被处理的规则(例如,在图3A的头部302中的)的辨认器中指定的消息类型。例 如,确定正被处理的规则的(例如,在图3A的规则304中的)"DeViCeFi 1 te卢字段中指定的消 息类型识别符是否匹配日志消息的确定的类型。在一些实施例中,如果针对规则指定的消 息类型是未识别/未知消息类型,那么对所有消息将消息类型与未识别/未知消息类型匹 配。如果确定规则的消息类型匹配,那么过程继续到510。如果确定规则的消息类型不匹配, 那么过程继续到516。规则可W指定任何有效的消息类型或一系列消息类型。
[0044] 在510,确定正被处理的规则的正则表达式是否匹配与日志消息的匹配关键字部 分相关联的日志消息部分。在一些实施例中,在图4的406中已经针对辨认器识别与关键字 相关联的日志消息的部分并且确定在匹配关键字部分之后的日志消息部分是否匹配正被 处理的规则的正则表达式。在一些实施例中,确定正被处理的规则(例如,在图3A的规则304 中的)的"SearchRegex"字段中指定的正则表达式是否匹配与在日志消息中匹配的(例如, 在406中匹配的)关键字相关联的内容。例如,正则表达式必须匹配在匹配关键字之后的日 志消息的内容的至少一部分。在另一示例中,正则表达式必须匹配在匹配关键字之前的日 志消息的内容的至少一部分,或者两者。在一些实施例中,将匹配正则表达式的日志消息的 部分识别为所述匹配的结果值。如果确定规则的正则表达式匹配,那么过程继续到512。如 果确定了规则的正则表达式不匹配,那么过程继续到516。
[0045] 在512,将日志消息的关键字和匹配正则表达式值部分识别为日志消息的匹配部 分。例如,将关键字和值对存储在数据结构中并且将日志消息的匹配部分标注为匹配关键 字和值W在随后的后期处理中定位冲突和日志消息的未识别部分。
[0046] 在514,确定针对日志消息的识别部分的任何识别的辨认器是否被留下用于处理。 如果确定存在另一辨认器用于处理,那么过程返回到502。如果确定没有留下辨认器(例如, 已经处理了所有值后辨认器)用于处理,那么过程结束。
[0047] 在516,确定在正在被处理的辨认器中是否存在另一规则。如果存在另一规则,那 么过程返回到504。如果不存在另一规则,那么过程前进到514。
[0048] 图6是图解用于对规则处理的结果进行后期处理的过程的实施例的流程图。可W 在图1的日志处理器108上实现图6的过程。在一些实施例中,图6的过程被包括在图4的410 中。
[0049] 在602,执行冲突解决。例如,解决在重叠在日志消息中的识别关键字或值之间的 冲突。在一些实施例中,日志消息的每个字/字符/内容可W仅被识别为或者单个规则的关 键字或者值(例如,在日志消息中的字不能够是一个规则的关键字和另一个规则的值)。例 如,如在图7A中示出的那样,可W将日志消息识另Ij/语法分析到两个关键字/值对中。图7A是 具有重叠识别关键字和值的示例日志消息。第一规则已经将"user"702识别为关键字并且 "user"704识别为该关键字的相关联的值。第二规则已经将"user"704识别为关键字并将 "Smith"
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1