一种日志采集方法、系统及装置与流程

文档序号:28321949发布日期:2022-01-04 23:20阅读:90来源:国知局
一种日志采集方法、系统及装置与流程

1.本发明涉及云计算技术领域,特别是涉及一种日志采集方法、系统及装置。


背景技术:

2.随着云计算技术的快速发展,越来越多的应用程序使用容器技术部署于云端,由于容器管理工具可以在容器创建后,根据业务需要自动更改容器所属的宿主机,相应的容器中的应用程序也随之更改所属的宿主机,使得用户无法确定应用程序当前所属的宿主机,也就无法针对性地在应用程序当前所属的宿主机中采集该应用程序的运行日志。
3.现有技术中,通过在所有的宿主机上安装日志采集器,并且日志采集器针对宿主机进行扫描,保证及时扫描到应用程序的运行日志。然而,这种方式,若宿主机中未创建应用程序对应的容器,该宿主机中的日志采集器仍会进行扫描,会导致日志采集器进行无效扫描操作,造成计算机资源的浪费,且会影响该宿主机的容器中的应用程序的正常运行。


技术实现要素:

4.本发明实施例的目的在于提供一种日志采集方法、系统及装置,以实现第一宿主机的第一日志采集器能够针对第一采集任务对应的应用程序进行日志采集,也就是说,若不存在第一宿主机已部署的应用程序对应的采集任务,则不会对第一宿主机进行扫描,避免了第一日志采集器进行无效扫描操作,造成的计算机资源浪费的问题,保证应用程序的正常运行。
5.具体技术方案如下:
6.在本发明实施的第一方面,首先提供了一种日志采集方法,所述方法应用于控制服务器,所述方法包括:
7.接收第一宿主机中的第一日志采集器发送的第一采集任务请求;所述第一采集任务请求包括所述第一宿主机中各容器中已部署的应用程序的应用标识;
8.针对所述第一采集任务请求中的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务;
9.若存在该应用标识对应的采集任务,则向所述第一日志采集器发送该应用标识对应的采集任务,以使所述第一日志采集器根据该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
10.可选的,在所述接收第一宿主机中的第一日志采集器发送的第一采集任务请求之前,所述方法还包括:
11.接收所述第一宿主机发送的已创建的目标容器的容器信息;其中,所述容器信息包含所述目标容器中部署的目标应用程序的目标应用标识;
12.判断指定的多个采集任务中是否存在所述目标应用标识对应的采集任务;
13.若存在所述目标应用标识对应的采集任务,则判断所述第一宿主机中当前是否未安装日志采集器;
14.若所述第一宿主机中当前未安装日志采集器,则向所述第一宿主机发送安装提醒消息,以使所述第一宿主机根据所述安装提醒消息,安装日志采集器。
15.可选的,所述判断所述第一宿主机中当前是否未安装日志采集器,包括:
16.判断在预设历史时间段内,是否接收到所述第一宿主机中的日志采集器发送的采集任务请求;
17.若未接收到所述第一宿主机中的日志采集器发送的采集任务请求,则确定所述第一宿主机中当前未安装日志采集器。
18.可选的,一个应用标识对应的采集任务包含:该应用标识、该应用标识对应的应用程序产生的日志在所属宿主机中的保存路径、针对该应用标识对应的应用程序的日志的处理策略。
19.可选的,所述方法还包括:
20.接收第二宿主机中的第二日志采集器发送的第二采集任务请求;
21.其中,所述第二采集任务请求包括所述第二宿主机中各容器中已部署的应用程序的应用标识;所述第二宿主机和所述第一宿主机中部署有相同的目标应用程序;所述第二宿主机中部署的所述目标应用程序,与所述第一宿主机中部署的所述目标应用程序负责不同的业务处理,且,所述第二宿主机中部署的所述目标应用程序,为在所述第一宿主机中部署的所述目标应用程序的基础上进行动态扩容得到的;
22.针对所述第二采集任务请求中的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务;
23.若存在该应用标识对应的采集任务,则向所述第一日志采集器发送该应用标识对应的采集任务,以使所述第二日志采集器根据该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
24.在本发明实施的第二方面,还提供了一种日志采集方法,所述方法应用于第一宿主机,所述方法包括:
25.通过第一日志采集器,向控制服务器发送第一采集任务请求,所述第一采集任务请求包括所述第一宿主机中各容器中已部署的应用程序的应用标识;以使所述控制服务器接收所述第一采集任务请求,针对所述第一采集任务请求中的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务,若存在该应用标识对应的采集任务,则向所述第一日志采集器发送该应用标识对应的采集任务;
26.通过所述第一日志采集器,针对每一应用标识,根据接收到的该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
27.可选的,每一应用标识对应的采集任务包含:该应用标识、该应用标识对应的应用程序产生的日志在所属宿主机中的保存路径;
28.所述通过所述第一日志采集器,针对每一应用标识,根据接收到的该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志,包括:
29.通过所述第一日志采集器,针对每一应用标识,从该应用标识对应的保存路径中,获取该应用标识对应的应用程序产生的日志。
30.可选的,每一应用标识对应的采集任务还包含:针对该应用标识对应的应用程序的日志的处理策略;
31.在所述通过所述第一日志采集器,针对每一应用标识,从该应用标识对应的保存路径中,获取该应用标识对应的应用程序产生的日志之后,所述方法还包括:
32.通过所述第一日志采集器,根据所述处理策略,提取获取到的日志中的预设字段的信息,生成目标日志,将所述目标日志保存到预设存储位置。
33.在本发明实施的第三方面,还提供了一种日志采集系统,所述日志采集系统包括控制服务器、第一宿主机,其中:
34.所述第一宿主机,用于通过第一日志采集器向所述控制服务器发送第一采集任务请求,所述第一采集任务请求包括所述第一宿主机中各容器中已部署的应用程序的应用标识;
35.所述控制服务器,用于接收所述第一采集任务请求;针对所述第一采集任务请求中的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务;若存在该应用标识对应的采集任务,则向所述第一日志采集器发送该应用标识对应的采集任务;
36.所述第一宿主机,还用于通过所述第一日志采集器,针对每一应用标识,根据接收到的该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
37.在本发明实施的第四方面,还提供了一种日志采集装置,所述装置应用于控制服务器,所述装置包括:
38.接收模块,用于接收第一宿主机中的第一日志采集器发送的第一采集任务请求;所述第一采集任务请求包括所述第一宿主机中各容器中已部署的应用程序的应用标识;
39.判断模块,用于针对所述第一采集任务请求中的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务;
40.第一发送模块,用于若存在该应用标识对应的采集任务,则向所述第一日志采集器发送该应用标识对应的采集任务,以使所述第一日志采集器根据该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
41.在本发明实施的第五方面,还提供了一种日志采集装置,所述装置应用于第一宿主机,所述装置包括:
42.第二发送模块,用于通过第一日志采集器,向控制服务器发送第一采集任务请求,所述第一采集任务请求包括所述第一宿主机中各容器中已部署的应用程序的应用标识;以使所述控制服务器接收所述第一采集任务请求,针对所述第一采集任务请求中的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务,若存在该应用标识对应的采集任务,则向所述第一日志采集器发送该应用标识对应的采集任务;
43.采集模块,用于通过所述第一日志采集器,针对每一应用标识,根据接收到的该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
44.本发明实施例的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
45.存储器,用于存放计算机程序;
46.处理器,用于执行存储器上所存放的程序时,实现上述任一所述的日志采集方法。
47.在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的日志
采集方法。
48.在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的日志采集方法。
49.本发明实施例提供的一种日志采集方法,接收第一宿主机中的第一日志采集器发送的第一采集任务请求;第一采集任务请求包括第一宿主机中各容器中已部署的应用程序的应用标识;针对第一采集任务请求中的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务;若存在该应用标识对应的采集任务,则向第一日志采集器发送该应用标识对应的采集任务,以使第一日志采集器根据该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
50.第一宿主机中的第一日志采集器可以向控制器发送第一采集任务请求,以获取第一宿主机已部署的应用程序对应的采集任务,并根据采集任务对每一采集任务对应的应用程序进行日志采集。实现了第一宿主机的第一日志采集器能够针对采集任务对应的应用程序进行日志采集,也就是说,若不存在第一宿主机已部署的应用程序对应的采集任务,则不会对第一宿主机进行扫描,避免了日志采集器进行无效扫描操作,造成的计算机资源浪费的问题,保证应用程序的正常运行。
附图说明
51.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
52.图1为现有技术中日志采集方法的流程示意图;
53.图2为本发明实施例中提供的一种日志采集方法的流程图;
54.图3为本发明实施例中提供的另一种日志采集方法的流程图;
55.图4为本发明实施例中提供的一种日志采集方法的流程图;
56.图5为本发明实施例中提供的一种日志采集系统的结构图;
57.图6为本发明实施例中提供的一种日志采集方法的流程示意图;
58.图7为本发明实施例中提供的一种视频网站的日志采集流程示意图;
59.图8为本发明实施例中提供的日志采集系统的系统框图;
60.图9为本发明实施例中提供的一种日志采集装置的结构图;
61.图10为本发明实施例中提供的一种日志采集装置的结构图;
62.图11为本发明实施例中提供的一种电子设备的结构示意图。
具体实施方式
63.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
64.参见图1,图1为现有技术中日志采集方法的流程示意图。
65.现有技术中,由人工在各宿主机中安装日志采集器,编辑采集任务和部署应用程序到各宿主机中。无论宿主机中是否创建了应用程序对应的容器,各宿主机中安装的日志采集器,都会对宿主机进行扫描,若宿主机中未创建应用程序对应的容器,则,会导致日志采集器进行无效扫描操作,造成计算机资源的浪费,且会影响该宿主机的容器中的应用程序的正常运行。
66.为了解决上述问题,本发明实施例提供了一种日志采集方法,应用于控制服务器。
67.实施例一,参见图2,图2为本发明实施例提供的一种日志采集方法的流程图,该方法可以包括以下步骤:
68.s201:接收第一宿主机中的第一日志采集器发送的第一采集任务请求。
69.第一采集任务请求包括第一宿主机中各容器中已部署的应用程序的应用标识。
70.s202:针对第一采集任务请求中的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务。
71.s203:若存在该应用标识对应的采集任务,则向第一日志采集器发送该应用标识对应的采集任务,以使第一日志采集器根据该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
72.基于本发明实施例提供的日志采集方法,第一宿主机中的第一日志采集器可以向控制器发送第一采集任务请求,以获取第一宿主机已部署的应用程序对应的采集任务,并根据采集任务对每一采集任务对应的应用程序进行日志采集。实现了第一宿主机的第一日志采集器能够针对采集任务对应的应用程序进行日志采集,也就是说,若不存在第一宿主机已部署的应用程序对应的采集任务,则不会对第一宿主机进行扫描,避免了日志采集器进行无效扫描操作,造成的计算机资源浪费的问题,保证应用程序的正常运行。
73.在云计算技术领域,宿主机是用于提供硬件资源的主机,用户可以在其中创建容器,并在容器中部署应用程序。应用程序可以为网站的程序、游戏的程序等,在此不做限定,相应的,应用程序在运行过程中会产生日志,日志记录该应用程序运行时的关键信息、警告信息、错误信息等。容器的日志也就是其中部署的应用程序产生的日志。例如,可以通过容器管理工具(例如,可以为kubernetes)在第一宿主机中创建容器,并在该容器中部署应用程序。
74.日志采集器是一种软件应用程序,可以通过在第一宿主机运行该软件应用程序查找第一宿主机中指定路径下的文件。应用程序的应用标识可以为该应用程序指定的应用名称,或者,也可以为该应用程序指定的应用编号。
75.一种实现方式中,针对每一应用程序,用户可以根据业务需求,确定是否采集该应用程序的日志。若需要采集该应用程序的日志,则用户可以在控制服务器中记录该应用程序对应的采集任务,则,控制服务器可以得到指定的多个采集任务。采集任务中记录了该应用程序的应用标识、该应用程序产生的日志在所属宿主机中的保存路径、针对该应用程序的日志的处理策略。
76.在后续步骤中,当控制服务器接收到第一宿主机中的第一日志采集器发送的第一采集任务请求,第一采集任务请求中包含应用程序(第一应用程序)的应用标识(第一应用标识),可以判断本地记录的各采集任务中,是否存在记录有第一应用标识的采集任务(第一采集任务)。若存在第一采集任务,则表示需要采集第一应用程序的日志。
77.在云计算架构中,控制服务器可以与多个宿主机进行通信,第一宿主机为多个宿主机中的任意一个宿主机。也就是说,基于本技术实施例提供的方法,控制服务器可以与任意一个宿主机进行通信,以确定该宿主机中已部署的应用程序是否需要进行日志采集。
78.实施例二,参见图3,在图2的基础上,步骤s201之前,该方法还可以包括:
79.s204:接收第一宿主机发送的已创建的目标容器的容器信息。
80.s205:判断指定的多个采集任务中是否存在目标应用标识对应的采集任务。
81.s206:若存在目标应用标识对应的采集任务,则判断第一宿主机中当前是否未安装日志采集器。
82.s207:若第一宿主机中当前未安装日志采集器,则向第一宿主机发送安装提醒消息,以使第一宿主机根据安装提醒消息,安装日志采集器。
83.其中,容器信息包含目标容器中部署的目标应用程序的目标应用标识。
84.一种实现方式中,当第一宿主机创建新的容器(可以称为目标容器),并在目标容器中部署目标应用程序,第一宿主机可以向控制服务器发送目标容器的容器信息。控制服务器可以判断本地记录的各个采集任务中,是否存在记录有目标应用标识的采集任务(目标采集任务)。若存在目标采集任务,则,可以确定目标采集任务为目标应用标识对应的采集任务。也就是说,用户需要采集目标应用程序的日志。
85.一种实现方式中,若存在目标应用标识对应的采集任务,且第一宿主机中当前未安装日志采集器,则,控制服务器可以向第一宿主机发送安装提醒消息。安装提醒消息可以包括:日志采集器的软件应用程序包和安装指令,第一宿主机根据安装提醒消息中的日志采集器的软件应用程序包和安装指令,安装日志采集器的软件应用程序。安装后的日志采集器,可以在第一宿主机中采集到目标应用程序的日志。
86.另一种实现方式中,若不存在目标应用标识对应的采集任务,则表明用户不需要采集目标应用程序的日志,也就可以不对目标应用程序进行日志采集,也就不需要向第一宿主机发送安装提醒消息。
87.另一种实现方式中,若存在目标应用标识对应的采集任务,且第一宿主机中当前已安装日志采集器,也就不需要向第一宿主机发送安装提醒消息。
88.实施例三,判断第一宿主机中当前是否未安装日志采集器,包括:
89.步骤一:判断在预设历史时间段内,是否接收到第一宿主机中的日志采集器发送的采集任务请求。
90.步骤二:若未接收到第一宿主机中的日志采集器发送的采集任务请求,则确定第一宿主机中当前未安装日志采集器。
91.一种实现方式中,日志采集器可以按照预设周期,向控制服务器发送采集任务请求,预设周期可以由技术人员根据业务需求进行设置,例如,预设周期可以为10秒,或者,预设周期可以为30秒,在此不再限定。预设历史时间段内可以为当前时刻的前一预设周期。
92.一种实现方式中,日志采集器发送的采集任务请求,可以包括该日志采集器所属的第一宿主机的网络地址。
93.一种实现方式中,若在预设历史时间段内,若收到的包含有第一宿主机的网络地址的采集任务请求,控制服务器可以确定该采集任务请求为第一宿主机中的日志采集器发送的,则,确定第一宿主机中当前已安装日志采集器。上述预设历史时间段的时长大于上述预设周期的一个周期的时长。
94.另一种实现方式中,若在预设历史时间段内,若未接收到包含有第一宿主机的网络地址的采集任务请求,控制服务器可以确定未接收到第一宿主机中的日志采集器发送的采集任务请求,则,确定第一宿主机中当前未安装日志采集器。
95.实施例四,一个应用标识对应的采集任务包含:该应用标识、该应用标识对应的应
用程序产生的日志在所属宿主机中的保存路径、针对该应用标识对应的应用程序的日志的处理策略。
96.控制服务器通过采集任务中的应用标识,可以确定该采集任务是针对哪一应用程序的。日志采集器可以根据应用标识对应的保存路径,查找到该应用程序产生的日志。日志采集器可以根据针对该应用标识对应的应用程序的日志的处理策略,对日志进行处理。
97.实施例五,该方法还包括:
98.步骤一,接收第二宿主机中的第二日志采集器发送的第二采集任务请求。
99.其中,第二采集任务请求包括第二宿主机中各容器中已部署的应用程序的应用标识;第二宿主机和第一宿主机中部署有相同的目标应用程序;第二宿主机中部署的目标应用程序,与第一宿主机中部署的目标应用程序负责不同的业务处理,且,第二宿主机中部署的目标应用程序,为在第一宿主机中部署的目标应用程序的基础上进行动态扩容得到的。
100.步骤二,针对第二采集任务请求中的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务。
101.步骤三,若存在该应用标识对应的采集任务,则向第一日志采集器发送该应用标识对应的采集任务,以使第二日志采集器根据该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
102.当目标应用程序的业务量增加,导致第一宿主机中部署的目标应用程序无法满足当前的业务需求,容器管理工具可以对目标应用程序进行动态扩容,在第二宿主机中部署目标应用程序。第一宿主机和第二宿主机中部署的目标应用程序共同负责业务处理,且分别负责不同的业务。
103.一种实现方式中,当使用目标应用程序的用户量增加,使得目标应用程序的业务量增加,导致第一宿主机中的目标应用程序无法响应所有用户的业务请求。则,容器管理工具可以对目标应用程序进行动态扩容,在第二宿主机中部署目标应用程序。第一宿主机中的目标应用程序和第二中的目标应用程序分别负责不同用户的业务。
104.另一种实现方式中,当目标应用程序增加新业务,使得目标应用程序的业务量增加,导致第一宿主机无法运行目标应用程序的所有业务。则容器管理工具可以对目标应用程序进行动态扩容,在第二宿主机中部署目标应用程序。第一宿主机中的目标应用程序和第二中的目标应用程序均负责所有用户的业务,且负责的业务的类型不同。
105.基于相同的发明构思,本发明提供了一种日志采集方法,该方法应用于第一宿主机。
106.实施例六,参见图4,图4为本发明实施例提供的一种日志采集方法的流程图,该方法可以包括以下步骤:
107.s401:通过第一日志采集器,向控制服务器发送第一采集任务请求,第一采集任务请求包括第一宿主机中各容器中已部署的应用程序的应用标识。
108.以使控制服务器接收第一采集任务请求,针对第一采集任务请求中的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务,若存在该应用标识对应的采集任务,则向第一日志采集器发送该应用标识对应的采集任务。
109.s402:通过第一日志采集器,针对每一应用标识,根据接收到的该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
110.基于本发明实施例提供的日志采集方法,第一宿主机中的第一日志采集器可以向控制器发送第一采集任务请求,以获取第一宿主机已部署的应用程序对应的采集任务,并根据采集任务对每一采集任务对应的应用程序进行日志采集。实现了第一宿主机的第一日志采集器能够针对采集任务对应的应用程序进行日志采集,也就是说,若不存在第一宿主机已部署的应用程序对应的采集任务,则不会对第一宿主机进行扫描,避免了日志采集器进行无效扫描操作,造成的计算机资源浪费的问题,保证应用程序的正常运行。
111.一种实现方式中,第一日志采集器可以按照预设周期,向控制服务器发送第一采集任务请求,预设周期可以由技术人员根据业务需求进行设置,例如,预设周期可以为10秒,或者,预设周期可以为30秒,在此不再限定。
112.控制服务器端的介绍可以参考上述步骤s201

s203的介绍。
113.实施例七,每一应用标识对应的采集任务包含:该应用标识、该应用标识对应的应用程序产生的日志在所属宿主机中的保存路径;
114.步骤s402具体为:通过第一日志采集器,针对每一应用标识,从该应用标识对应的保存路径中,获取该应用标识对应的应用程序产生的日志。
115.实施例八,每一应用标识对应的采集任务还包含:针对该应用标识对应的应用程序的日志的处理策略;
116.在通过第一日志采集器,针对每一应用标识,从该应用标识对应的保存路径中,获取该应用标识对应的应用程序产生的日志之后,该方法还包括:
117.通过第一日志采集器,根据处理策略,提取获取到的日志中的预设字段的信息,生成目标日志,将目标日志保存到预设存储位置。
118.第一日志采集器可以根据应用程序的日志的处理策略,从该应用程序的日志包含的信息中,提取预设字段的信息,生成目标日志。以便技术人员可以根据目标日志对该应用程序进行维护。例如,预设字段可以为包含错误提示信息的字段,第一日志采集器可以提取日志中包含错误提示信息的字段生成目标日志,技术人员可以根据错误提示信息查找该应用程序的程序漏洞。
119.一种实现方式中,第一日志采集器在获取到应用程序产生的日志(原始日志)之后,可以读取原始日志的文本信息,根据预设的解析方式提取文本信息中的预设字段的信息(目标字段信息),根据目标字段信息生成目标日志。预设的解析方式可以为正则解析方式、json(javascript object notation,js对象简谱)解析方式、分隔符解析方式等等,在此不做限定。
120.基于相同的发明构思,本发明还提供了一种日志采集系统。
121.实施例九,参见图5,图5为本发明实施例提供的一种日志采集系统的结构图,包括:多个宿主机(包括宿主机5011、宿主机5012、宿主机5013)、控制服务器502。本发明实施例九仅以包含3个宿主机为例进行说明,实际并不限于此。第一宿主机可以为上述宿主机5011、宿主机5012、宿主机5013中的任一一个。
122.第一宿主机,用于通过第一日志采集器,向控制服务器502发送第一采集任务请求,第一采集任务请求包括第一宿主机中各容器中已部署的应用程序的应用标识;
123.控制服务器502,用于接收第一采集任务请求;针对第一采集任务请求中的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务;若存在该应用
标识对应的采集任务,则向第一日志采集器发送该应用标识对应的采集任务;
124.第一宿主机,还用于通过日志采集器,针对每一应用标识,根据接收到的该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
125.也就是说,图5中,任一一个宿主机均可以基于本技术实施例的方法,实现通过第一日志采集器能够针对采集任务对应的应用程序进行日志采集。
126.实施例十,参见图6,图6为本发明实施例提供的一种日志采集方法的流程示意图。
127.用户可以根据业务需求,编辑各应用程序对应的采集任务,并将采集任务记录在控制中心(即本技术中的控制服务器)中,采集任务包括该应用程序的应用标识,以及该应用程序的日志的保存路径。当人工部署应用到宿主机时,宿主机可以向控制中心发送部署该应用程序时,创建的容器的容器信息。容器信息包含该容器中部署的应用程序(第二应用程序)的应用标识(第二应用标识)。当控制服务器接收到第二应用程序的第二应用标识,可以判断本地记录的各采集任务中,是否存在记录有第二应用标识的采集任务(第二采集任务)。若存在第二采集任务,确定需要采集第二应用程序的日志,则,在该宿主机中安装日志采集器。日志采集器安装成功后,日志采集器可以从控制服务器获取第二采集任务,并根据第二采集任务采集第二应用程序的运行日志。
128.实施例十一,参见图7,图7为本发明实施例提供的一种网站的日志采集流程示意图。
129.以下以abc网站为例,介绍网站的日志采集流程。
130.步骤一:用户编辑abc网站的采集任务并存储在控制中心(即本技术中的控制服务器),采集任务可以记录:应用名称:abc网站,文件路径:log/info.log(abc网站运行时产生的日志的存储路径)。
131.步骤二:用户可以通过容器管理工具,在该容器管理工具管理的集群(预设的多个宿主机)中部署abc网站。例如,将abc网站部署在宿主机a创建的容器a中。
132.步骤三:当容器a创建成功,宿主机a可以向控制中心发送abc网站的名称:abc网站,及宿主机a的地址。
133.步骤四:控制中心在存储的采集任务中,查找是否有包含应用名称为“abc网站”的采集任务,若存在包含应用名称为“abc网站”的采集任务,则,控制中心可以根据宿主机a的地址,向宿主机a发送日志采集器的安装包和安装指令,以使宿主机a安装日志采集器(日志采集器a)。若不存在包含应用名称为“abc网站”的采集任务,则,控制中心不向宿主机a发送日志采集器的安装包和安装指令。
134.步骤五:日志采集器a安装成功后,从控制中心获取abc网站对应的采集任务。日志采集器a根据获取到的abc网站对应的采集任务进行日志采集。
135.步骤六:若abc网站的业务量增加,容器管理工具可以对abc网站进行动态扩容,即,在宿主机b创建的容器b中部署abc网站的部分业务,abc网站同时部署于宿主机a的容器a与宿主机b的容器b中。相应的宿主机b与控制中心可以执行上述步骤一至步骤五相同的操作。
136.实施例十二,参见图8,图8为本发明实施例提供的日志采集系统的系统框图。
137.本发明实施例提供的日志采集系统包含用户界面、控制中心(即本技术中的控制服务器)和各日志采集器。
138.用户界面的功能为:用户可以通过用户界面编辑和保存所要采集的应用程序的采集任务,控制中心可以保存采集任务。
139.控制中心的功能为:控制中心可以在宿主机创建容器时,接收宿主机发送的容器中的应用程序的信息和该宿主机的地址。控制中心根据该应用程序的信息判断该宿主机是否需要安装日志采集器,若该宿主机需要安装日志采集器,则根据该宿主机的地址向该宿主机发送日志采集器的安装包和安装指令,以使该宿主机安装日志采集器。控制中心可以根据日志采集器发送的采集任务请求,向该日志采集器下发该宿主机已部署的应用程序对应的采集任务。
140.日志采集器的功能:从控制中心获取宿主机已部署的应用程序对应的采集任务,根据每一采集任务采集对应的应用程序的日志。
141.基于相同的发明构思,本发明实施例还提供了一种日志采集装置,应用于控制服务器。
142.实施例十三,参见图9,图9为本发明实施例提供的一种日志采集装置的结构图,装置包括:
143.接收模块901,用于接收第一宿主机中的第一日志采集器发送的第一采集任务请求;第一采集任务请求包括第一宿主机中各容器中已部署的应用程序的应用标识;
144.判断模块902,用于针对第一采集任务请求中接收到的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务;
145.第一发送模块903,用于若存在该应用标识对应的采集任务,则向第一日志采集器发送该应用标识对应的采集任务,以使第一日志采集器根据该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
146.实施例十四,该装置还包括:
147.第二接收模块,用于在接收第一宿主机中的第一日志采集器发送的第一采集任务请求之前,接收第一宿主机发送的已创建的目标容器的容器信息;其中,容器信息包含目标容器中部署的目标应用程序的应用标识;
148.第二判断模块,用于判断指定的多个采集任务中是否存在目标应用标识对应的采集任务;
149.第三判断模块,用于若存在目标应用标识对应的采集任务,则判断第一宿主机中当前是否未安装日志采集器;
150.第一发送模块903,还用于若第一宿主机中当前未安装日志采集器,则向第一宿主机发送安装提醒消息,以使第一宿主机根据安装提醒消息,安装日志采集器。
151.实施例十五,第三判断模块,具体用于判断在预设历史时间段内,是否接收到第一宿主机中的日志采集器发送的采集任务请求;若未接收到第一宿主机中的日志采集器发送的采集任务请求,则确定第一宿主机中当前未安装日志采集器。
152.实施例十六,一个应用标识对应的采集任务包含:该应用标识、该应用标识对应的应用程序产生的日志在所属宿主机中的保存路径、针对该应用标识对应的应用程序的日志的处理策略。
153.基于相同的发明构思,本发明实施例还提供了一种日志采集装置,应用于第一宿主机。
154.实施例十七,参见图10,图10为本发明实施例提供的一种日志采集装置的结构图,装置包括:
155.第二发送模块1001,用于通过第一日志采集器,向控制服务器发送第一采集任务请求,第一采集任务请求包括第一宿主机中各容器中已部署的应用程序的应用标识;以使控制服务器接收第一采集任务请求,针对第一采集任务请求中的每一应用标识,判断指定的多个采集任务中是否存在该应用标识对应的采集任务,若存在该应用标识对应的采集任务,则向第一日志采集器发送该应用标识对应的采集任务;
156.采集模块1002,用于通过第一日志采集器,针对每一应用标识,根据接收到的该应用标识对应的采集任务,采集该应用标识所属的应用程序的日志。
157.实施例十八,每一应用标识对应的采集任务包含:该应用标识、该应用标识对应的应用程序产生的日志在所属宿主机中的保存路径;
158.采集模块1002,具体用于通过第一日志采集器,针对每一应用标识,从该应用标识对应的保存路径中,获取该应用标识对应的应用程序产生的日志。
159.实施例十九,每一应用标识对应的采集任务还包含:针对该应用标识对应的应用程序的日志的处理策略;
160.该装置还包括:
161.目标日志生成模块,用于在通过第一日志采集器,针对每一应用标识,从该应用标识对应的保存路径中,获取该应用标识对应的应用程序产生的日志之后,通过第一日志采集器,根据日志处理策略,提取获取到的日志中的预设字段的信息,生成目标日志,将目标日志保存到预设存储位置。
162.本发明实施例还提供了一种电子设备,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,
163.存储器1103,用于存放计算机程序;
164.处理器1101,用于执行存储器1103上所存放的程序时,实现上述实施例中任一所述的日志采集方法。
165.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
166.通信接口用于上述电子设备与其他设备之间的通信。
167.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
168.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
169.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中任一所述的日志采集方法。
170.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的日志采集方法。
171.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
172.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
173.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
174.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1