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

文档序号:9925280阅读:来源:国知局
息部分处理规则和/或辨认器。
[0021] 接收到的消息处理规则/辨认器的一个示例类型包括值后日志消息处理规则/辨 认器。值后消息处理规则指示关键字和如何处理/语法分析/匹配在规则的关键字之后的消 息内容的规范(例如,正则表达式)。例如,规则可W指定关键字"useK用户)"和指定如何语 法分析/匹配在日志消息中字符"useW用户)"之后的用户名的正则表达式。
[0022] 图3A示出了具有S个规则的值后消息处理辨认器的示例。可W在文件中指定该辨 认器。在图3A中示出的辨认器包括头部302、规则304、规则306、和规则308。头部302指定辨 认器配置。下面是描述在头部302中指定的信息的表格。_
[0023] 图3A的辨认器包括S个规则。下面是描述指定用于规则304、306和308的信息的表 格。

[0024] 在一些实施例中,,可W将"反向"字段添加到规则W将其SearchRegex错定到在消 息中的在前的关键字之后的位置和/或在当前匹配的关键字之前的位置,在其中至少一个 值在当前匹配的关键字之前的情况中用于提取。在一些实施例中,值前辨认器/规则类型存 在W处理在其中所期望的值在匹配的关键字之前的情况。在某些情况中运样的规则还可W 捕获在关键字之后的值。
[0025] 接收到的消息处理规则/辨认器的另一示例类型包括直接消息处理规则/辨认器。 直接消息处理规则指示如何处理/匹配/语法分析匹配该直接规范的消息内容的直接规范 (例如,正则表达式)。例如,直接辨认器/规则被用于捕获在不需要关联关键字的情况下可 W被直接地发现的值。在一些实施例中,直接辨认器/规则被用于处理没有被值后辨认器/ 规则匹配的日志消息的部分。
[0026] 图3B示出了具有=个规则的直接消息处理辨认器的示例。该辨认器可W被指定在 文件中。在图3B中示出的辨认器包括头部310、正则表达式312、列名称314和函数316。头部 310指定在"name(名称)"字段中的辨认器的识别符名称,在"type(类型)"字段中的辨认器 类型的识别符(例如,识别符"2"指定该辨认器是直接辨认器而不是值后辨认器),在 "priority(优先级)"字段中的相对辨认器处理优先级(例如,在直接辨认器之中),W及在 "Limit(限制)"字段(例如,"Limit"字段可W是可选的)中的直接辨认器将评估的日志消息 区域的开始字符的最大数目的识别。正则表达式312指定每一个都指定要被用于调用规则 并语法分析来自匹配日志消息部分的值的正则表达式的=个规则的正则表达式。列名称 314针对=个规则中的每一个指定正规化的列名称,在其下提取的值将被插入到数据库。函 数316针对=个规则中的每一个指定被用于进一步处理从在正则表达式312中指定的对应 的正则表达式得到的值的函数。例如,指定转换所获得的值的格式的函数。函数的其它示例 包括翻译、转换、警报、存储、和/或W其它方式处理规则的正则表达式匹配值的函数。
[0027] 回到图2,在204,将接收到的(一个或多个)规则准备用于在日志消息分析中利用。 在一些实施例中,接收到的规则/辨认器被存储在规则/辨认器的列表中W被用于评估日志 消息。在一些实施例中,将要被定位在日志消息内的一个或多个关键字和/或正则表达式存 储在数据/处理结构中W被用于识别要使用关联的规则/辨认器被进一步处理的日志消息 的部分。例如,使用接收到的(一个或多个)辨认器/规则,生成关键字/正则表达式的表格和 关联的规则/辨认器,并且当在日志消息中找到在该表格中的关键字时,调用与该关键字相 关联的规则/辨认器。
[00%]图4是图解用于处理日志消息的过程的实施例的流程图。可W在图1的日志处理器 108上实现图4的过程。
[0029] 在402,接收日志消息。在一些实施例中,接收日志消息包括从图1的日志收集器 104和/或日志高速缓冲存储器106接收日志消息。在一些实施例中,接收到的日志消息是多 个接收到的日志消息中的一个。例如,接收日志文件并且接收到的日志消息是该日志文件 中的一行。在一些实施例中,周期性地接收一个或多个日志消息。例如,在预确定的周期间 隔上执行对新的日志消息的检查。在一些实施例中,动态地接收一个或多个日志消息。例 如,当生成所述消息时经由通信流接收日志消息。
[0030] 在404,预处理接收到的日志消息。在一些实施例中,预处理所述消息包括识别消 息的类型。在一些情况中,由诸如图1中的日志收集器104的日志收集器指定消息类型。所指 定的消息类型可W在不试图发现消息类型的情况下被用作接收到的日志消息的消息类型。 可W至少部分地基于消息源、与消息相关联的元数据、和/或使用关键字匹配启发方法来确 定消息的类型。例如,将一个或多个消息类型与一个或多个关键字和/或正则表达式相关 联,并且如果在日志消息中找到用于特定消息类型的(一个或多个)匹配关键字和/或(一个 或多个)正则表达式,该日志消息被识别为特定消息类型。在一些实施例中,可W将辨认器/ 规则与指定的日志消息类型相关联。例如,在图3A的示例辨认器的头部302和图3B的示例辨 认器的头部310中指定用于辨认器/规则的日志消息类型。消息类型可W是指定的消息类型 或未知消息类型。在一些实施例中,对于单个日志消息可W识别多个消息类型。
[0031] 在一些实施例中,预处理所述消息包括推断与日志消息的一个或多个部分相关联 的关键字。在一些实施例中,使用先前接收到的日志消息或指定所暗示的头部行的规则确 定所暗示的关键字,并将所暗示的关键字与当前处理的日志消息相关联作为元数据用于由 值后辨认器/规则使用。例如,可W知道消息类型W为表列数据提供头部行:
[0032] 如果运四行中的每一行都被接收为分离的日志消息,那么值后辨认器可能不能够 定位作为其它行的列识别符的第一行的关键字。在某些情况中,诸如基于文件的日志记录, 预处理可W丢弃表头部日志消息并用指示所暗示的关键字的元数据将包含数据的日志消 息加标签。在一些实施例中,如果消息类型不包括表头部行,那么如果可W识别消息结构的 话仍可W将一个或多个暗示的关键字与日志消息的一个或多个部分相关联(例如,针对某 些确定的消息类型的消息所暗示的关键字)。
[0033] 在406,识别对应于第一组辨认器/规则中的一个或多个辨认器/规则的日志消息 的一个或多个部分。在一些实施例中,第一组辨认器/规则包括值后辨认器/规则。在一些实 施例中,将所有基于关键字的辨认器(例如,值后辨认器)的所有关键字放置于单个数据结 构(例如,在图2的204中确定的结构)中,并将其用于在通过日志消息的单独捜索经过(例 如,表格行进(table wa]_k)、确定性有限自动机(deterministic finite automata)等)中 识别在日志消息中的所有匹配关键字。在一些实施例中,步骤406的结果包括在日志消息中 匹配的(一个或多个)关键字的列表、它们在日志消息中的位置、W及对对应于该(一个或多 个)匹配关键字中的每一个的辨认器/规则的参考。可W通过与辨认器/规则相关联的优先 级(例如,图3A的头部302中识别的优先级)对该列表分类。
[0034] 例如,如果运S个辨认器: 被应用到日志消息:
Warning: User jones exceeded memory limit (10GB) with process memdb 其将返回关键字为[user,process limit]的有序列表,并且在408中将会W该列表中 的顺序执行相关的辨认器。
[0035] 在408,使用第一组辨认器/规则中的对应的辨认器/规则来处理日志消息中的识 别部分。在一些实施例中,对于在406中的日志消息的每个识别部分,W辨认器/规则的识别 优先级的顺序处理识别符辨认器/规则。例如,如果(例如,在图3A的规则304中的 "KeywordRegexFilter"字段中指定的)辨认器/规则的关键字匹配在识别部分中的字、(例 如,在图3A的规则304中的"DeviceFilter"字段中指定的)辨认器/规则的消息类型匹配日 志消息的(例如,在404确定的)所识别的消息类型、并且(例如,图3A的规则304中的 "SearchRegex"字段中指定的)辨认器/规则的正
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1