一种日志监控方法、装置及系统与流程

文档序号:11436394阅读:247来源:国知局
一种日志监控方法、装置及系统与流程

本发明涉及计算机技术领域,特别涉及一种日志监控方法、装置及系统。



背景技术:

随着云计算技术的不断发展与进步,为了提供足够的计算资源和存储资源,通过互联网将多个异构设备连接起来,形成数据中心。比如,将多个服务器、个人计算机通过网络相连后,形成具有更强计算能力和更大存储空间的数据中心。

伴随着数据中心的建立,出现了大量的服务器运维工作。设备的日志信息作为设备健康状况的一个重要指标,在设备健康监控中占用极为重要的地位。面对多样的设备和复杂的网络环境,对异构设备日志进行监控显得尤为必要。

目前,在对设备的日志进行监控时,在设备上安装日志监控软件,通过日志监控软件对设备的日志进行监控。

针对现有的日志监控方法,在待监控设备上安装日志监控软件,通过日志监控软件对待监控设备的日志进行监控,而数据中心通常包括有多个设备,现有日志监控方法需要对数据中心所包括的各个设备分别进行日志监控,无法实现对数据中心中多个设备的日志进行统一监控。



技术实现要素:

本发明实施例提供了一种日志监控方法、装置及系统,能够对多个设备的日志进行统一监控。

第一方面,本发明实施例提供了一种日志监控方法,在至少一个待监控设备中部署日志采集模块,并创建至少一个告警规则,其中,所述日志采集模块用于采集所在待监控设备产生的日志,还包括:

获取各个所述日志采集模块采集到的日志;

将所述日志存储到预先创建的日志数据库中;

针对每一个所述告警规则,监控所述日志数据库中的日志是否触发所述告警规则;

如果是,向所述告警规则对应的告警接收端发送告警通知。

可选地,

所述监控所述日志数据库中的日志是否触发所述告警规则,包括:

根据所述告警规则定义的日志监控周期,获取在同一所述日志监控周期内存储到所述日志数据库中的被监控日志;

根据所述告警规则定义的告警关键字,从所述被监控日志中匹配包括所述告警关键字的告警日志;

判断所述告警日志是否触发所述告警规则定义的触发条件,如果是,确定所述日志数据库中的日志触发所述告警规则,否则确定所述日志数据库中的日志没有触发所述告警规则。

可选地,

在所述向所述告警规则对应的告警接收端发送告警通知之后,进一步包括:

将所述告警通知记录到所述日志数据库中。

可选地,该方法进一步包括:

根据外部输入的告警查询请求,以告警通知类型和告警通知时间中的任意一个或全部为统计指标对所述日志数据库中的告警通知进行统计,获得统计结果;

将所述统计结果输出。

可选地,

所述告警规则包括:系统错误告警规则、应用错误告警规则、网络流量告警规则、登录用户数量告警规则、在线用户数量告警规则及资源占用告警规则中的任意一个或多个。

可选地,

所述待监控设备所产生的日志包括:系统日志和应用日志中的任意一个或全部。

第二方面,本发明实施例还提供了一种日志监控装置,包括:预设单元、日志获取单元、监控单元和告警单元;

所述预设单元,用于创建至少一个告警规则;

所述日志获取单元,用于获取各个所述日志采集模块采集到的日志,并将所述日志存储到预先创建的日志数据库中,其中,所述日志采集模块被部署在待监控设备中,用于采集所在待监控设备所产生的日志;

所述监控单元,用于针对所述预设单元创建的每一个告警规则,监控由所述日志获取单元存储到所述日志数据库中的日志是否触发所述告警规则;

所述告警单元,用于根据所述监控单元的监控结果,如果所述日志数据库中的日志触发所述告警规则,向所述告警规则对应的告警接收端发送告警通知。

可选地,

所述监控单元包括:日志筛选子单元、日志匹配子单元和判断子单元;

所述日志筛选子单元,用于根据所述告警规则定义的日志监控周期,获取在同一所述日志监控周期内存储到所述日志数据库中的被监控日志;

所述日志匹配子单元,用于根据所述告警规则定义的告警关键字,从所述日志筛选子单元获取到的所述被监控日志中匹配包括所述告警关键字的告警日志;

所述判断子单元,用于判断所述日志匹配子单元匹配出的所述告警日志是否触发所述告警规则定义的触发条件,如果是,确定所述日志数据库中的日志触发所述告警规则,否则确定所述日志数据库中的日志没有触发所述告警规则。

可选地,

所述告警单元,进一步用于将所述告警通知记录到所述日志数据库中。

可选地,

该装置进一步包括:告警统计单元;

所述告警统计单元,用于根据外部输入的告警查询请求,以告警通知类型和告警通知时间中的任意一个或全部为统计指标,对所述告警单元记录到所述日志数据库中的告警通知进行统计,获得统计结果,并将所述统计结果输出。

第三方面,本发明实施例还提供了一种日志监控系统,包括:至少一个待监控设备、至少一个日志采集模块、至少一个告警接收端和上述实施例提供的任意一种日志监控装置;

每一个所述待监控设备中部署有一个所述日志采集模块;

每一个所述日志采集模块,用于采集所在的所述待监控设备产生的日志,并将采集到的日志发送给所述日志监控装置;

所述至少一个告警接收端,用于接收所述日志监控装置方法的告警通知。

本发明实施例提供的日志监控方法、装置及系统,在各个待监控设备中部署日志采集模块,以通过日志采集模块采集待监控设备产生的日志,从各个日志采集模块获取采集到的日志,并将获取到的日志存储到预先创建的日志数据库中。针对预先创建的每一个告警规则,监控日志数据库中的日志是否触发该告警规则,如果是,向对应于该告警规则的告警接收端发送告警通知。由此可见,将各个待监控设备产生的日志都存储到同一个日志数据库中,通过预设的告警规则对日志数据库中的日志进行监控,当告警规则被触发后向相应的告警接收端发送告警通知,从而实现了对多个设备的日志进行统一监控。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种日志监控方法的流程图;

图2是本发明一个实施例提供的一种日志监控装置的示意图;

图3是本发明一个实施例提供的另一种日志监控装置的示意图;

图4是本发明一个实施例提供的又一种日志监控装置的示意图;

图5是本发明一个实施例提供的一种日志监控系统的示意图;

图6是本发明一个实施例提供的另一种日志监控方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种日志监控方法,该方法可以包括以下步骤:

步骤101:在至少一个待监控设备中部署日志采集模块,并将创建至少一个告警规则,其中,所述日志采集模块用于采集所在待监控设备产生的日志;

步骤102:获取各个所述日志采集模块采集到的日志;

步骤103:将所述日志存储到预先创建的日志数据库中;

步骤104:针对每一个所述告警规则,监控所述日志数据库中的日志是否触发所述告警规则,如果是,执行步骤105,否则结束当前流程;

步骤105:向所述告警规则对应的告警接收端发送告警通知。

本发明实施例提供了一种日志监控方法,在各个待监控设备中部署日志采集模块,以通过日志采集模块采集待监控设备产生的日志,从各个日志采集模块获取采集到的日志,并将获取到的日志存储到预先创建的日志数据库中。针对预先创建的每一个告警规则,监控日志数据库中的日志是否触发该告警规则,如果是,向对应于该告警规则的告警接收端发送告警通知。由此可见,将各个待监控设备产生的日志都存储到同一个日志数据库中,通过预设的告警规则对日志数据库中的日志进行监控,当告警规则被触发后向相应的告警接收端发送告警通知,从而实现了对多个设备的日志进行统一监控。

可选地,步骤104中监控日志数据库中的日志是否触发告警规则时,针对每一个告警规则,根据该告警规则定义的日志监控周期,获取在同一个日志监控周期内存储到日志数据库中的日志作为被监控日志;根据该告警规则定义的告警关键字,从各个被监控日志中匹配包括所述告警关键字的告警日志;判断各个告警日志是否触发该告警规则定义的触发条件,如果是,则确定该告警规则被触发,否则确定该告警规则没有被触发。

具体地,告警规定定义了日志监控周期、告警关键字和触发条件。

针对日志监控周期,不同的告警规则所定义的日志监控周期可以不同,比如告警规则1定义的日志监控周期为10min,告警规则2定义的日志监控周期为30min。日志监控周期决定了所监控日志的范围,针对于每一个告警规则,根据该告警规则所定义日志监控周期,在一个日志监控周期结束时获取在该日志监控周期内存储到日志数据库中的日志作为被监控日志。比如针对告警规则1,每经过一个日志监控周期10min,获取在这10min时间内存储到日志数据库中的所有日志,作为告警规则1在这一个日志监控周期对应的被监控日志。

不同告警规则可以对应不同的日志监控周期,以满足用户对不同类型日志进行监控的频率,在提升了该日志监控方法的适用性的同时,可以合理配置计算资源,避免将需要以频率进行监控的日志通过高频率来进行监控,造成计算资源浪费的情况发生。

针对告警关键字,每一个告警规则都定义至少一个告警关键字,不同的告警规则所定义的告警关键字可以相同也可以不用。告警关键字决定了所要监控日志的类型,比如,当需要对记录系统或应用错误的日志进行监控时,可以将告警关键字定义为“error”,当需要对网络流量情况的日志进行监控是,可以将告警关键字定义为“网络流量”。针对于一个告警规则的一个日志监控周期,在获取到该日志监控周期对应的被监控日志后,从各个被监控日志中匹配包括该告警规则所定义告警关键字的日志作为告警日志。比如,在告警规则1的一个日志监控周期中共获取到100条被监控日志,100条被监控日志中包括告警关键字“error”的日志共有10条,通过关键字匹配获取到这10条包括告警关键字“error”的日志作为告警日志。

每一个告警规则定义对应的告警关键字,通过告警关键字对用户关心的日志进行监控,而各个待监控设备的各种类型的日志均存储到日志数据库中,通过告警关键字对新存储到日志数据库中的日志进行匹配,获取到由各个设备产生的用户关心的日志,实现了对各个待监控设备的日志进行统一监控。

针对触发条件,触发条件可以为告警日志的条数阈值,针对一个告警规则,在同一个日志监控周期内,如果告警日志的条数大于或小于触发条件对应的条数阈值,则会判定该告警规则被触发。比如,告警规则1定义的触发条件为告警日志条数大于5,在告警规则1的一个日志监控周期10min内,如果在该日志监控周期内存储到日志数据库中包括告警关键字“error”的日志条数大于5,则告警规则1被触发。

由于同时对多个待监控设备的日志进行监控,以告警日志条数作为触发条件,从整体上对各个待监控设备所产生日志进行监控,实现对多个设备的日志进行统一监控。

可选地,在通过步骤105向告警规则对应的告警接收端发送告警通知后,将告警通知记录到日志数据库中。

针对于每一个告警规则,在该告警规则被触发后形成对应的告警通知,一方面将所形成的告警通知发送给与该告警规则相对应的告警接收端,另一方面将所形成的告警通知存储到日志数据库中。

在将告警通知发送给告警规则对应的告警接收端时,可以根据告警规则定义的联系方式,通过邮件或短信的方式将告警通知发送给相应的负责人。比如服务器维护人员1负责各个服务器的系统错误维护,在用于监控系统错误的告警规则被触发后,将对应的告警通知发送到服务器维护人员1的邮箱或手机。

将告警通知发送给告警接收端,使相关的负责人员及时了解待监控设备的运行情况,以采取相应的措施对待监控设备出现的异常情况进行处理,便于对待监控设备进行管理和维护。同时,将告警通知记录到日志数据库中,方便后期对告警情况进行查阅。

可选地,在接收到外部输入的告警查询请求后,可以将告警通知类型和告警通知时间中的任意一个或全部作为统计指标对日志数据库中的告警通知进行统计,并将统计结果输出。

具体地,由于每次发送告警通知后,均会将所发送告警通知记录到日志数据库中,当接收到用户输入的告警查询请求后,根据告警查询请求,按照告警通知的类型或者告警通知的形成时间,对符合条件的告警通知进行统计,将统计结果以图表的形式反馈给用户。例如,用户需要查阅2017年各个月份发生告警的情况,则以告警通知的形成时间为统计指标,对2017年各个月份所形成的告警通知的数量进行统计,将统计结果形成图表后发送给用户。

根据告警查询请求,对日志数据库中记录的告警通知进行统计,并将统计结果发送给用户,便于用户根据告警通知的数量、分布情况,对待监控设备进行有针对性的维护和升级。

可选地,告警规则包括系统错误告警规则、应用错误告警规则、网络流量告警规则、登录用户数量告警规则、在线用户数量告警规则及资源占用告警规则中的任意一个或多个。其中,系统错误告警规则用于监控各个待监控设备在一个日志监控周期内发生系统错误的次数是否超过对应的阈值,应用错误告警规则用于监控各个待监控设备上的应用程序在一个日志监控周期内发生错误的次数是否超过对应的阈值,网络流量告警规则用于监控各个待监控设备在一个日志监控周期内发生网络流量超限的次数是否超过对应的阈值,登录用户数量告警规则用于监控各个待监控设备在一个日志监控周期内发生登录用户数量超限的次数是否超过对应的阈值,在线用户数量告警规则用于监控各个待监控设备上一个日志监控周期内发生在线用户数量超限的次数是否超过对应的阈值,资源占用告警规则用于监控各个待监控设备上一个日志周期内发生资源占用超限的次数是否超过对应的阈值。

根据用户的需求,告警规则可以包括各种类型,以通过日志对待监控设备的运行状态进行监控,一方面能够满足不同用户的需求,另一方面能够提高对待监控设备进行监控的有效性。

可选地,待监控设备所产生的日志可以包括系统日志、应用日志或者系统日志和应用日志。

日志采集模块可以从待监控设备上采集待监控设备的系统日志和待监控设备上应用程序的应用日志,因此本发明实施例提供的日志监控方法不但可以对系统日志进行监控,还可以对应用日志进行监控,提高了该日志监控方法的应用范围。

如图2所示,本发明一个实施例提供了一种日志监控装置,包括:预设单元201、日志获取单元202、监控单元203和告警单元204;

所述预设单元201,用于创建至少一个告警规则;

所述日志获取单元202,用于获取各个所述日志采集模块采集到的日志,并将所述日志存储到预先创建的日志数据库中,其中,所述日志采集模块被部署在待监控设备中,用于采集所在待监控设备所产生的日志;

所述监控单元203,用于针对所述预设单元201创建的每一个告警规则,监控由所述日志获取单元202存储到所述日志数据库中的日志是否触发所述告警规则;

所述告警单元204,用于根据所述监控单元203的监控结果,如果所述日志数据库中的日志触发所述告警规则,向所述告警规则对应的告警接收端发送告警通知。

可选地,如图3所示,监控单元103包括日志筛选子单元1031、日志匹配子单元1032和判断子单元1033;

所述日志筛选子单元1031,用于根据所述告警规则定义的日志监控周期,获取在同一所述日志监控周期内存储到所述日志数据库中的被监控日志;

所述日志匹配子单元1032,用于根据所述告警规则定义的告警关键字,从所述日志筛选子单元1031获取到的所述被监控日志中匹配包括所述告警关键字的告警日志;

所述判断子单元1033,用于判断所述日志匹配子单元1032匹配出的所述告警日志是否触发所述告警规则定义的触发条件,如果是,确定所述日志数据库中的日志触发所述告警规则,否则确定所述日志数据库中的日志没有触发所述告警规则。

可选地,如图2所示,告警单元104还可以用于将所述告警通知记录到所述日志数据库中。

可选地,在基于图2所示日志监控装置的基础上,如图4所示,该日志监控装置还可以包括告警统计单元405;

所述告警统计单元405,用于根据外部输入的告警查询请求,以告警通知类型和告警通知时间中的任意一个或全部为统计指标,对所述告警单元104记录到所述日志数据库中的告警通知进行统计,获得统计结果,并将所述统计结果输出。

需要说明的是,上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

如图5所示,本发明一个实施例提供了一种日志监控系统,包括:至少一个待监控设备501、至少一个日志采集模块502、至少一个告警接收端503和上述实施例提供的任意一种日志监控装置504;

每一个所述待监控设备501中部署有一个所述日志采集模块502;

每一个所述日志采集模块502,用于采集所在的所述待监控设备501产生的日志,并将采集到的日志发送给所述日志监控装置504;

所述至少一个告警接收端503,用于接收所述日志监控装置504发送的告警通知。

本发明实施例提供了一种日志监控系统,每一个待监控设备中都部署有一个日志采集模块,每个日志采集模块采集其所在待监控设备产生的日志后发送给日志监控装置,日志监控装置根据告警规则对各个日志进行监控,当告警规则被触发后,向告警规则对应的至少一个告警接收端发送告警通知。各个日志采集模块采集到的日志都汇总给日志监控装置,由日志监控装置通过告警规则对各个日志进行监控,从而实现了对多个设备的日志进行统一监控。

下面结合上述实施例提供的日志监控装置和日志监控系统,对本发明实施例提供的日志监控方法作进一步详细说明,如图6所示,该方法可以包括以下步骤:

步骤601:创建至少一个告警规则。

在本发明一个实施例中,根据对待监控设备进行监控的需求,创建至少一个告警规则,每一个告警规则定义了日志监控周期、告警关键字和触发条件。

例如,创建告警规则1,其中,告警规则1定义的日志监控周期为10min,定义的告警关键字为“error”,定义的触发条件为告警日志条数大于5。

步骤602:实时接收各个日志采集模块发送的日志。

在本发明一个实施例中,在每一个待监控设备中部署一个日志采集模块,日志采集模块能够采集其所在待监控设备产生的系统日志和应用日志,日志采集模块在采集到日志后,会实时将采集到的日志发出,进而实时接收各个日志采集模块发送的日志。

例如,有两个待监控设备,分别为待监控设备1和待监控设备2,待监控设备1中的日志采集模块1采集待监控设备1所产生的日志,待监控设备2中的日志采集模块2采集待监控设备2所产生的日志。实时接收日志采集模块1和日志采集模块2采集到的日志。

步骤603:将接收到的日志存储到日志数据库中。

在本发明一个实施例中,预先创建一个日志数据库,在接收到各个日志采集模块发送的日之后,将所接收到的日志存储到该日志数据库中。

例如,将待监控设备1和待监控设备2所产生的日志均存储到预先创建的日志数据库中。

步骤604:针对每一个告警规则,判断日志数据库中的日志是否触发该告警规则。

在本发明一个实施例中,针对每一个告警规则,根据该告警规则定义的日志监控中周期,获取在当前日志监控周期存储到日志数据库中的所有日志作为被监控日志,从被监控日志匹配包括告警关键字的日志作为告警日志,判断告警日志的数量是否符合触发条件,如果是,确定该告警规则被触发,否则确定该告警规则没有被触发。

例如,每经过10min,从日志数据库中获取当前时间之前10min内存储到日志数据库中的100条日志,将获取到的100条日志作为被监控日志;从100条被监控日志中匹配出包括告警关键字“error”的10条日志,将匹配出的10条日志作为告警日志;由于告警日志条数10大于告警规则1定义的触发条件5条,确定告警规则1被触发。

步骤605:当告警规则被触发后,向该告警规则对应的告警接收端发送告警通知。

在本发明一个实施例中,每一个告警规则还定义相关联系人的联系方式,在该告警规则被触发后,通过定义的联系方式向相关联系人发送告警通知,通知告警的具体内容。向相关联系人发送告警通知时,可以通过邮件或短信的方式进行。

例如,在告警规则1被触发后,通过邮件向告警规则1对应的联系人1发送告警通知。

步骤606:将告警通过记录到日志数据库中。

在本发明一个实施例中,当一个告警规则被触发,向相对应的告警接收端发送告警通知后,将告警通知存储到日志文件中。

本发明各个实施例提供的日志监控存储、装置及系统,至少具有如下有益效果:

1、在本发明实施例中,在各个待监控设备中部署日志采集模块,以通过日志采集模块采集待监控设备产生的日志,从各个日志采集模块获取采集到的日志,并将获取到的日志存储到预先创建的日志数据库中。针对预先创建的每一个告警规则,监控日志数据库中的日志是否触发该告警规则,如果是,向对应于该告警规则的告警接收端发送告警通知。由此可见,将各个待监控设备产生的日志都存储到同一个日志数据库中,通过预设的告警规则对日志数据库中的日志进行监控,当告警规则被触发后向相应的告警接收端发送告警通知,从而实现了对多个设备的日志进行统一监控。

2、在本发明实施例中,不同的告警规则可以定义不同的日志监控周期,则各个告警规则会按照不同的周期对日志数据库中的日志进行监控,满足以相应频率对不同日志类型进行监控的需求,一方面提升了该日志监控方法、装置和系统的适用性,另一方面可以合理配置计算资源,避免将需要以频率进行监控的日志通过高频率来进行监控,造成计算资源浪费的情况发生。

3、在本发明实施例中,在告警规则被触发后,通过邮件或短信的形式向告警规则对应的负责人发送告警通知,使相关的负责人员及时了解待监控设备的运行情况,以采取相应的措施对待监控设备出现的异常情况进行处理,便于对待监控设备进行管理和维护。

4、在本发明实施例中,每次发送告警通知后,将告警通知存储到日志数据库中,在接收到告警查询请求后,使相关的负责人员及时了解待监控设备的运行情况,以采取相应的措施对待监控设备出现的异常情况进行处理,便于对待监控设备进行管理和维护。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1