日志模拟生成方法、装置和服务器的制作方法

文档序号:7886723
专利名称:日志模拟生成方法、装置和服务器的制作方法
技术领域
本发明涉及一种日志模拟生成方法、装置和服务器,属于设备的日志测试技术领域。
背景技术
系统日志(Syslog)是一种在网络环境中广泛使用的调度类型,被各种操作系统、 网络设备和安全设备官方支持,成为日志的重要标准。因此对于其他类型的调度类型,在实际应用中往往也会通过日志转换器转换为系统日志格式,便于进行统一采集、管理和分析。在网络安全、设备管理和行为审计监控领域,都需要对各设备发出的系统日志进行解析和管理。在对系统日志管理产品的测试过程中,测试人员需要构造所需的各种测试环境,包括正常环境尽可能真实地模拟出现实网络中在正常情况下各设备发出的日志情况。异常环境模拟在网络遭受到某种攻击时各设备发出的日志情况。如当网络中爆发蠕虫病毒时,各IDS和防火墙的相关告警日志数量可能飚升。压力环境以某个正常环境为基准,将各日志数量提升数倍、或将产生日志的各设备数提升数倍,以测试产品在满负荷高强度情况下的工作状态,并测出产品的实际性能。然而使用实际设备构造测试环境的问题在于1、复杂且成本昂贵构造一个完全由实际设备构成的测试环境在设备成本上是难以承受的。2、无法构造出异常和某些极端环境要让实际设备以最大强度产生日志或表现出遭受某种特定攻击时的行为极为困难,甚至无法实现。因此,现有技术中通常都使用能够模拟实际设备发出系统日志的日志模拟生成装置来解决这个测试难题。然而系统日志是一种格式极为宽松自由的日志格式,实际上除了长度不能超过 IOM字节的强制要求以外,几乎没有别的针对系统日志格式的强制要求。因此不同厂商甚至同一厂商的不同产品所生成的系统日志在格式上都存在巨大差异。这种差异的存在,给系统日志的模拟生成带来了技术难题。

发明内容
本发明提供一种日志模拟生成方法、装置和服务器,用以模拟实际设备发出各种格式的系统日志。本发明一方面提供一种日志模拟生成方法,其中包括获取日志规则定义文件;对所述日志规则定义文件中的数据字段生成规则和日志生成规则进行解析生成内部规则数据结构;
通过日志生成引擎根据所述日志规则定义文件中的日志调度规则及所述内部规则数据结构生成日志;通过日志发包调度引擎发送所述日志。本发明另一方面提供一种日志模拟生成装置,其中包括文件获取模块,用于获取日志规则定义文件;规则解析模块,用于对文件获取模块获取的所述日志规则定义文件中的数据字段生成规则和日志生成规则进行解析生成内部规则数据结构; 日志生成引擎,用于根据文件获取模块获取的所述日志规则定义文件中的日志调度规则及规则解析模块得到的所述内部规则数据结构生成日志;日志发包调度引擎,用于发送日志生成引擎生成的所述日志。本发明又一方面提供一种服务器,其中包括上述装置。本发明所述方法通过使用日志规则定义文件灵活高效地实现了对各种格式系统日志的模拟,不需要引入任何额外的软件工具开发工作,测试环境的实现也非常便利。


图1为本发明所述日志模拟生成方法实施例的流程图;图2为图1所示步骤120的具体流程图;图3为图1所示步骤130的具体流程图;图4为本发明所述变量表的结构示意图;图5为图1所示步骤140的具体流程图;图6为本发明所述日志模拟生成装置实施例的结构示意图;图7为图6所示规则解析模块20的具体结构示意图;图8为图6所示日志生成引擎30的具体结构示意图;图9为图6所示日志发包调度引擎40的具体结构示意图。
具体实施例方式图1为本发明所述日志模拟生成方法实施例的流程图,如图所示,该方法包括如下步骤步骤110,获取日志规则定义文件。其中,所述日志规则定义文件是由人为编写的,其中包含有设备日志模拟规则,该设备日志模拟规则提供了模拟真实设备的日志产生内容和行为所需的全部信息,如日志格式、日志种类和每秒发出的日志数等。具体地,所述设备日志模拟规则可以通过任何能够被计算机所理解的形式构造,例如可以通过基于XML (Extensible Markup Language,可扩展标记语言)的配置文件对设备日志模拟规则进行定义。所述设备日志模拟规则包括数据字段生成规则、日志生成规则和日志调度规则,将在后续内容进行详细说明。步骤120,对所述日志规则定义文件中的数据字段生成规则和日志生成规则进行解析生成内部规则数据结构。其中,所述数据字段生成规则定义了日志中变化部分的生成方式和策略,具体地, 在规则定义XML文件中,所有的数据字段生成规则都必须位于〈FieldRule〉节点下。所述日志生成规则定义了日志的输出结果,具体是将日志中的固定部分和变化部份组合在一起, 从而完整定义了日志的生成方式。其中,所述数据字段生成规则包括元规则和复合规则,有关元规则、复合规则、日志生成规则以及具体的解析过程,将在后续内容进行详细介绍。步骤130,通过日志生成引擎根据所述日志规则定义文件中的日志调度规则及所述内部规则数据结构生成日志。其中,所述日志调度规则定义了设备生成日志的动态行为。如1秒内设备会生成多少日志、各种不同日志的比例又是多少等。日志调度规则可以让本发明所述装置逼真地模拟出在实际运行环境下设备输出日志的表现,并且还可以根据需要任意模拟出各种在现实环境下难以出现的极端状况。具体的日志生成过程将在后续内容进行介绍。步骤140,通过日志发包调度引擎发送所述日志。其中,所述日志发包调度引擎负责决定每条日志的发送时机,并调用系统的以太网驱动将下述发送缓冲区中存放的日志进行发送,也就是说,日志发包调度引擎是在日志的发送行为上对实际设备进行模拟,例如可以模拟如下的日志发送行为,具体的日志发送过程将在后续内容进行详细介绍1.模拟均勻发送所有日志的行为假设1秒内需要发送1000条日志,则日志发包调度引擎将会以每隔0.1毫秒发送1条的频率将这些日志发送出去,使日志在时间上的分布均勻。这样能更为真实地模拟实际设备发送日志时的行为。2.模拟突发类日志的发送行为属于相同日志类型的突发日志将连续发送完毕, 中间不穿插其他日志。3.模拟实时类日志的发送行为属于不同日志类型的实时日志将被有意地随机混合发送,更为真实地模拟实际设备发送这类日志时的行为。本实施例所述方法通过使用日志规则定义文件灵活高效地实现了对各种格式系统日志的模拟,不需要引入任何额外的软件工具开发工作,测试环境的实现也非常便利;而且,只要使用相同的日志规则定义文件进行日志的模块生成,就能够得到基本相同的模拟日志环境,从而有利于故障重现以及测试环境的还原。以下对元规则和复合规则分别进行说明元规则所述元规则用于构造几种基础数据类型的字符串,其类型与日志生成引擎内置的数据生成器(generator) —一对应,元规则直接定义了上述数据生成器在生成数据时的工作参数,供后续日志生成引擎使用,本实施例所述元规则可以产生各种格式丰富的数据类型,足以满足目前业界常见设备的日志构造需要,举例如下(1)互联网协议(ip)地址元规则,一条ip元规则举例如下
权利要求
1.一种日志模拟生成方法,其特征在于,包括 获取日志规则定义文件;对所述日志规则定义文件中的数据字段生成规则和日志生成规则进行解析,生成内部规则数据结构;通过日志生成引擎根据所述日志规则定义文件中的日志调度规则及所述内部规则数据结构生成日志;通过日志发包调度引擎发送所述日志。
2.根据权利要求1所述的方法,其特征在于,所述数据字段生成规则包含元规则和复合规则,所述解析包括将所述复合规则和所述日志生成规则展开成元规则;从所述数据字段生成规则中包含的所述元规则以及展开后得到的所述元规则中提取出生成器类型和生成器参数;根据所述生成器类型和生成器参数构建所述内部规则数据结构。
3.根据权利要求2所述的方法,其特征在于,所述生成日志包括所述日志生成引擎根据所述日志调度规则确定下一时段待发送日志的日志类型、调度类型和日志数量;根据所述日志类型、调度类型和日志数量以及所述生成器类型和生成器参数,调用相应的数据生成器生成相应的日志保存在生成缓冲区;当所述下一时段的全部待发送日志生成完毕后,将所述全部待发送日志从所述生成缓冲区转存到发送缓冲区。
4.根据权利要求3所述的方法,其特征在于,发送所述日志包括所述日志发包调度引擎根据所述日志数量计算所述下一时段待发送日志的发送间隔t ;从由所述日志生成引擎确定的日志类型中随机选取一个日志类型; 当被选取的所述日志类型对应的调度类型为实时类时,将位于所述发送缓冲区中的一条对应所述被选取的日志类型的日志进行发送,并等待t微秒后返回执行上一步骤;当被选取的所述日志类型对应的调度类型为突发类时,将位于所述发送缓冲区中的对应所述被选取的日志类型的全部日志进行每隔t微秒的连续发送,发送结束后返回执行上 “■步骤。
5.一种日志模拟生成装置,其特征在于,包括 文件获取模块,用于获取日志规则定义文件;规则解析模块,用于对文件获取模块获取的所述日志规则定义文件中的数据字段生成规则和日志生成规则进行解析生成内部规则数据结构;日志生成引擎,用于根据文件获取模块获取的所述日志规则定义文件中的日志调度规则及规则解析模块得到的所述内部规则数据结构生成日志;日志发包调度引擎,用于发送日志生成引擎生成的所述日志。
6.根据权利要求5所述的装置,其特征在于,所述数据字段生成规则包含元规则和复合规则,所述规则解析模块包括展开单元,用于将所述复合规则和所述日志生成规则展开成元规则;提取单元,用于从所述数据字段生成规则中包含的所述元规则以及由展开单元展开后得到的所述元规则中提取出生成器类型和生成器参数;构建单元,用于根据提取单元提取的所述生成器类型和生成器参数构建所述内部规则数据结构。
7.根据权利要求6所述的装置,其特征在于,所述日志生成引擎包括确定单元,用于根据所述日志调度规则确定下一时段待发送日志的日志类型、调度类型和日志数量;调用单元,用于根据确定单元确定的所述日志类型、调度类型和日志数量以及提取单元提取的所述生成器类型和生成器参数,调用相应的数据生成器生成相应的日志保存在生成缓冲区;转存单元,用于当所述下一时段的全部待发送日志生成完毕后,将所述全部待发送日志从所述生成缓冲区转存到发送缓冲区。
8.根据权利要求7所述的装置,其特征在于,所述日志发包调度引擎包括计算单元,用于根据确定单元确定的所述日志数量计算所述下一时段待发送日志的发送间隔t ;选择单元,用于从由所述确定单元确定的所述日志类型中随机选取一个日志类型;实时单元,用于当选择单元选取的所述日志类型对应的调度类型为实时类时,将位于所述发送缓冲区中的一条对应所述被选取的日志类型的日志进行发送,并等待t微秒后返回执行选择单元的功能;突发单元,用于当选择单元选取的所述日志类型对应的调度类型为突发类时,将位于所述发送缓冲区中的对应所述被选取的日志类型的全部日志进行每隔t微秒的连续发送, 发送结束后返回执行选择单元的功能。
9.根据权利要求7所述的装置,其特征在于,所述日志模拟生成装置还包括所述生成缓冲区及所述发送缓冲区。
10.一种服务器,其特征在于,包括权利要求5 9中任一项所述的装置。
全文摘要
本发明提供一种日志模拟生成方法、装置和服务器。其中方法包括获取日志规则定义文件;对所述日志规则定义文件中的数据字段生成规则和日志生成规则进行解析生成内部规则数据结构;通过日志生成引擎根据所述日志规则定义文件中的日志调度规则及所述内部规则数据结构生成日志;通过日志发包调度引擎发送所述日志。本发明所述方法通过使用日志规则定义文件灵活高效地实现了对各种格式系统日志的模拟,不需要引入任何额外的软件工具开发工作,测试环境的实现也非常便利。
文档编号H04L12/24GK102457401SQ20121000397
公开日2012年5月16日 申请日期2012年1月6日 优先权日2012年1月6日
发明者丁兆杰 申请人:北京星网锐捷网络技术有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1