日志服务器处理日志的方法和装置制造方法

文档序号:7797973阅读:146来源:国知局
日志服务器处理日志的方法和装置制造方法
【专利摘要】本发明公开了一种日志服务器处理日志的方法和装置。该日志服务器处理日志的方法包括:日志服务器获取来自日志源的日志报文;日志服务器判断日志源是否存在于预设日志源链表中;如果日志服务器判断出日志源存在于预设日志源链表中,则日志服务器接收日志报文;以及如果日志服务器判断出日志源不存在于预设日志源链表中,则日志服务器丢弃日志报文。通过本发明,解决了相关技术中日志服务器负荷高的问题。
【专利说明】日志服务器处理日志的方法和装置
【技术领域】
[0001]本发明涉及互联网领域,具体而言,涉及一种日志服务器处理日志的方法和装置。【背景技术】
[0002]随着网络环境日益复杂,需要采集的日志越来越多、数据量越来越大。发明人发现,在相关技术中,日志服务器只能被动接收日志,而不能主动选择关键的日志进行采集,这样,日志服务器由于需要全盘接收节点发送的日志,从而产生了过多的冗余数据,使得日志服务器的负荷很高,进而导致日志服务器长期不稳定,并且过多的冗余数据还使得数据采集、数据挖掘的代价很高。另外,日志服务器只是被动的接收日志,而不能对发送日志的节点进行实时监控,这样,当节点出现异常而无法进行日志发送时,日志服务器不能及时告警,从而导致日志采集出现长时间的断档,进而影响了数据的完整性。
[0003]针对相关技术中日志服务器负荷高的问题,目前尚未提出有效的解决方案。

【发明内容】

[0004]本发明的主要目的在于提供一种日志服务器处理日志的方法和装置,以解决相关技术中日志服务器负荷高的问题。
[0005]为了实现上述目的,根据本发明的一个方面,提供了一种日志服务器处理日志的方法。该方法包括:日志服务器获取来自日志源的日志报文;日志服务器判断日志源是否存在于预设日志源链表中;如果日志服务器判断出日志源存在于预设日志源链表中,则日志服务器接收日志报文;以及如果日志服务器判断出日志源不存在于预设日志源链表中,则日志服务器丢弃日志报文。
[0006]进一步地,在日志服务器获取来自日志源的日志报文之前,该方法还包括:日志服务器在启动时读取日志源的日志源信息;以及根据日志源信息实例化预设日志源链表。
[0007]进一步地,日志源信息存储在数据库中,在根据日志源信息实例化日志源链表之后,该方法还包括:检测是否出现新的日志源和/或是否存在需要修改状态的日志源;如果检测出出现新的日志源和/或存在需要修改状态的日志源,则更新日志源链表;以及将更新后的日志源链表中的日志源信息同步到数据库中。
[0008]进一步地,在日志服务器获取来自日志源的日志报文的同时,该方法还包括:判断日志服务器接收日志源发送的日志报文的时间是否超出阈值;以及如果判断出日志服务器接收日志源发送的日志报文的时间超出阈值,则进行告警。
[0009]进一步地,日志服务器获取来自日志源的日志报文包括:日志服务器在启动时监听系统的接口 ;以及当监听到接口接收到数据包时,日志服务器将数据包作为日志报文。
[0010]为了实现上述目的,根据本发明的另一方面,提供了一种日志服务器处理日志的装置。该装置包括:获取单元,用于使得日志服务器获取来自日志源的日志报文;第一判断单元,用于使得日志服务器判断日志源是否存在于预设日志源链表中;接收单元,用于使得如果日志服务器判断出日志源存在于预设日志源链表中,则日志服务器接收日志报文;以及丢弃单元,用于使得如果日志服务器判断出日志源不存在于预设日志源链表中,则日志服务器丢弃日志报文。
[0011]进一步地,该装置还包括:读取单元,用于使得在日志服务器获取来自日志源的日志报文之前,日志服务器在启动时读取日志源的日志源信息;以及实例化单元,用于使得根据日志源信息实例化预设日志源链表。
[0012]进一步地,日志源信息存储在数据库中,该装置还包括:检测单元,用于在根据日志源信息实例化日志源链表之后,检测是否出现新的日志源和/或是否存在需要修改状态的日志源;更新单元,用于如果检测出出现新的日志源和/或存在需要修改状态的日志源,则更新日志源链表;以及同步单元,用于将更新后的日志源链表中的日志源信息同步到数据库中。
[0013]进一步地,该装置还包括:第二判断单元,用于在日志服务器获取来自日志源的日志报文的同时,判断日志服务器接收日志源发送的日志报文的时间是否超出阈值;以及告警单元,用于如果判断出日志服务器接收日志源发送的日志报文的时间超出阈值,则进行
生敬口目。
[0014]进一步地,获取单元包括:监听模块,用于使得日志服务器在启动时监听系统的接口 ;以及获取模块,用于当监听到接口接收到数据包时,日志服务器将数据包作为日志报文。
[0015]通过本发明,采用日志服务器获取来自日志源的日志报文;日志服务器判断日志源是否存在于预设日志源链表中;如果日志服务器判断出日志源存在于预设日志源链表中,则日志服务器接收日志报文;以及如果日志服务器判断出日志源不存在于预设日志源链表中,则日志服务器丢弃日志报文,解决了相关技术中日志服务器负荷高的问题,进而达到了减轻日志服务器的负荷的效果。
【专利附图】

【附图说明】
[0016]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0017]图1是根据本发明实施例的日志服务器处理日志的装置的示意图;
[0018]图2是根据本发明可选实施例的日志服务器处理日志的装置的示意图;
[0019]图3是根据本发明实施例的日志服务器处理日志的方法的流程图;以及
[0020]图4是根据本发明可选实施例的日志服务器处理日志的方法的流程图。
【具体实施方式】
[0021]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0022]为了使本领域的技术人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护范围。[0023]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
[0024]根据本发明的实施例,提供了 一种日志服务器处理日志的装置,该日志服务器处理日志的装置用于选择性的接收日志报文以减轻日志服务器的负荷。
[0025]图1是根据本发明实施例的日志服务器处理日志的装置的示意图。
[0026]如图1所示,该装置包括:获取单元10、第一判断单元20、接收单元30和丢弃单元40。
[0027]获取单元10用于日志服务器获取来自日志源的日志报文。
[0028]日志源是指网络中发送日志报文的节点,其可以是一个或者多个。节点可以是网络中的能够发送日志报文的网络设备,例如,其可以是服务器、数据库、防火墙、网闸、路由器、交换机等。来自日志源的日志报文可以包括多种类型的日志报文,而不同类型的节点可以发送不同类型的日志报文,有些类型的节点可以发送多种类型的日志报文,例如,网闸就可以发送syslog日志报文和snmpTrap日志报文等。
[0029]具体地,日志服务器在启动时,可以通过进程监听系统的接口,当被监听的接口接收了日志源发送的数据包之后,日志服务器认为该数据包即为日志报文,此时,日志服务器可以通过进程,并按照该日志报文的格式对日志报文进行解析,从而解析出日志报文内容。
[0030]当接口包括多个时,日志服务器在启动时,可以通过多个进程监听系统的不同的接口,并且如果监听到的日志报文的类型不相同,则日志服务器可以通过多个进程,并按照该不同类型日志报文的格式对日志报文进行解析,从而解析出相应的日志报文内容。另外,日志服务器可以通过一个统一的接口来综合多个进程监听到的监控信息。
[0031 ] 第一判断单元20用于日志服务器判断日志源是否存在于预设日志源链表中。
[0032]预设日志源链表用于存储日志源信息。其中,存储在预设日志源链表中的日志源信息对应的日志源发送的日志报文可以是允许日志服务器接收的日志报文,不存储在预设日志源链表中的日志源信息对应的日志源发送的日志报文可以是不允许日志服务器接收的日志报文。这样,预设日志源链表相当于系统的开关,它可以开启日志服务器接收预设日志源链表中的日志源发送的日志报文的功能,并且可以关闭日志服务器接收预设日志源链表之外的日志源发送的日志报文的功能。
[0033]预设日志源链表可以动态更新,并且可以每次开机之后,可以重新加载预设日志源链表,加载的预设日志源链表中的日志源与上次关机时预设日志源链表中的日志源相一致。
[0034]接收单元30用于如果日志服务器判断出日志源存在于预设日志源链表中,则日志服务器接收日志报文。
[0035]丢弃单元40用于如果日志服务器判断出日志源不存在于预设日志源链表中,则日志服务器丢弃日志报文。
[0036]需要说明的是,日志服务器接收日志报文之后,可以通过事件处理引擎来处理日志报文的内容。可选地,本发明实施例的运行环境可以如下:[0037]I)其运行所需要的CPU可以是运行速度大于2Ghz的CPU ;2)其运行所需要的内存可以是容量大于2G的存储空间;3)其可以在Windows和Linux操作系统下运行;4)其运行所需要的硬盘可以是容量大于40G的硬盘;5)其运行所需要的数据库可以是MysqUSql、Server和Oracle等;6)其运行所使用的浏览器可以是IE浏览器、谷歌、360和火狐等。
[0038]通过本发明实施例,由预设日志源链表充当开关,存储在该链表中的日志源发送的日志报文可以被日志服务器接收,未存储在该链表中的日志源发送的日志报文不可以被日志服务器接收,这样,日志服务器可以摆脱被动接收日志源发送的日志报文的局面,实现可选择地接收需要接收的日志源发送的日志报文功能,从而消除了过多的冗余数据,使得日志服务器的负荷降低,并且由于没有过多的冗余数据,因此可以便于数据采集、数据挖掘。
[0039]图2是根据本发明可选实施例的日志服务器处理日志的装置的示意图。
[0040]如图2所示,该实施例可以作为图1所示实施例的优选实施方式,该实施例的日志服务器处理日志的装置除了包括第一实施例的获取单元10、第一判断单元20、接收单元30和丢弃单元40之外,还包括读取单元50和实例化单元60。
[0041]获取单元10、第一判断单元20、接收单元30和丢弃单元40的作用与第一实施例中的相同,在此不再赘述。
[0042]读取单元50用于日志服务器在启动时读取日志源的日志源信息。
[0043]具体地,日志服务器在启动时,可以读取数据库中的日志源的日志源信息。其中,该数据库中的日志源信息用于表示该日志源信息对应的日志源发送的日志报文可以被日志服务器接收,而数据库中未存储的日志源信息对应的日志源发送的日志报文不可以被日志服务器接收。
[0044]需要说明的是,数据库中的数据结构表可以存储日志源的下列日志源信息:日志源的标识ID (该标识ID可以具有主键),日志源的地址IP,日志源发送的最近一条日志报文的时间,日志源发送的日志报文的类型、数量,日志源发送的日志报文的状态以及该日志源是否启用为发送日志告警等。
[0045]实例化单元60用于根据日志源信息实例化预设日志源链表。
[0046]具体地,日志服务器可以在读取日志源的日志源信息之后,将日志源信息存储到预设日志源链表中的相应位置上。需要说明的是,预设日志源链表的相应位置上可以存储两部分内容,该两部分内容分别可以是日志源信息和指向下一日志源的指针。
[0047]通过本发明实施例,由于在日志服务器启动时,数据库中的日志源信息同日志服务器关机前的日志源信息,这样,可以保证日志服务器在重启时,允许接收的日志源与其关机前相同。
[0048]可选地,日志源信息存储在数据库中,在根据日志源信息实例化日志源链表之后,该装置还可以包括:检测单元、更新单元和同步单元。检测单元用于检测是否出现新的日志源和/或是否存在需要修改状态的日志源。更新单元用于如果检测出出现新的日志源和/或存在需要修改状态的日志源,则更新日志源链表。同步单元用于将更新后的日志源链表中的日志源信息同步到数据库中。
[0049]需要说明的是,新出现的日志源是指在日志服务器启动时未存储在数据库中的日志源,但是在进程中需要日志服务器接收该新出现的日志源所发送的日志报文,这时可以将该日志源添加到预设日志源链表中。优选地,在将该日志源添加到预设日志源链表中同时可以将其同步到数据库中,其中,日志服务器可以每隔预设时间段获取一次数据库中的日志源信息,并且根据获取到的日志源信息、新出现的日志源的日志源信息和/或需要修改状态的日志源的日志源信息等更新数据库。具体地,可以将从数据库中获取到的日志源信息的集合和新出现的日志源的日志源信息和/或需要修改状态的日志源的日志源信息的集合进行合并,得到并集,并将该并集中的日志源信息更新到数据库中。
[0050]这样,在日志服务器再次启动时,可将该新出现的日志源实例化到预设日志源链表中,从而可以达到日志服务器在重启时保持与其上次关机时接收同样的日志源发送的日志报文的效果。同理,如果不再需要接收到预设日志源链表中某个或者某几个日志源发送的日志报文,则可以将已经存储在预设日志源链表的上述某个或者某几个日志源从预设日志源链表中删除,同时,为了使得日志服务器在重启时保持与其上次关机之前接收同样的日志源发送的日志报文,可以在将上述某个或者某几个日志源从预设日志源链表中删除的同时,将其从数据库中删除。这样,可以根据日志服务器需要接收的日志报文,随时更新预设日志源链表中的日志源,并且将上述更新内容同步到数据库中。
[0051 ] 可选地,在日志服务器获取来自日志源的日志报文的同时,该装置还可以包括第二判断单元和告警单元。第二判断单元用于判断日志服务器接收日志源发送的日志报文的时间是否超出阈值,需要说明的是,日志服务器接收日志源发送的日志报文的时间是否超出阈值是指日志服务器接收预设日志源链表中的某个日志源发送的当前日志报文的时间与该日志服务器接收该某个日志源发送的上个日志报文的时间差是否超出阈值;告警单元用于如果判断出日志服务器接收日志源发送的日志报文的时间超出阈值,则进行告警,否则可以不进行任何处理。
[0052]具体地,在判断日志服务器接收日志源发送的日志报文的时间是否超出阈值之前,可以先判断日志源是否已经启用告警,如果判断出日志源已经启用告警,则执行第二判断单元的功能。
[0053]需要说明的是,阈值可以是预先设定的大于零并且数字长度不超过10位的整数。例如,该阈值可以是I天,日志服务器可以判断其所接收各个日志源发送的当前日志报文的时间与相应的各个日志源发送的上个日志报文的时间差是否超出I天,如果判断出日志服务器接收某个或者某几个日志源发送的日志报文的时间超出I天,则进行告警,从而及时通知用户该某个或者某几个日志源为故障状态。
[0054]可选地,获取单元10可以包括:监听模块和获取模块。监听模块用于日志服务器在启动时监听系统的接口,其中,接口可以包括514接口、162接口和2055接口。获取模块用于当监听到接口接收到数据包时,日志服务器可以将数据包作为日志报文,其中,日志报文包括514接口接收的syslog日志报文、162接口接收的snmpTrap日志报文和2055接口接收的netflow日志报文。
[0055]需要说明的是,514接口允许接收的日志源可以包括数据库、服务器、防火墙和网闸等,162接口允许接收的日志源可以包括网闸等,2055接口允许接收的日志源可以包括路由器和交换机等。
[0056]根据本发明的实施例,提供了 一种日志服务器处理日志的方法,该日志服务器处理日志的方法用于选择性的接收日志报文以减轻日志服务器的负荷。该日志服务器处理日志的方法可以运行在计算机处理设备上。需要说明的是,本发明实施例所提供的日志服务器处理日志的方法可以通过本发明实施例的日志服务器处理日志的装置来执行,本发明实施例的日志服务器处理日志的装置也可以用于执行本发明实施例的日志服务器处理日志的方法。
[0057]图3是根据本发明实施例的日志服务器处理日志的方法的流程图。
[0058]如图3所示,该方法包括如下的步骤S302至步骤S308:
[0059]步骤S302,日志服务器获取来自日志源的日志报文。
[0060]日志源是指网络中发送日志报文的节点,其可以是一个或者多个。节点可以是网络中的能够发送日志报文的网络设备,例如,其可以是服务器、数据库、防火墙、网闸、路由器、交换机等。来自日志源的日志报文可以包括多种类型的日志报文,而不同类型的节点可以发送不同类型的日志报文,有些类型的节点可以发送多种类型的日志报文,例如,网闸就可以发送syslog日志报文和snmpTrap日志报文等。
[0061]具体地,日志服务器在启动时,可以通过进程监听系统的接口,当被监听的接口接收了日志源发送的数据包之后,日志服务器认为该数据包即为日志报文,此时,日志服务器可以通过进程,并按照该日志报文的格式对日志报文进行解析,从而解析出日志报文内容。
[0062]当接口包括多个时,日志服务器在启动时,可以通过多个进程监听系统的不同的接口,并且如果监听到的日志报文的类型不相同,则日志服务器可以通过多个进程,并按照该不同类型日志报文的格式对日志报文进行解析,从而解析出相应的日志报文内容。另外,日志服务器可以通过一个统一的接口来综合多个进程监听到的监控信息。
[0063]步骤S304,日志服务器判断日志源是否存在于预设日志源链表中。
[0064]预设日志源链表用于存储日志源信息。其中,存储在预设日志源链表中的日志源信息对应的日志源发送的日志报文可以是允许日志服务器接收的日志报文,不存储在预设日志源链表中的日志源信息对应的日志源发送的日志报文可以是不允许日志服务器接收的日志报文。这样,预设日志源链表相当于系统的开关,它可以开启日志服务器接收预设日志源链表中的日志源发送的日志报文的功能,并且可以关闭日志服务器接收预设日志源链表之外的日志源发送的日志报文的功能。
[0065]预设日志源链表可以动态更新,并且可以每次开机之后,可以重新加载预设日志源链表,加载的预设日志源链表中的日志源与上次关机时预设日志源链表中的日志源相一致。
[0066]步骤S306,如果日志服务器判断出日志源存在于预设日志源链表中,则日志服务器接收日志报文。
[0067]步骤S308,如果日志服务器判断出日志源不存在于预设日志源链表中,则日志服务器丢弃日志报文。
[0068]需要说明的是,日志服务器接收日志报文之后,可以通过事件处理引擎来处理日志报文的内容。可选地,本发明实施例的运行环境可以如下:
[0069]I)其运行所需要的CPU可以是运行速度大于2Ghz的CPU ;2)其运行所需要的内存可以是容量大于2G的存储空间;3)其可以在Windows和Linux操作系统下运行;4)其运行所需要的硬盘可以是容量大于40G的硬盘;5)其运行所需要的数据库可以是MysqUSql、Server和Oracle等;6)其运行所使用的浏览器可以是IE浏览器、谷歌、360和火狐等。[0070]通过本发明实施例,由预设日志源链表充当开关,存储在该链表中的日志源发送的日志报文可以被日志服务器接收,未存储在该链表中的日志源发送的日志报文不可以被日志服务器接收,这样,日志服务器可以摆脱被动接收日志源发送的日志报文的局面,实现可选择地接收需要接收的日志源发送的日志报文功能,从而消除了过多的冗余数据,使得日志服务器的负荷降低,并且由于没有过多的冗余数据,因此可以便于数据采集、数据挖掘。
[0071]图4是根据本发明可选实施例的日志服务器处理日志的方法的流程图。
[0072]如图4所示,该日志服务器处理日志的方法包括如下的步骤S402至步骤S412,该实施例可以作为图3所示实施例的优选实施方式。
[0073]步骤S402,日志服务器在启动时读取日志源的日志源信息。
[0074]具体地,日志服务器在启动时,可以读取数据库中的日志源的日志源信息。其中,该数据库中的日志源信息用于表示该日志源信息对应的日志源发送的日志报文可以被日志服务器接收,而数据库中未存储的日志源信息对应的日志源发送的日志报文不可以被日志服务器接收。
[0075]需要说明的是,数据库中的数据结构表可以存储日志源的下列日志源信息:日志源的标识ID (该标识ID可以具有主键),日志源的地址IP,日志源发送的最近一条日志报文的时间,日志源发送的日志报文的类型、数量,日志源发送的日志报文的状态以及该日志源是否启用为发送日志告警等。
[0076]步骤S404,根据日志源信息实例化预设日志源链表。
[0077]具体地,日志服务器可以在读取日志源的日志源信息之后,将日志源信息存储到预设日志源链表中的相应位置上。需要说明的是,预设日志源链表的相应位置上可以存储两部分内容,该两部分内容分别可以是日志源信息和指向下一日志源的指针。
[0078]步骤S406至步骤S412,分别同图3所示实施例的步骤S302至步骤S308,在此不再赘述。
[0079]通过本发明实施例,由于在日志服务器启动时,数据库中的日志源信息同日志服务器关机前的日志源信息,这样,可以保证日志服务器在重启时,允许接收的日志源与其关机前相同。
[0080]可选地,日志源信息存储在数据库中,在根据日志源信息实例化日志源链表之后,该方法还可以包括:首先,检测是否出现新的日志源和/或是否存在需要修改状态的日志源。其次,如果检测出出现新的日志源和/或存在需要修改状态的日志源,则更新日志源链表。然后,将更新后的日志源链表中的日志源信息同步到数据库中。
[0081]需要说明的是,新出现的日志源是指在日志服务器启动时未存储在数据库中的日志源,但是在进程中需要日志服务器接收该新出现的日志源所发送的日志报文,这时可以将该日志源添加到预设日志源链表中。优选地,在将该日志源添加到预设日志源链表中同时可以将其同步到数据库中,其中,日志服务器可以每隔预设时间段获取一次数据库中的日志源信息,并且根据获取到的日志源信息、新出现的日志源的日志源信息和/或需要修改状态的日志源的日志源信息等更新数据库。具体地,可以将从数据库中获取到的日志源信息的集合和新出现的日志源的日志源信息和/或需要修改状态的日志源的日志源信息的集合进行合并,得到并集,并将该并集中的日志源信息更新到数据库中。[0082]这样,在日志服务器再次启动时,可将该新出现的日志源实例化到预设日志源链表中,从而可以达到日志服务器在重启时保持与其上次关机时接收同样的日志源发送的日志报文的效果。同理,如果不再需要接收到预设日志源链表中某个或者某几个日志源发送的日志报文,则可以将已经存储在预设日志源链表的上述某个或者某几个日志源从预设日志源链表中删除,同时,为了使得日志服务器在重启时保持与其上次关机之前接收同样的日志源发送的日志报文,可以在将上述某个或者某几个日志源从预设日志源链表中删除的同时,将其从数据库中删除。这样,可以根据日志服务器需要接收的日志报文,随时更新预设日志源链表中的日志源,并且将上述更新内容同步到数据库中。
[0083]可选地,在日志服务器获取来自日志源的日志报文的同时,该方法还可以包括;首先,判断日志服务器接收日志源发送的日志报文的时间是否超出阈值,需要说明的是,日志服务器接收日志源发送的日志报文的时间是否超出阈值是指日志服务器接收预设日志源链表中的某个日志源发送的当前日志报文的时间与该日志服务器接收该某个日志源发送的上个日志报文的时间差是否超出阈值;然后,如果判断出日志服务器接收日志源发送的日志报文的时间超出阈值,则进行告警,否则可以不进行任何处理。
[0084]具体地,在判断日志服务器接收日志源发送的日志报文的时间是否超出阈值之前,可以先判断日志源是否已经启用告警,如果判断出日志源已经启用告警,则执行判断日志服务器接收日志源发送的日志报文的时间是否超出阈值的步骤。
[0085]需要说明的是,阈值可以是预先设定的大于零并且数字长度不超过10位的整数。例如,该阈值可以是I天,日志服务器可以判断其所接收各个日志源发送的当前日志报文的时间与相应的各个日志源发送的上个日志报文的时间差是否超出I天,如果判断出日志服务器接收某个或者某几个日志源发送的日志报文的时间超出I天,则进行告警,从而及时通知用户该某个或者某几个日志源为故障状态。
[0086]可选地,日志服务器获取来自日志源的日志报文可以包括以下步骤:首先,日志服务器在启动时监听系统的接口,其中,接口可以包括514接口、162接口和2055接口。然后,当监听到接口接收到数据包时,日志服务器可以将数据包作为日志报文,其中,日志报文包括514接口接收的syslog日志报文、162接口接收的snmpTrap日志报文和2055接口接收的netflow日志报文。
[0087]需要说明的是,514接口允许接收的日志源可以包括数据库、服务器、防火墙和网闸等,162接口允许接收的日志源可以包括网闸等,2055接口允许接收的日志源可以包括路由器和交换机等。
[0088]从以上的描述中,可以看出,本发明实现了如下技术效果:日志服务器不再被动接收日志报文,而是可以选择性的接收某些特定日志源发送的日志报文,从而可以减少系统中的冗余数据,减轻日志服务器的负荷。另外,日志服务器在监听接口的日志报文时可以监控允许接收的日志源的状态是否出现异常,并且可以在日志源的状态出现异常时,及时向用户告警,从而可以减少因为日志源异常而遗漏日志报文的损失。
[0089]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0090]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0091]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种日志服务器处理日志的方法,其特征在于,包括: 日志服务器获取来自日志源的日志报文; 所述日志服务器判断所述日志源是否存在于预设日志源链表中; 如果所述日志服务器判断出所述日志源存在于所述预设日志源链表中,则所述日志服务器接收所述日志报文;以及 如果所述日志服务器判断出所述日志源不存在于所述预设日志源链表中,则所述日志服务器丢弃所述日志报文。
2.根据权利要求1所述的方法,其特征在于,在日志服务器获取来自日志源的日志报文之前,所述方法还包括: 所述日志服务器在启动时读取所述日志源的日志源信息;以及 根据所述日志源信息实例化所述预设日志源链表。
3.根据权利要求2所述的方法,其特征在于,所述日志源信息存储在数据库中,在根据所述日志源信息实例化所述日志源链表之后,所述方法还包括: 检测是否出现新的所述日志源和/或是否存在需要修改状态的所述日志源; 如果检测出出现新的所述日志源和/或存在需要修改状态的所述日志源,则更新所述日志源链表;以及 将更新后的所述日志源链表中的日志源信息同步到所述数据库中。
4.根据权利要求3所述的方法,其特征在于,在日志服务器获取来自日志源的日志报文的同时,所述方法还包括: 判断所述日志服务器接收所述日志源发送的所述日志报文的时间是否超出阈值;以及如果判断出所述日志服务器接收所述日志源发送的所述日志报文的时间超出阈值,则进行告警。
5.根据权利要求1所述的方法,其特征在于,日志服务器获取来自日志源的日志报文包括: 所述日志服务器在启动时监听系统的接口 ;以及 当监听到所述接口接收到数据包时,所述日志服务器将所述数据包作为所述日志报文。
6.一种日志服务器处理日志的装置,其特征在于,包括: 获取单元,用于使得日志服务器获取来自日志源的日志报文; 第一判断单元,用于使得所述日志服务器判断所述日志源是否存在于预设日志源链表中; 接收单元,用于使得如果所述日志服务器判断出所述日志源存在于所述预设日志源链表中,则所述日志服务器接收所述日志报文;以及 丢弃单元,用于使得如果所述日志服务器判断出所述日志源不存在于所述预设日志源链表中,则所述日志服务器丢弃所述日志报文。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括: 读取单元,用于使得在日志服务器获取来自日志源的日志报文之前,所述日志服务器在启动时读取 所述日志源的日志源信息;以及 实例化单元,用于使得根据所述日志源信息实例化所述预设日志源链表。
8.根据权利要求7所述的装置,其特征在于,所述日志源信息存储在数据库中,所述装置还包括: 检测单元,用于在根据所述日志源信息实例化所述日志源链表之后,检测是否出现新的所述日志源和/或是否存在需要修改状态的所述日志源; 更新单元,用于如果检测出出现新的所述日志源和/或存在需要修改状态的所述日志源,则更新所述日志源链表;以及 同步单元,用于将更新后的所述日志源链表中的日志源信息同步到所述数据库中。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括: 第二判断单元,用于在日志服务器获取来自日志源的日志报文的同时,判断所述日志服务器接收所述日志源发送的所述日志报文的时间是否超出阈值;以及 告警单元,用于如果判断出所述日志服务器接收所述日志源发送的所述日志报文的时间超出阈值,则进行告警。
10.根据权利要求6所述的装置,其特征在于,所述获取单元包括: 监听模块,用于使得所述日志服务器在启动时监听系统的接口 ;以及 获取模块,用于当监听到 所述接口接收到数据包时,所述日志服务器将所述数据包作为所述日志报文。
【文档编号】H04L12/24GK103795577SQ201410075144
【公开日】2014年5月14日 申请日期:2014年3月3日 优先权日:2014年3月3日
【发明者】李悦 申请人:网神信息技术(北京)股份有限公司, 网神科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1