龙源期刊网 http://www.qikan.com.cn 基于正则表达式的日志解析系统构建研究 作者:张军 王芬芬 来源:《无线互联科技》2020年第03期 摘; ;要:针对日志格式异构造成的日志解析局限性问题,文章介绍了一种基于正则表达式日志数据分组提取的方法,采用日志格式描述与日志内容解析相分离的策略,使用XML语言编写日志格式描述和日志数据项说明的脚本文档,该脚本文档与日志类别相对应,与具体的解析程序分离,提高了日志解析系统的灵活性和扩展性。 关键词:日志解析;正则表达式;可扩展标记语言 互联网技术高速发展,大多企事业单位都已经构建自己的网络平台和信息系统,各种网络设备和信息系统的数量及规模都在扩大,也愈来愈复杂[1]。运维人员为及时了解各类设备和系统的运行状况,大多会去查阅设备或系统产生的日志数据,其大多以文本方式保存在相关的系统内部,记录了设备或系统在运行时所产生的各种数据,对运维人员了解系统运行状况和排查问题起到至关重要的作用[2]。但一般都是数据量庞大且以非结构化的方式存储,非常不利于查看和分析,如何有效地解析日志数据并能将其以结构化的方式存储,成为一个亟需解决的问题。 近年来,关于日志分析与处理的关注与研究越来越多。传统的通过开发人员经验和认知来分析日志关键字的方式不仅效率低下且针对性强[3];通过自定义规则来解析日志,对开发人员的经验和知识具有很强的依赖性。当系统更新或更换,新的日志内容就不再适用既有的规则,需重新编码定义规则,该方式灵活性差,不具扩展性。因此,本文考虑采用日志文件内容格式的描述与日志内容识别解析相分离的思想,实现日志解析过程与日志格式描述无关。具体策略如下:首先,将待解析的日志内容进行预处理,以提升解析效率。其次,提取描述日志格式的正则表达式和关键字含义,将其作为可变参数写入配置文件中,不同的日志匹配不同的配置文件[4],日志解析系统根据配置文件完成不同日志的数据匹配与解析,最后将解析结果进行持久化处理,形成关系型结构化数据。 1; ; 系统设计 基于上述分析,本文旨在构建一种具有良好扩展性和较高解析效率的日志解析系统。相比传统解析方式,采用日志格式描述与内容解析相分离的策略能有效提高解析系统的扩展性和灵活性。首先,日志解析系统需要为待解析的每一种日志编写一个匹配模式,用正则表达式描述。其次,将用于解释日志各个数据项的属性说明和该日志的解析正则表达式相结合,形成日志的解析配置文件,实现模式描述与内容解析相分离。同时,日志内容数量庞大的一个主要原因是日志里包含了大量相同或无分析价值的信息,本日志解析系统将增加日志预处理与日志过 本文来源:https://www.wddqw.com/doc/0196730ef21dc281e53a580216fc700abb6852ff.html