一种应用程序日志采集方法及装置与流程

文档序号:11250934阅读:463来源:国知局
一种应用程序日志采集方法及装置与流程

本发明涉及互联网技术领域,特别涉及一种应用程序日志采集方法及装置。



背景技术:

随着互联网技术的高速发展,云计算已经成为越来越重要的一种数据分析模式。在云计算中,各种业务被分配在不同的容器中,并且在不同的物理服务器或虚拟服务器中运行,其中弹性计算作为云计算服务中十分重要的一种类型,得到了越来越多的应用。在弹性计算中可以将应用程序配置在一个个独立的容器中,容器是指能够将应用程序等,放置在其上面的控件。在弹性计算中,根据应用的业务需求,可以随时创建容器、销毁容器,而无需提前采购投入,它是一种比物理服务器或虚拟服务器管理更简单高效的云计算服务。

弹性计算系统中,通常包含多个弹性计算节点,而每个容器都会被分配在一个弹性计算节点上,其中,一个弹性计算节点表示一台物理服务器。此外,在弹性计算系统中,一个容器只能对应一个应用程序,而一个应用程序可以运行在多个容器中,这些容器可能被分配在同一个弹性计算节点上,也可能被分配在不同的弹性计算节点上,具体地,每个容器被分配到哪个节点上是由弹性计算调度决定。每一个应用程序在容器中运行时都会产生相应的日志文件,在应用运行过程中需要及时采集所产生的日志文件。

由于一个应用程序可以放置在多个容器中,这些容器可能被分配在同一个弹性计算节点上,也可能被分配在不同的弹性计算节点上,所以对于应用程序的日志文件的采集就会变得十分困难,现有技术中,通常采用人工查询的方式,确定应用程序所在的容器,以及容器所在的节点,然后再进行日志文件的采集,这种方式效率很低,并且应用程序所在的容器被创建或销毁时,都需要重新进行人工查询,增加了操作人员的工作量。



技术实现要素:

本发明实施例的目的在于提供一种应用程序日志采集方法及装置,以提高日志文件的采集效率,减少操作人员的工作量。具体技术方案如下:

本发明实施例公开了一种应用程序日志采集方法,应用于弹性计算节点,所述弹性计算节点包括多个第一弹性计算节点,包括:

按预设周期,扫描第一弹性计算节点上的日志根目录,所述日志根目录为第一弹性计算节点上的根目录位置,用于存储所述第一弹性计算节点上的不同应用程序所产生的日志文件;

根据预设配置信息,判断所述第一弹性计算节点上的日志根目录下的子目录中是否存在与所述预设配置信息相匹配的子目录,所述预设配置信息用于从日志文件中识别待采集的日志文件;

当所述日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录时,采集所述子目录下的日志文件。

可选的,所述根据预设配置信息包括待采集的日志文件的标识信息,

相应的,所述根据预设配置信息,判断所述第一弹性计算节点上的日志根目录下的子目录中是否存在与所述预设配置信息相匹配的子目录,包括:

根据所述预设配置信息中的所述待采集的日志文件的标识信息,判断所述子目录是否为所述待采集日志文件对应的应用程序所对应的子目录;

当所述子目录为所述待采集日志文件对应的应用程序所对应的子目录时,则所述第一弹性计算节点上的日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录。

可选的,所述当所述日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录时,采集所述子目录下的日志文件,包括:

当所述第一弹性计算节点上的日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录,且所述子目录的命名规则符合第一预设命名规则时,采集所述目录下的日志文件。

可选的,所述当所述日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录时,采集所述子目录下的日志文件,包括:

当所述第一弹性计算节点上的日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录,且所述子目录下的日志文件的命名规则符合第二预设命名规则时,采集所述目录下的日志文件。

可选的,所述当所述日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录时,采集所述子目录下的日志文件,包括:

当所述第一弹性计算节点上的日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录,且所述子目录下的日志文件的最后修改时间与当前时间的时间差小于预设阈值时,采集所述目录下的日志文件。

可选的,所述采集所述子目录下的日志文件之后,所述方法还包括:

将采集到的日志文件发送至预设接收设备。

本发明实施例还公开了一种应用程序日志采集装置,应用于弹性计算节点,所述弹性计算节点包括多个第一弹性计算节点,包括:

扫描模块,用于按预设周期,扫描第一弹性计算节点上的日志根目录,所述日志根目录为第一弹性计算节点上的根目录位置,用于存储所述第一弹性计算节点上的不同应用程序所产生的日志文件;

匹配模块,用于根据预设配置信息,判断所述第一弹性计算节点上的日志根目录下的子目录中是否存在与所述预设配置信息相匹配的子目录,所述预设配置信息用于从日志文件中识别待采集的日志文件;

采集模块,用于当所述日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录时,采集所述子目录下的日志文件。

可选的,所述匹配模块中的预设配置信息包括待采集的日志文件的标识信息,

相应的,所述匹配模块,具体用于:

根据所述预设配置信息中的所述待采集的日志文件的标识信息,判断所述子目录是否为所述待采集日志文件对应的应用程序所对应的子目录;

当所述子目录为所述待采集日志文件对应的应用程序所对应的子目录时,则所述第一弹性计算节点上的日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录。

可选的,所述采集模块,具体用于:

当所述第一弹性计算节点上的日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录,且所述子目录的命名规则符合第一预设命名规则时,采集所述目录下的日志文件。

可选的,所述采集模块,具体用于:

当所述第一弹性计算节点上的日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录,且所述子目录下的日志文件的命名规则符合第二预设命名规则时,采集所述目录下的日志文件。

可选的,所述采集模块,具体用于:

当所述第一弹性计算节点上的日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录,且所述子目录下的日志文件的最后修改时间与当前时间的时间差小于预设阈值时,采集所述目录下的日志文件。

可选的,所述装置还包括:

发送模块,用于将采集到的日志文件发送至预设接收设备。

本发明实施例提供的一种应用程序日志采集方法及装置,通过按预设周期在第一弹性计算节点上检测是否存在待采集的日志文件,当待采集的日志文件对应的应用程序在任何一个第一弹性计算节点上被创建时,可以自动的进行日志文件的采集,从而提高了日志文件的采集效率,不需要人工进行查询,减少了操作人员的工作量。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例提供的应用程序日志采集方法的一种流程图;

图2为本发明实施例提供的第一弹性计算节点上日志根目录示意图;

图3为本发明实施例提供的应用所述应用程序日志采集方法的示意图;

图4为本发明实施例提供的应用程序日志采集方法的另一种流程图;

图5为本发明实施例提供的应用程序日志采集装置的结构图。

具体实施方式

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

参见图1,图1为本发明实施例提供的应用程序日志采集方法的一种流程图,应用于弹性计算节点,弹性计算节点包括多个第一弹性计算节点,包括:

步骤101,按预设周期,扫描第一弹性计算节点上的日志根目录,日志根目录为第一弹性计算节点上的根目录位置,用于存储第一弹性计算节点上的不同应用程序所产生的日志文件。

预设的周期是可以根据需要进行设置的时间周期,例如,可以是30秒、1分钟、5分钟等。

扫描可以通过日志采集程序来执行,日志采集程序是预先部署在每一个第一弹性计算节点上用于采集日志文件的应用程序。具体的,日志采集程序可以由本领域技术人员根据具体的需要利用各种编程语言进行开发,属于现有技术,在此不再进行赘述。

第一弹性计算节点可以是多个弹性计算节点中的任一个,一个弹性计算节点就是一台物理服务器。应用程序装载在容器内,并运行在一个或多个第一弹性计算节点上。

应用程序在运行过程中,会产生日志文件,通过目前现有的实现容器化的技术如docker(应用容器引擎)等,可以支持把一个第一弹性计算节点上的目录挂载到容器中。这样运行在容器内的应用程序就可以访问到第一弹性计算节点本地的存储空间,从而可以按照一定目录格式将日志文件输出到第一弹性计算节点中,用于保存各种应用程序日志文件的日志根目录中。例如:容器内的应用程序可以将日志文件输出至第一弹性计算节点的日志根目录rootdir中。

日志采集程序直接扫描第一弹性计算节点的日志根目录,可以检测出是否存在需要进行采集的日志文件。

步骤102,根据预设配置信息,判断第一弹性计算节点上的日志根目录下的子目录中是否存在与预设配置信息相匹配的子目录,预设配置信息用于从日志文件中识别待采集的日志文件。

预设的配置信息可以由操作人员进行配置,并可以预先存储至日志采集程序中,用来从各种应用程序所产生的日志文件中,识别待采集的日志文件,从而可以用于指示日志采集程序采集哪些日志文件,或哪个应用程序所产生的日志文件。

第一弹性计算节点的日志根目录中,每一个不同的容器装载一个应用程序,并且对应一个子目录,子目录中保存有对应容器内的应用程序所产生的日志文件。子目录中一般可以具有与能够体现出该子目录对应的日志文件的标识,例如,子目录的名称中,可以含有该子目录对应的日志文件的名称、产生该日志文件的应用程序或装载该应用程序的容器的名称等。

预设配置信息中,可以含有待采集的日志文件的名称、产生该日志文件的应用程序或装载该应用程序的容器的名称等标识。

所以日志采集程序可以根据预设配置信息,在对第一弹性计算节点上的日志根目录进行扫描时,就能够判断出日志根目录下是否有与预设配置信息相匹配的子目录。

由于应用程序装载在容器内,可以在第一弹性计算节点上随时生成或销毁,当对应待采集的日志文件的应用程序和装载该应用程序的容器,在第一弹性计算节点上生成时,就会在第一弹性计算节点的日志根目录中产生对应的子目录,并将所产生的日志文件,输出至该子目录中。所以日志采集程序按预设周期对第一弹性计算节点的日志根目录进行扫描,就能够及时发现第一弹性计算节点的日志根目录中存在有与预设配置信息相匹配的子目录。

步骤103,当日志根目录下的子目录中存在与预设配置信息相匹配的子目录时,采集该子目录下的日志文件。

当日志根目录下的子目录中存在与预设配置信息相匹配的子目录时,则表示在该第一弹性计算节点上,存在需要采集的日志文件,并且存在与待采集的日志文件相对应的应用程序及装载该应用程序的容器。从而可以对待采集的日志文件进行采集。

由于日志根目录下的子目录是与每一个应用程序及装载该应用程序的容器相对应的,所以当存在与预设配置信息相匹配的子目录时,则该子目录下的日志文件就是待采集的日志文件。

具体的,对于日志文件的采集过程,属于现有技术,再次不再进行赘述。

在本发明实施例中,通过在每一个第一弹性计算节点上部署日志采集程序,并且按预设周期自动对第一弹性计算节点上的日志根目录进行扫描,通过预设的配置信息检测日志根目录中是否有与之匹配的子目录,当子目录匹配预设配置信息时,进行子目录下日志文件的采集,待采集的日志文件对应的应用程序及装载该应用程序的容器在任何一个第一弹性计算节点上被创建时,都可以自动的进行日志文件的采集,从而提高了日志文件的采集效率,不需要再进行人工进行查询,减少了操作人员的工作量。

可选的,在本发明实施例提供的应用程序日志采集方法中,所述根据预设配置信息包括待采集的日志文件的标识信息。

待采集的日志文件的标识信息可以是日志文件本身的标识信息,例如可以是待采集的日志文件的名称,编号等。也可以是生成待采集的日志文件的应用程序或该应用程序所在容器的标识信息,例如,可以是该应用程序或该应用程序所在容器的名称或编号等。

相应的,根据预设配置信息,判断第一弹性计算节点上的日志根目录下的子目录中是否存在与预设配置信息相匹配的子目录,包括:

第一步,根据预设配置信息中的待采集的日志文件的标识信息,判断子目录是否为待采集日志文件对应的应用程序所对应的子目录。

参见图2,图2为本发明实施例提供的第一弹性计算节点上日志根目录示意图。

其中rootfir表示第一弹性计算节点上日志根目录,可以看出日志根目录rootfir有三个子目录,分别为application-a,application-b,application-c。这三个子目录分别对应应用程序a,应用程序b,应用程序c。子目录application-a下有两个二级子目录application-a-container-1,application-a-container-2,分别表示容器1和容器2中的应用程序a,二级子目录application-a-container-1下有日志文件a-container-1.log,表示容器1中的应用程序a的日志文件。二级子目录application-a-container-2下有日志文件a-container-2.log,表示容器2中的应用程序a的日志文件。容易理解的是,子目录application-b下的二级子目录application-b-container-3,表示容器3中的应用程序b,而二级子目录application-b-container-3下的b-container-3.log就为容器3中的应用程序b所产生的日志文件。同理,子目录application-c与子目录application-b相同,不再进行赘述。

预设配置信息中的待采集的日志文件的标识信息可以是待采集的日志文件所对应的应用程序的名称,例如,预设配置信息中的待采集的日志文件的标识信息为:应用程序a。则在进行对日志根目录rootfir的扫描时,就可以发现子目录application-a是与应用程序a所对应的子目录。同时,还可以反映出在该第一弹性计算节点上存在应用程序a。

第二步,当子目录为待采集日志文件对应的应用程序所对应的子目录时,则第一弹性计算节点上的日志根目录下的子目录中存在与预设配置信息相匹配的子目录。

当已经判断出子目录为待采集日志文件对应的应用程序所对应的子目录时,则可以表示该子目录与预设配置信息相匹配。例如,子目录application-a是与应用程序a所对应的子目录,配置信息中的待采集日志文件的标识信息也为应用程序a,则子目录application-a为与预设配置信息相匹配的子目录。进行日志文件采集时,就可以直接采集子目录application-a下的所有日志文件,例如,日志文件a-container-1.log和a-container-2.log。

当然,在本发明实施例中,配置信息中的待采集日志文件的标识信息可以有多种类型,只要子目录能够与标识信息存在对应关系,都可以认为该子目录与预设配置信息相匹配。

图2中在application-a,还有两个二级子目录,分别为application-a-container-1和application-a-container-2,这两个二级子目录表示在该第一弹性计算节点上有两个容器分别装载了两个应用程序a,也就是说在该第一弹性计算节点上运行有两个应用程序a,且两个应用程序a被装载在两个容器中。

当待采集的日志文件的标识信息是生成待采集的日志文件的应用程序或该应用程序所在容器的标识信息时。例如,标识信息为:应用程序a和容器1。则在进行扫描时,可以发现二级子目录application-a-container-1,对应应用程序a和容器1。从而二级子目录application-a-container-1,就与预设配置信息相匹配。进行日志采集时,就可以只采集日志文件a-container-1.log。

可选的,在本发明实施例提供的应用程序日志采集方法中,当日志根目录下的子目录中存在与预设配置信息相匹配的子目录时,采集子目录下的日志文件,包括:

当第一弹性计算节点上的日志根目录下的子目录中存在与预设配置信息相匹配的子目录,且子目录的命名规则符合第一预设命名规则时,采集目录下的日志文件。

子目录可以由应用程序或装载应用程序的容器来创建,可以预先对应用程序或装载应用程序的容器进行配置,使其在创建子目录时按第一预设命名规则来创建子目录。

例如,第一预设命名规则可以是:应用程序名称-容器名称。当应用程序a被装载在容器101中,并在第一弹性计算节点上生成时,同步的在第一弹性计算节点的日志根目录上创建一个子目录,子目录名称为:a-101。

当然,子目录可以为多层的子目录。尤其当同一个应用程序被装载在多个容器,且被分配在同一个第一弹性计算节点上时,可以创建多层的子目录。例如:第一预设命名规则可以是,第一层子目录为应用程序名称,第二层子目录为容器名称。应用程序a,同时被装载在容器101和容器202中,且都被分配在第一弹性计算节点上。则日志根目录上创建一个子目录可以为:第一层子目录为名称为a,第一层子目录下有两个第二层子目录,分别为101和202。

当第一弹性计算节点上的日志根目录下的子目录中存在与预设配置信息相匹配的子目录时,再判断该子目录的命名规则是否符合预先设定好的第一预设命名规则,当符合时,可以认为该子目录下的日志文件确定是待采集的日志文件,可以进行采集。

通过比对子目录的命名规则是否符合预先设定好的第一预设命名规则,可以避免采集到错误的日志文件,提高了日志文件采集的准确率。

可选的,在本发明实施例提供的应用程序日志采集方法中,当日志根目录下的子目录中存在与预设配置信息相匹配的子目录时,采集子目录下的日志文件,包括:

当第一弹性计算节点上的日志根目录下的子目录中存在与预设配置信息相匹配的子目录,且子目录下的日志文件的命名规则符合第二预设命名规则时,采集目录下的日志文件。

应用程序所产生的日志文件输出至日志根目录下的子目录时,可以对日志文件按照预先设定的第二预设命名规则设置日志文件的文件名称。例如,第二预设命名规则可以是:应用程序名称-日志创建时间。

在本发明实施例中,当第一弹性计算节点上的日志根目录下的子目录中存在与预设配置信息相匹配的子目录时,再判断该子目录下的日志文件的命名规则是否符合第二预设命名规则,如果不符合第二预设命名规则,则该日志文件可能由其他的应用程序生成,不需要进行采集。从而可以更进一步提高日志文件采集的准确率,避免了由于采集到错误的日志文件,而导致无法了解应用程序真实的运行情况。

可选的,在本发明实施例提供的应用程序日志采集方法中,当日志根目录下的子目录中存在与预设配置信息相匹配的子目录时,采集子目录下的日志文件,包括:

当第一弹性计算节点上的日志根目录下的子目录中存在与预设配置信息相匹配的子目录,且子目录下的日志文件的最后修改时间与当前时间的时间差小于预设阈值时,采集目录下的日志文件。

当第一弹性计算节点上的日志根目录下的子目录中存在与预设配置信息相匹配的子目录时,还可以监测该子目录下的日志文件的最后修改时间。由于应用程序是连续运行的,在应用程序运行时,需要对日志文件进行频繁的修改,从而使得日志文件及时记录下应用程序的运行情况。

当日志文件的最后修改时间与当前时间的时间差超过预设阈值时,则可以表示应用程序已经在一定时间没有对日志文件进行修改,该应用程序以及装在该应用程序的容器可能已经被销毁。从而可以不需要再进行日志文件的采集。

如果日志文件的最后修改时间与当前时间的时间差小于预设阈值时,则表示应用程序还在运行中,并对日志文件进行着修改,可以对该日志文件进行采集。其中预设阈值可以根据需要进行设置,例如可以是10秒、20秒或1分钟等。

在本发明实施例中,通过判断子目录下的日志文件的最后修改时间与当前时间的时间差值,在进行日志文件的采集时,还可以判断出待采集的日志文件对应的应用程序及装载该应用程序的容器是否已经被销毁。从而可以只采集正在运行中的应用程序的日志文件,使得所采集到的日志文件更加具有实时性,并且可以通过日志文件的采集情况,反映出待采集日志文件对应的应用程序及应用程序所在容器在第一弹性计算节点上生成及销毁的情况。

可选的,在本发明实施例提供的应用程序日志采集方法中,采集子目录下的日志文件之后,方法还包括:

将采集到的日志文件发送至预设接收设备。

预设接收设备可以是一台服务器或其他电子设备,用于存储采集到的日志文件或对日志文件进行相关的处理,例如统计、分类等。有关操作人员还可以通过预设接收设备来查看并分析所采集的日志文件。

本发明实施例中,将日志文件发送至预设接收设备,可以对采集到的日志文件进行长期的保存,并且易于对日志文件进行统一的管理,也方便了有关操作人员对日志文件进行及时的分析和处理。

参见图3,图3为本发明实施例提供的应用所述应用程序日志采集方法的示意图。

图3中包括多个第一弹性计算节点,分别为第一弹性计算节点301,第一弹性计算节点302,第一弹性计算节点303,每一个第一弹性计算节点为一台物理服务器,三个第一弹性计算节点可以属于一个单集群弹性计算系统,也可以分别属于不同的多集群弹性计算系统。集群弹性计算系统是指由多台服务器构成多个弹性计算节点组成的弹性计算系统,多个这样的弹性计算系统可以称为多集群弹性计算系统。

第一弹性计算节点301上分配有应用程序a311、应用程序a312、应用程序b313以及日志采集程序314。每一个应用程序装载在一个容器中,第一弹性计算节点301上的应用程序a311和应用程序a312都是应用程序a,但分别装载在两个不同的容器中,并一起分配在第一弹性计算节点301上。日志采集程序也是一个应用程序,同样被装载在一个容器中,并预先就部署在第一弹性计算节点301上,用于采集第一弹性计算节点301上其他应用程序所产生的日志文件。

同样的,在第一弹性计算节点302上分配有应用程序a321、应用程序c322、应用程序b323以及日志采集程序324。

在第一弹性计算节点303上分配有应用程序a331、应用程序b332、应用程序d333以及日志采集程序334。

当需要采集一个应用程序的日志文件时,例如,需要采集应用程序a的日志文件,则可以对各个第一弹性计算节点上的日志采集程序进行配置,使得每一个第一弹性计算节点上的日志采集程序获得预设配置信息,预设配置信息中含有应用程序a所产生的日志文件的标识信息。

每一个第一弹性计算节点上的日志采集程序根据预设配置信息,按预设周期,扫描所在第一弹性计算节点的日志根目录,当日志根目录下存在与预设配置信息相匹配的子目录时,检测该子目录的名称是否符合第一预设命名规则,再检测该子目录下的日志文件的名称是否符合第二预设命名规则,再检测该日志文件的修改时间与当前时间的时间差是否小于预设阈值。当以上条件均满足时,日志采集程序采集该日志文件。

日志文件采集完成后,可以将所采集到的日志文件发送至预设的接收设备。例如,图3中,每一个第一弹性计算节点上的日志采集程序314,日志采集程序324,日志采集程序334,分别将各自所采集到的日志文件发送至接收设备304。

有关操作人员可以通过接收设备304实现对所采集的日志文件的分析和处理。

参见图4,图4为本发明实施例提供的应用程序日志采集方法的另一种流程图,包括:

步骤401,对日志采集程序进行配置。

对日志采集程序进行配置,以使日志采集程序获得预设配置信息,对日志采集程序进行配置相当于向日志采集程序发出一个采集日志的指令,从而日志采集程序按预设配置信息中的待采集日志文件的标识信息,进行后续的步骤。配置信息中的待采集日志文件的标识信息用于指示日志采集程序需要采集哪个或哪些应用程序所产生的日志文件。

步骤402,日志检测。

日志采集程序根据所获得的预设配置信息进行日志的检测。检测可以分为四个步骤的监测:

第一步,按预设周期扫描第一弹性计算节点上的日志根目录,可以检测出日志根目录下的子目录中,是否有与预设配置信息相匹配的子目录,例如,子目录名称中包含有预设配置信息中的待采集日志文件的标识信息,如待采集日志文件的标识信息为该待采集日志文件对应的应用程序的名称:应用程序a,则子目录名称中如果包含有“应用程序a”时,则表示该子目录与预设配置信息相匹配。

第二步,检测子目录的命名规则是否符合第一预设命名规则。

第三步,检测子目录下的日志文件的命名规则是否符合第二预设命名规则。

第四步,检测子目录下的日志文件的最后修改时间与当前时间的时间差是否小于预设阈值时。

步骤403,日志采集。

当子目录和子目录下的日志文件均满足步骤402中的检测条件时,就可以对该子目录下的日志文件进行采集。

步骤404,日志发送。

将采集到的日志文件或日志文件的内容发送至预设的接收设备。

参见图5,图5为本发明实施例提供的应用程序日志采集装置的结构图,应用于弹性计算节点,所述弹性计算节点包括多个第一弹性计算节点,包括:

扫描模块501,用于按预设周期,扫描第一弹性计算节点上的日志根目录,所述日志根目录为第一弹性计算节点上的根目录位置,用于存储所述第一弹性计算节点上的不同应用程序所产生的日志文件;

匹配模块502,用于根据预设配置信息,判断所述第一弹性计算节点上的日志根目录下的子目录中是否存在与所述预设配置信息相匹配的子目录,所述预设配置信息用于从日志文件中识别待采集的日志文件。

采集模块503,用于当所述日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录时,采集所述子目录下的日志文件。

在本发明实施例中,通过在每一个第一弹性计算节点上部署日志采集程序,并且按预设周期自动对第一弹性计算节点上的日志根目录进行扫描,通过预设的配置信息检测日志根目录中是否有与之匹配的子目录,当子目录匹配预设配置信息时,进行子目录下日志文件的采集,待采集的日志文件对应的应用程序及装载该应用程序的容器在任何一个第一弹性计算节点上被创建时,都可以自动的进行日志文件的采集,从而提高了日志文件的采集效率,不需要再进行人工进行查询,减少了操作人员的工作量。

本发明实施例的装置是应用上述应用程序日志采集方法的装置,则上述应用程序日志采集方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

可选的,在本发明实施例提供的应用程序日志采集装置中,所述匹配模块502中的预设配置信息包括待采集的日志文件的标识信息,

相应的,所述匹配模块502,具体用于:

根据所述预设配置信息中的所述待采集的日志文件的标识信息,判断所述子目录是否为所述待采集日志文件对应的应用程序所对应的子目录;

当所述子目录为所述待采集日志文件对应的应用程序所对应的子目录时,则所述第一弹性计算节点上的日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录。

可选的,在本发明实施例提供的应用程序日志采集装置中,所述采集模块503,具体用于:

当所述第一弹性计算节点上的日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录,且所述子目录的命名规则符合第一预设命名规则时,采集所述目录下的日志文件。

可选的,在本发明实施例提供的应用程序日志采集装置中,所述采集模块503,具体用于:

当所述第一弹性计算节点上的日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录,且所述子目录下的日志文件的命名规则符合第二预设命名规则时,采集所述目录下的日志文件。

可选的,在本发明实施例提供的应用程序日志采集装置中,所述采集模块503,具体用于:

当所述第一弹性计算节点上的日志根目录下的子目录中存在与所述预设配置信息相匹配的子目录,且所述子目录下的日志文件的最后修改时间与当前时间的时间差小于预设阈值时,采集所述目录下的日志文件。

可选的,在本发明实施例提供的应用程序日志采集装置中,所述装置还包括:

发送模块(图中未标出),用于将采集到的日志文件发送至预设接收设备。

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

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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