CN112799931B - 日志采集方法、装置、系统、介质及电子设备 - Google Patents
日志采集方法、装置、系统、介质及电子设备 Download PDFInfo
- Publication number
- CN112799931B CN112799931B CN202110278068.6A CN202110278068A CN112799931B CN 112799931 B CN112799931 B CN 112799931B CN 202110278068 A CN202110278068 A CN 202110278068A CN 112799931 B CN112799931 B CN 112799931B
- Authority
- CN
- China
- Prior art keywords
- intermediate layer
- node
- nodes
- log
- preset condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及一种日志采集方法、装置、系统、介质及电子设备。方法包括:响应于接收到日志采集指令,确定待采集日志的日志源以及日志源所在的区域;根据日志源所在的区域,从多个中间层节点中确定目标中间层节点;将日志采集指令发送至目标中间层节点,以由目标中间层节点从与其对应的多个边缘节点中确定用于从日志源上采集待采集日志的目标边缘节点。这样,各中间层节点可各自管理其所属区域内的边缘节点,减轻主节点的处理压力,有利于日志采集系统的扩展,实现系统的灵活性和可用性。另外,可就近选择与日志源所在的区域较近的目标边缘节点,提升日志采集效率,保证待采集日志能够及时被采集,并且有效减少了网络带宽消耗。
Description
技术领域
本公开涉及日志处理技术领域,具体地,涉及一种日志采集方法、装置、系统、介质及电子设备。
背景技术
现阶段的日志采集系统通常采用主-从结构,即该系统包括主节点和与主节点对应连接的多个边缘节点。其中,主节点用于为每个用户分配一个用于采集日志的边缘节点,并在分配的边缘节点资源不足时,再为用户分配另一资源充足的边缘节点,同时,监测各边缘节点的健康状况;边缘节点用于采集与其对应的用户请求的日志,并对日志进行合并/拆分、统计、分析、多格式转换等操作,之后,将处理好的日志输出到输出目录,用户通过提供的接口到输出目录下载日志。随着业务的扩展,边缘节点会越来越多,主节点的管理压力将会越来越大,不利于日志采集系统的扩展。
发明内容
为了克服相关技术中存在的问题,本公开提供一种日志采集方法、装置、系统、介质及电子设备。
为了实现上述目的,第一方面,本公开提供一种日志采集方法,应用于日志采集系统中的主节点,所述日志采集系统包括所述主节点,与所述主节点对应的、各自位于不同区域的多个中间层节点,以及与每一所述中间层节点对应的、且位于对应的中间层节点所属区域内的多个边缘节点;
所述方法包括:
响应于接收到日志采集指令,确定所述日志采集指令所指示的待采集日志的日志源以及所述日志源所在的区域;
根据所述日志源所在的区域,从所述多个中间层节点中确定目标中间层节点;
将所述日志采集指令发送至所述目标中间层节点,以由所述目标中间层节点从与其对应的多个边缘节点中确定用于从所述日志源上采集所述待采集日志的目标边缘节点。
可选地,所述根据所述日志源所在的区域,从所述多个中间层节点中确定目标中间层节点,包括:
判断所述多个中间层节点中是否存在所属区域与所述日志源所在的区域相同的中间层节点;
若所述多个中间层节点中存在所属区域与所述日志源所在的区域相同的中间层节点,则判断第一候选节点是否满足第一预设条件,其中,所述第一候选节点为所属区域与所述日志源所在的区域相同的中间层节点,所述第一预设条件为其对应的多个边缘节点中存在满足预设的日志采集条件的边缘节点;
若所述第一候选节点满足所述第一预设条件,则将所述第一候选节点确定为所述目标中间层节点。
可选地,所述根据所述日志源所在的区域,从所述多个中间层节点中确定目标中间层节点,还包括:
若所述多个中间层节点中不存在所属区域与所述日志源所在的区域相同的中间层节点,或者所述第一候选节点不满足所述第一预设条件,则确定所述多个中间层节点中是否存在满足第二预设条件的中间层节点,其中,所述第二预设条件为所属区域与所述日志源所在的区域不同、且与所述日志源所在的区域之间的距离小于第一预设距离阈值;
若所述多个中间层节点中存在满足所述第二预设条件的中间层节点,则判断第二候选节点中是否存在满足所述第一预设条件的中间层节点,其中,所述第二候选节点为满足所述第二预设条件的中间层节点;
若所述第二候选节点中存在满足所述第一预设条件的中间层节点,则从满足所述第一预设条件的第二候选节点中确定所述目标中间层节点。
可选地,所述从满足所述第一预设条件的第二候选节点中确定所述目标中间层节点,包括:
若满足所述第一预设条件的第二候选节点的数量为一个,则将满足所述第一预设条件的第二候选节点确定为所述目标中间层节点;
若满足所述第一预设条件的第二候选节点的数量为多个,则根据满足所述第一预设条件的第二候选节点中每一中间层节点对应的多个边缘节点的空闲资源信息、和/或满足所述第一预设条件的第二候选节点中每一中间层节点的位置信息,从满足所述第一预设条件的第二候选节点中确定所述目标中间层节点。
可选地,所述根据所述日志源所在的区域,从所述多个中间层节点中确定目标中间层节点,还包括:
若所述多个中间层节点中不存在满足所述第二预设条件的中间层节点,或者所述第二候选节点中不存在满足所述第一预设条件的中间层节点,则确定所述多个中间层节点中是否存在满足第三预设条件的中间层节点,其中,所述第三预设条件为所属区域与所述日志源所在的区域之间的距离大于或等于所述第一预设距离阈值、且小于第二预设距离阈值;
若所述多个中间层节点中存在满足所述第三预设条件的中间层节点,则判断第三候选节点中是否存在满足所述第一预设条件的中间层节点,其中,所述第三候选节点为满足所述第三预设条件的中间层节点;
若所述第三候选节点中存在满足所述第一预设条件的中间层节点,则从满足所述第一预设条件的第三候选节点中确定所述目标中间层节点。
可选地,所述根据所述日志源所在的区域,从所述多个中间层节点中确定目标中间层节点,还包括:
若所述多个中间层节点中不存在满足所述第三预设条件的中间层节点,或者所述第三候选节点中不存在满足所述第一预设条件的中间层节点,则判断第四候选节点中是否存在满足所述第一预设条件的中间层节点,其中,所述第四候选节点为所述多个中间层节点中除所述第一候选节点、所述第二候选节点以及所述第三候选节点外的其他中间层节点;
若所述第四候选节点中存在满足所述第一预设条件的中间层节点,则从满足所述第一预设条件的第四候选节点中确定所述目标中间层节点。
可选地,所述日志采集条件为边缘节点存在空闲资源、且无故障。
可选地,所述方法还包括:
响应于接收到待新增中间层节点发送的注册请求,确定所述多个中间层节点中是否存在所属区域与所述注册请求所指示的所述待新增中间层节点所属区域相同的中间层节点;若所述多个中间层节点中不存在所属区域与所述待新增中间层节点所属区域相同的中间层节点,则建立所述待新增中间层节点与所述主节点之间的对应关系;和/或
响应于接收到待注销中间层节点发送的注销请求,解除所述待注销中间层节点与所述主节点之间的对应关系,其中,所述待注销中间层节点为所述多个中间层节点中的任一者。
第二方面,本公开提供一种日志采集装置,应用于日志采集系统中的主节点,所述日志采集系统包括所述主节点,与所述主节点对应的、各自位于不同区域的多个中间层节点,以及与每一所述中间层节点对应的、且位于对应的中间层节点所属区域内的多个边缘节点;
所述装置包括:
第一确定模块,用于响应于接收到日志采集指令,确定所述日志采集指令所指示的待采集日志的日志源以及所述日志源所在的区域;
第二确定模块,用于根据所述第一确定模块确定出的所述日志源所在的区域,从所述多个中间层节点中确定目标中间层节点;
发送模块,用于将所述日志采集指令发送至所述第二确定模块确定出的所述目标中间层节点,以由所述目标中间层节点从与其对应的多个边缘节点中确定用于从所述日志源上采集所述待采集日志的目标边缘节点。
第三方面,本公开提供一种日志采集系统,包括:
主节点,其中,所述主节点用于执行本公开第一方面提供的所述方法的步骤;
与所述主节点对应的、各自位于不同区域的多个中间层节点,其中,所述中间层节点用于响应于从所述主节点接收到的日志采集指令,从与其对应的多个边缘节点中确定用于从该日志采集指令所指示的待采集日志的日志源上采集待采集日志的目标边缘节点,并将该日志采集指令发送至所述目标边缘节点;以及
与每一所述中间层节点对应的、且位于对应的中间层节点所属区域内的多个边缘节点,其中,所述边缘节点用于响应于从与其对应的中间层节点接收到的日志采集指令,从该日志采集指令所指示的待采集日志的日志源上采集待采集日志。
第四方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面提供的所述方法的步骤;
第五方面,本公开提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面提供的所述方法的步骤;
在上述技术方案中,日志采集系统中的主节点响应于接收到日志采集指令,确定日志采集指令所指示的待采集日志的日志源以及该日志源所在的区域,其中,日志采集系统包括主节点,与主节点对应的、各自位于不同区域的多个中间层节点,以及与每一中间层节点对应的、且位于对应的中间层节点所属区域内的多个边缘节点;然后,主节点根据日志源所在的区域,从日志采集系统中的多个中间层节点中确定目标中间层节点;最后,将日志采集指令发送至目标中间层节点,以由该目标中间层节点从与其对应的多个边缘节点中确定用于从日志源上采集待采集日志的目标边缘节点。这样,各中间层节点可以各自管理其所属区域内的边缘节点,例如,分配日志采集任务、监测其所属区域内各边缘节点的健康状况,减轻主节点的处理压力,有利于实现日志采集系统的扩展,实现系统的灵活性和可用性。另外,主节点根据日志源所在的区域,确定目标中间层节点,以由该目标中间层节点确定从日志源上采集待采集日志的目标边缘节点,这样,可以就近选择与日志源所在的区域较近的目标边缘节点,从而缩短日志采集指令、采集到的日志等的传输时间,提升日志采集效率,保证待采集日志能够及时被采集,并且有效减少了网络带宽消耗。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种日志采集系统的框图。
图2是根据一示例性实施例示出的一种日志采集方法的流程图。
图3是根据一示例性实施例示出的一种根据日志源所在的区域,从多个中间层节点中确定目标中间层节点的方法的流程图。
图4是根据一示例性实施例示出的一种日志采集装置的框图。
图5是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
本公开提供一种日志采集系统,其中,该日志采集系统包括主节点,与主节点对应的多个中间层节点以及与每一中间层节点对应的多个边缘节点。其中,边缘节点是指在日志采集系统中、距离日志采集请求方较近的节点设备;各中间层节点分别位于不同区域,并且,每一中间层节点对应的多个边缘节点位于该中间层节点所属区域内,即每一中间层节点对应的多个边缘节点和该中间层节点均位于同一区域内。
示例地,如图1所示,日志采集系统包括主节点、与该主节点对应的n个中间层节点(即,中间层节点1、中间层节点2、……、中间层节点n)以及每一中间层节点对应的多个边缘节点。另外,中间层节点1所属区域为区域1、中间层节点2所属区域为区域2、……、中间层节点n所属区域为区域n,并且,中间层节点1对应的多个边缘节点和该中间层节点1均位于区域1内,中间层节点2对应的多个边缘节点和该中间层节点2均位于区域2内,……,中间层节点n对应的多个边缘节点和该中间层节点n均位于区域n内。
主节点用于管理中间层节点,记录中间层节点的节点信息,并从kafka(其中,kafka最初由linkedin公司开发,是一个分布式、分区、多副本、多订阅者、基于zookeeper协调的分布式日志系统)获取日志采集指令,其中,该日志采集指令包括日志采集请求方的信息(即下发日志采集指令方的信息)、待采集日志的日志源(即产生待采集日志的服务器)和该日志源所在的区域、日志采集时段等信息。前端将日志采集指令均下发到kafka,之后,根据日志采集指令,从多个中间层节点中选取目标中间层节点,以由该目标中间层节点从与其对应的多个边缘节点中确定用于从当前的日志采集指令所指示的待采集日志的日志源上采集待采集日志的目标边缘节点。其中,上述节点信息包括中间层节点所属区域、中间层节点所属区域内各边缘节点的空闲资源信息(即该中间层节点对应的多个边缘节点的空闲资源信息)、中间层节点的健康状况等,其中,空闲资源信息包括空闲磁盘空间、空闲CPU、空闲内存、空闲网络带宽等。
中间层节点为其所属区域的中心节点,用于管理其所属区域内的所有边缘节点,包括边缘节点的内存、磁盘空间、CPU、健康状况等信息。另外,中间层节点启动后会主动向主节点汇报自身信息(包括其所属区域、内存情况、磁盘空间大小等)和所管理区域(即其所属区域)中各边缘节点的空闲资源信息。另外,中间层节点还用于响应于从主节点接收到的日志采集指令,从与其对应的多个边缘节点中确定用于从当前的日志采集指令所指示的待采集日志的日志源上采集待采集日志的目标边缘节点,并将日志采集指令发送至该目标边缘节点。示例地,中间层节点可以根据其对应的多个边缘节点的空闲资源信息择优选取一个边缘节点(即目标边缘节点)执行采集任务。
边缘节点用于响应于从与其对应的中间层节点接收到的日志采集指令,从该日志采集指令所指示的待采集日志的日志源上采集待采集日志,并对其进行存储、合并、统计、分析等操作,并对外提供日志下载服务。另外,边缘节点启动后主动向对应的中间层节点汇报自身的空闲资源信息。
另外,当日志采集系统比较庞大时(即日志采集系统中的边缘节点数量繁多时),日志采集系统中的中间层节点还可细分为多个层级,例如,可根据与主节点的距离分为二级节点和三级节点等。
具体来说,上述主节点根据日志采集指令,可以通过图2中所示的S201~S203来从多个中间层节点中选取目标中间层节点。
在S201中,响应于接收到日志采集指令,确定日志采集指令所指示的待采集日志的日志源以及日志源所在的区域。
在本公开中,日志采集指令包括日志采集请求方的信息、待采集日志的日志源和该日志源所在的区域、日志采集时段等信息。这样,主节点在接收到日志采集指令后,通过解析该日志采集指令,即可获取到待采集日志的日志源和该日志源所在的区域。
在S202中,根据日志源所在的区域,从多个中间层节点中确定目标中间层节点。
在S203中,将日志采集指令发送至目标中间层节点,以由目标中间层节点从与其对应的多个边缘节点中确定用于从日志源上采集待采集日志的目标边缘节点。
在上述技术方案中,日志采集系统中的主节点响应于接收到日志采集指令,确定日志采集指令所指示的待采集日志的日志源以及该日志源所在的区域,其中,日志采集系统包括主节点,与主节点对应的、各自位于不同区域的多个中间层节点,以及与每一中间层节点对应的、且位于对应的中间层节点所属区域内的多个边缘节点;然后,主节点根据日志源所在的区域,从日志采集系统中的多个中间层节点中确定目标中间层节点;最后,将日志采集指令发送至目标中间层节点,以由该目标中间层节点从与其对应的多个边缘节点中确定用于从日志源上采集待采集日志的目标边缘节点。这样,各中间层节点可以各自管理其所属区域内的边缘节点,例如,分配日志采集任务、监测其所属区域内各边缘节点的健康状况,减轻主节点的处理压力,有利于实现日志采集系统的扩展,实现系统的灵活性和可用性。另外,主节点根据日志源所在的区域,确定目标中间层节点,以由该目标中间层节点确定从日志源上采集待采集日志的目标边缘节点,这样,可以就近选择与日志源所在的区域较近的目标边缘节点,从而缩短日志采集指令、采集到的日志等的传输时间,提升日志采集效率,保证待采集日志能够及时被采集,并且有效减少了网络带宽消耗。
下面针对上述S202中的根据日志源所在的区域,从多个中间层节点中确定目标中间层节点的具体实施方式进行详细说明。具体来说,可以通过图3中所示的S301~S312来实现。
在S301中,判断多个中间层节点中是否存在所属区域与日志源所在的区域相同的中间层节点。
示例地,日志源所属区域为图1中所示的区域2,中间层节点2所属区域也为区域2,即中间层节点2所属区域与该日志源所属区域相同,也就是,多个中间层节点中存在所属区域与日志源所在的区域相同的中间层节点。
又示例地,日志源所在的区域为区域n+1,多个中间层节点中各中间层节点所属区域如图1中所示,可知,多个中间层节点中不存在所属区域与日志源所在的区域相同的中间层节点。
若多个中间层节点中存在所属区域与日志源所在的区域相同的中间层节点,则执行S302;若多个中间层节点中不存在所属区域与日志源所在的区域相同的中间层节点,则执行S304。
在S302中,判断第一候选节点是否满足第一预设条件。
在本公开中,第一候选节点为所属区域与日志源所在的区域相同的中间层节点;第一预设条件为其对应的多个边缘节点中存在满足预设的日志采集条件的边缘节点。
在一种实施方式中,日志采集条件可以为边缘节点存在空闲资源,即边缘节点的空闲磁盘空间、空闲CPU、空闲内存、空闲网络带宽等各项资源的空闲量分别大于相应的阈值。
在另一种实施方式中,日志采集条件除了包括边缘节点存在空闲资源外,还包括边缘节点无故障等,即日志采集条件为边缘节点存在空闲资源、且无故障,其中,故障可以例如是网络故障、硬件故障(比如,磁盘故障、内存故障)等。这样,可以避免后续分配的用于执行日志采集任务的目标边缘节点因故障导致日志采集任务失败。
若第一候选节点满足第一预设条件,即第一候选节点对应的多个边缘节点中存在满足预设的日志采集条件的边缘节点,则执行S303;若第一候选节点不满足第一预设条件,即第一候选节点对应的多个边缘节点中不存在满足预设的日志采集条件的边缘节点,则执行S304。
在S303中,将第一候选节点确定为目标中间层节点。
在本公开中,将第一候选节点作为目标中间层节点,以由该目标中间层节点从与其对应的多个边缘节点中确定用于从日志源上采集待采集日志的目标边缘节点。即是将日志采集任务分配给待采集日志的日志源所在的区域内的边缘节点,遵循就近选择原则,从而缩短日志采集指令、采集到的日志等的传输时间,提升了日志采集效率,保证待采集日志能够及时被采集。
在S304中,确定多个中间层节点中是否存在满足第二预设条件的中间层节点。
在本公开中,第二预设条件为所属区域与日志源所在的区域不同、且与日志源所在的区域之间的距离小于第一预设距离阈值。即S304用于确定多个中间层节点中、是否存在位于日志源所在的区域的邻近区域(即与日志源所在的区域之间的距离小于第一预设距离阈值的区域)内的中间层节点。
若多个中间层节点中不存在所属区域与日志源所在的区域相同的中间层节点,或者第一候选节点不满足第一预设条件,则确定日志源所在的区域内不存在满足日志采集条件的边缘节点,此时,主节点需要确定日志源所在的区域的邻近区域内是否存在满足日志采集条件的边缘节点,即执行S304。
若多个中间层节点中存在满足第二预设条件的中间层节点,则执行S305;若多个中间层节点中不存在满足第二预设条件的中间层节点,则执行S307。
在S305中,判断第二候选节点中是否存在满足第一预设条件的中间层节点。
在本公开中,第二候选节点为满足第二预设条件的中间层节点,并且,该第二候选节点的数量可以为一个,也可以为多个。
若第二候选节点中存在满足第一预设条件的中间层节点,则执行S306;若第二候选节点中不存在满足第一预设条件的中间层节点,则执行S307。
在S306中,从满足第一预设条件的第二候选节点中确定目标中间层节点。
在本公开中,从满足第一预设条件的第二候选节点中确定目标中间层节点,以由该目标中间层节点从与其对应的多个边缘节点中确定用于从日志源上采集待采集日志的目标边缘节点。即是在日志源所在的区域内不存在满足日志采集条件的边缘节点时,若日志源所在的区域的邻近区域内存在满足日志采集条件的边缘节点,则从其邻近区域内的边缘节点中确定目标边缘节点,遵循就近选择原则,从而提升了日志采集效率,保证待采集日志能够及时被采集。
在S307中,确定多个中间层节点中是否存在满足第三预设条件的中间层节点。
在本公开中,第三预设条件为所属区域与日志源所在的区域之间的距离大于或等于第一预设距离阈值、且小于第二预设距离阈值,其中,第二预设距离阈值大于第一预设距离阈值。即S307用于确定多个中间层节点中、是否存在位于日志源所在的区域的邻近区域的邻近区域(即与日志源所在的区域之间的距离大于或等于第一预设距离阈值、且小于第二预设距离阈值的区域)内的中间层节点。
若多个中间层节点中存在满足第三预设条件的中间层节点,则执行S308;若多个中间层节点中不存在满足第三预设条件的中间层节点,则执行S310。
在S308中,判断第三候选节点中是否存在满足第一预设条件的中间层节点。
在本公开中,第三候选节点为满足第三预设条件的中间层节点。
若第三候选节点中存在满足第一预设条件的中间层节点,则执行S309;若第三候选节点中不存在满足第一预设条件的中间层节点,则执行S310。
在S309中,从满足第一预设条件的第三候选节点中确定目标中间层节点。
在本公开中,从满足第一预设条件的第三候选节点中确定目标中间层节点,以由该目标中间层节点从与其对应的多个边缘节点中确定用于从日志源上采集待采集日志的目标边缘节点。即是在日志源所在的区域和其邻近区域内均不存在满足日志采集条件的边缘节点时,若日志源所在的区域的邻近区域的邻近区域内存在满足日志采集条件的边缘节点,则从其邻近区域的邻近区域内的边缘节点中确定目标边缘节点,遵循就近选择原则,从而提升了日志采集效率,保证待采集日志能够及时被采集。
在S310中,判断第四候选节点中是否存在满足第一预设条件的中间层节点。
在本公开中,第四候选节点为多个中间层节点中除第一候选节点、第二候选节点以及第三候选节点外的其他中间层节点。在日志源所在的区域、其邻近区域以及该邻近区域的邻近区域内均不存在满足日志采集条件的边缘节点时,可以确定除这些区域外的其他区域内是否存在满足日志采集条件的边缘节点,即从多个中间层节点中除第一候选节点、第二候选节点以及第三候选节点外的其他中间层节点中确定目标中间层节点,以由该目标中间层节点从与其对应的多个边缘节点中确定用于从日志源上采集待采集日志的目标边缘节点,即执行S310。
若第四候选节点中存在满足第一预设条件的中间层节点,则可以从除日志源所在的区域、其邻近区域以及该邻近区域的邻近区域外的其他区域内查找满足日志采集条件的边缘节点,即执行S311;若第四候选节点中不存在满足第一预设条件的中间层节点,则表明除日志源所在的区域、其邻近区域以及该邻近区域的邻近区域外的其他区域内也不存在满足日志采集条件的边缘节点,此时,执行S312。
在S311中,从满足第一预设条件的第四候选节点中确定目标中间层节点。
在S312中,生成用于指示日志采集失败的提醒消息。
在本公开中,若第四候选节点中不存在满足第一预设条件的中间层节点,则表明多个中间层节点中不存在满足第一预设条件的中间层节点,即日志系统中不存在满足日志采集条件的边缘节点,此时,日志采集系统无法进行日志采集任务,此时,可以生成用于指示日志采集失败的提醒消息,以提醒用户增加边缘节点或者查找故障,以保证后续日志采集任务的顺利执行。
下面针对上述S306中的从满足第一预设条件的第二候选节点中确定目标中间层节点的具体实施方式进行详细说明。
具体来说,若满足第一预设条件的第二候选节点的数量为一个,则将满足第一预设条件的第二候选节点确定为目标中间层节点。
若满足第一预设条件的第二候选节点的数量为多个,则可以通过多种方式来确定目标中间层节点。在一种实施方式中,可以根据满足第一预设条件的第二候选节点中每一中间层节点对应的多个边缘节点的空闲资源信息,从满足第一预设条件的第二候选节点中确定目标中间层节点。具体来说,可以针对满足第一预设条件的第二候选节点中每一中间层节点,根据该中间层节点对应的多个边缘节点的空闲资源信息,分别确定该中间层节点对应的多个边缘节点的总的空闲资源;然后,将满足第一预设条件的第二候选节点中、对应的总的空闲资源相对较多的中间层节点确定为目标中间层节点。
示例地,空闲资源信息包括空闲磁盘空间、空闲CPU、空闲内存、空闲网络带宽,则可以通过以下方式确定目标中间层节点:分别确定满足第一预设条件的第二候选节点中每一中间层节点对应多个边缘节点的总的空闲磁盘空间、总的空闲CPU、总的空闲内存、总的空闲网络带宽,然后,针对上述每一中间层节点,将该中间层节点对应多个边缘节点的总的空闲磁盘空间、总的空闲CPU、总的空闲内存、总的空闲网络带宽进行加权求和;然后,将满足第一预设条件的第二候选节点中、对应的加权求和值最大的中间层节点确定为目标中间层节点。
在另一种实施方式中,可以根据满足第一预设条件的第二候选节点中每一中间层节点的位置信息,从满足第一预设条件的第二候选节点中确定目标中间层节点。具体来说,可以将满足第一预设条件的第二候选节点中、所属区域与日志源所在的区域最近的中间层节点确定为目标中间层节点。
在又一种实施方式中,可以根据满足第一预设条件的第二候选节点中每一中间层节点对应的多个边缘节点的空闲资源信息、满足第一预设条件的第二候选节点中每一中间层节点的位置信息,从满足第一预设条件的第二候选节点中确定目标中间层节点,专业,使得确定出的目标中间层节点在距离和空闲资源方面均是较优的,以进一步提升日志采集的效率。具体来说,可以针对满足第一预设条件的第二候选节点中每一中间层节点,根据该中间层节点对应的多个边缘节点的空闲资源信息,分别确定该中间层节点对应的多个边缘节点的总的空闲资源;然后,将满足第一预设条件的第二候选节点中、对应的总的空闲资源相对较多、且所属区域与日志源所在的区域相对较近的中间层节点确定为目标中间层节点。
示例地,空闲磁盘空间、空闲CPU、空闲内存、空闲网络带宽,则可以通过以下方式确定目标中间层节点:分别确定满足第一预设条件的第二候选节点中每一中间层节点对应多个边缘节点的总的空闲磁盘空间、总的空闲CPU、总的空闲内存、总的空闲网络带宽;同时,分别计算满足第一预设条件的第二候选节点中每一中间层节点所属区域与日志源所在的区域之间的距离;然后,针对上述每一中间层节点,将该中间层节点对应多个边缘节点的总的空闲磁盘空间、总的空闲CPU、总的空闲内存、总的空闲网络带宽以及该中间层节点所属区域与日志源所在的区域之间的距离进行加权求和;然后,将满足第一预设条件的第二候选节点中、对应的加权求和值最大的中间层节点确定为目标中间层节点。
另外,上述S309、S311可以采用与上述S306类似的方式来确定目标中间层节点,在本公开中不再赘述。
此外,上述方法还可以包括以下步骤(1)和(2)中的至少一者:
(1)响应于接收到待新增中间层节点发送的注册请求,确定多个中间层节点中是否存在所属区域与注册请求所指示的待新增中间层节点所属区域相同的中间层节点;若多个中间层节点中不存在所属区域与待新增中间层节点所属区域相同的中间层节点,则建立待新增中间层节点与主节点之间的对应关系;若多个中间层节点中存在所属区域与待新增中间层节点所属区域相同的中间层节点,则向该待新增中间层节点发送用于提示注册失败的提醒消息,或者将待新增中间层节点作为与待新增中间层节点所属区域相同的中间层节点的备份节点。
在本公开中待新增中间层节点需要加入日志采集系统时,可以先确定自身所属区域,然后,将包含其自身所属区域信息的注册请求发送至主节点;主节点接收到该注册请求后,解析该注册请求,得到该待新增中间层节点所属区域;之后,确定多个中间层节点中是否存在所属区域与待新增中间层节点所属区域相同的中间层节点;若多个中间层节点中存在所属区域与待新增中间层节点所属区域相同的中间层节点,则建立待新增中间层节点与主节点之间的对应关系,即在日志采集系统中新增一个中间层节点(即该待新增中间层节点);若多个中间层节点中不存在所属区域与待新增中间层节点所属区域相同的中间层节点,则向该待新增中间层节点发送用于提示注册失败的提醒消息,或者将待新增中间层节点作为与待新增中间层节点所属区域相同的中间层节点的备份节点,以在与待新增中间层节点所属区域相同的中间层节点故障时,接替其继续工作,提升日志采集系统的容错性能。
(2)响应于接收到待注销中间层节点发送的注销请求,解除待注销中间层节点与主节点之间的对应关系。
在本公开中,当日志采集系统中的任一中间层节点需要退出日志采集系统时,可以作为待注销中间层节点向主节点发送注销请求;主节点接收到该注销请求后,解除待注销中间层节点与主节点之间的对应关系,即在日志采集系统中剔除一个中间层节点(即待注销中间层节点)。另外,当解除待注销中间层节点与主节点之间的对应关系,该被解除对应关系的中间层节点以及其对应的多个边缘节点可以执行日志采集任务外的其他任务。
这样,可以根据日志采集系统的负载情况,实时进行中间层节点的自动添加或删除,实现日志采集系统的自动弹性扩展,而不需要人工进行注册、注销,能较好应对业务发展或流量突发状况。
下面针对上述中间层节点响应于从主节点接收到的日志采集指令,从与其对应的多个边缘节点中确定用于从日志源上采集待采集日志的目标边缘节点的具体实施方式进行详细说明。
具体来说,针对上述多个中间层节点中的任一中间层节点,若该中间层节点接收到主节点发送的日志采集指令,则该中间层节点从与其对应的多个边缘节点中确定用于从日志源上采集待采集日志的目标边缘节点。具体来说,该中间层节点可以将其对应的多个边缘节点中、空闲资源相对较多的边缘节点确定为目标边缘节点。
示例地,该中间层节点可以先获取其对应的多个边缘节点中每一边缘节点的空闲资源信息,其中,该空闲资源信息包括空闲磁盘空间、空闲CPU、空闲内存、空闲网络带宽;然后,针对该中间层节点对应的多个边缘节点中每一边缘节点,将该边缘节点的空闲磁盘空间、空闲CPU、空闲内存、空闲网络带宽进行加权求和;最后,该中间层节点对应的多个边缘节点中、对应的加权求和值最大的边缘节点确定为目标边缘节点。
这样,可以根据该中间层节点对应的各边缘节点的磁盘空间、内存负载、CPU使用情况以及空闲网络带宽情况,选择目标边缘节点,从而保证各边缘节点负载均衡、存储均衡,避免因个别边缘节点负载太大导致的日志采集延迟的问题。
另外,上述中间层节点还可以用于:响应于接收到待新增边缘节点发送的注册请求,确定其所属区域是否与注册请求所指示的待新增边缘节点所属区域相同;若相同,则建立待新增边缘节点与该中间层节点之间的对应关系;若不相同,则向该待新增边缘节点发送注册失败的提醒消息。和/或响应于接收到待注销边缘节点发送的注销请求,解除该待注销边缘节点与该中间层节点之间的对应关系,其中,待注销边缘节点为日志采集系统中的任一边缘节点。
这样,可以根据日志采集系统的负载情况,实时进行边缘节点的自动添加或删除,实现日志采集系统的自动弹性扩展,而不需要人工进行注册、注销,能较好应对业务发展或流量突发状况。
基于同样的发明构思,本公开还提供一种日志采集装置,其中,该装置应用于日志采集系统中的主节点,其中,所述日志采集系统包括所述主节点,与所述主节点对应的、各自位于不同区域的多个中间层节点,以及与每一所述中间层节点对应的、且位于对应的中间层节点所属区域内的多个边缘节点。如图4所示,该日志采集装置400包括:第一确定模块401,用于响应于接收到日志采集指令,确定所述日志采集指令所指示的待采集日志的日志源以及所述日志源所在的区域;第二确定模块402,用于根据所述第一确定模块401确定出的所述日志源所在的区域,从所述多个中间层节点中确定目标中间层节点;发送模块403,用于将所述日志采集指令发送至所述第二确定模块402确定出的所述目标中间层节点,以由所述目标中间层节点从与其对应的多个边缘节点中确定用于从所述日志源上采集所述待采集日志的目标边缘节点。
在上述技术方案中,日志采集系统中的主节点响应于接收到日志采集指令,确定日志采集指令所指示的待采集日志的日志源以及该日志源所在的区域,其中,日志采集系统包括主节点,与主节点对应的、各自位于不同区域的多个中间层节点,以及与每一中间层节点对应的、且位于对应的中间层节点所属区域内的多个边缘节点;然后,主节点根据日志源所在的区域,从日志采集系统中的多个中间层节点中确定目标中间层节点;最后,将日志采集指令发送至目标中间层节点,以由该目标中间层节点从与其对应的多个边缘节点中确定用于从日志源上采集待采集日志的目标边缘节点。这样,各中间层节点可以各自管理其所属区域内的边缘节点,例如,分配日志采集任务、监测其所属区域内各边缘节点的健康状况,减轻主节点的处理压力,有利于实现日志采集系统的扩展,实现系统的灵活性和可用性。另外,主节点根据日志源所在的区域,确定目标中间层节点,以由该目标中间层节点确定从日志源上采集待采集日志的目标边缘节点,这样,可以就近选择与日志源所在的区域较近的目标边缘节点,从而缩短日志采集指令、采集到的日志等的传输时间,提升日志采集效率,保证待采集日志能够及时被采集,并且有效减少了网络带宽消耗。
可选地,所述第二确定模块402包括:第一判断子模块,用于判断所述多个中间层节点中是否存在所属区域与所述日志源所在的区域相同的中间层节点;第二判断子模块,用于若所述多个中间层节点中存在所属区域与所述日志源所在的区域相同的中间层节点,则判断第一候选节点是否满足第一预设条件,其中,所述第一候选节点为所属区域与所述日志源所在的区域相同的中间层节点,所述第一预设条件为其对应的多个边缘节点中存在满足预设的日志采集条件的边缘节点;第一确定子模块,用于若所述第一候选节点满足所述第一预设条件,则将所述第一候选节点确定为所述目标中间层节点。
可选地,所述第二确定模块402还包括:第二确定子模块,用于若所述多个中间层节点中不存在所属区域与所述日志源所在的区域相同的中间层节点,或者所述第一候选节点不满足所述第一预设条件,则确定所述多个中间层节点中是否存在满足第二预设条件的中间层节点,其中,所述第二预设条件为所属区域与所述日志源所在的区域不同、且与所述日志源所在的区域之间的距离小于第一预设距离阈值;第三判断子模块,用于若所述多个中间层节点中存在满足所述第二预设条件的中间层节点,则判断第二候选节点中是否存在满足所述第一预设条件的中间层节点,其中,所述第二候选节点为满足所述第二预设条件的中间层节点;第三确定子模块,用于若所述第二候选节点中存在满足所述第一预设条件的中间层节点,则从满足所述第一预设条件的第二候选节点中确定所述目标中间层节点。
可选地,所述第三确定子模块用于:若满足所述第一预设条件的第二候选节点的数量为一个,则将满足所述第一预设条件的第二候选节点确定为所述目标中间层节点;若满足所述第一预设条件的第二候选节点的数量为多个,则根据满足所述第一预设条件的第二候选节点中每一中间层节点对应的多个边缘节点的空闲资源信息、和/或满足所述第一预设条件的第二候选节点中每一中间层节点的位置信息,从满足所述第一预设条件的第二候选节点中确定所述目标中间层节点。
可选地,所述第二确定模块402还包括:第四确定子模块,用于若所述多个中间层节点中不存在满足所述第二预设条件的中间层节点,或者所述第二候选节点中不存在满足所述第一预设条件的中间层节点,则确定所述多个中间层节点中是否存在满足第三预设条件的中间层节点,其中,所述第三预设条件为所属区域与所述日志源所在的区域之间的距离大于或等于所述第一预设距离阈值、且小于第二预设距离阈值;第四判断子模块,用于若所述多个中间层节点中存在满足所述第三预设条件的中间层节点,则判断第三候选节点中是否存在满足所述第一预设条件的中间层节点,其中,所述第三候选节点为满足所述第三预设条件的中间层节点;第五确定子模块,用于若所述第三候选节点中存在满足所述第一预设条件的中间层节点,则从满足所述第一预设条件的第三候选节点中确定所述目标中间层节点。
可选地,所述第二确定模块402还包括:第五判断子模块,用于若所述多个中间层节点中不存在满足所述第三预设条件的中间层节点,或者所述第三候选节点中不存在满足所述第一预设条件的中间层节点,则判断第四候选节点中是否存在满足所述第一预设条件的中间层节点,其中,所述第四候选节点为所述多个中间层节点中除所述第一候选节点、所述第二候选节点以及所述第三候选节点外的其他中间层节点;第六确定子模块,用于若所述第四候选节点中存在满足所述第一预设条件的中间层节点,则从满足所述第一预设条件的第四候选节点中确定所述目标中间层节点。
可选地,所述日志采集条件为边缘节点存在空闲资源、且无故障。
可选地,所述装置400还包括:
第三确定模块,用于响应于接收到待新增中间层节点发送的注册请求,确定所述多个中间层节点中是否存在所属区域与所述注册请求所指示的所述待新增中间层节点所属区域相同的中间层节点;建立模块,用于若所述多个中间层节点中不存在所属区域与所述待新增中间层节点所属区域相同的中间层节点,则建立所述待新增中间层节点与所述主节点之间的对应关系;和/或
解除模块,用于响应于接收到待注销中间层节点发送的注销请求,解除所述待注销中间层节点与所述主节点之间的对应关系,其中,所述待注销中间层节点为所述多个中间层节点中的任一者。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开提供的上述日志采集方法的步骤。
图5是根据一示例性实施例示出的一种电子设备500的框图。例如,电子设备500可以被提供为一服务器。参照图5,电子设备500包括处理器522,其数量可以为一个或多个,以及存储器532,用于存储可由处理器522执行的计算机程序。存储器532中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器522可以被配置为执行该计算机程序,以执行上述的日志采集方法。
另外,电子设备500还可以包括电源组件526和通信组件550,该电源组件526可以被配置为执行电子设备500的电源管理,该通信组件550可以被配置为实现电子设备500的通信,例如,有线或无线通信。此外,该电子设备500还可以包括输入/输出(I/O)接口558。电子设备500可以操作基于存储在存储器532的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的日志采集方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器532,上述程序指令可由电子设备500的处理器522执行以完成上述的日志采集方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的日志采集方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (7)
1.一种日志采集方法,应用于日志采集系统中的主节点,其特征在于,所述日志采集系统包括所述主节点,与所述主节点对应的、各自位于不同区域的多个中间层节点,以及与每一所述中间层节点对应的、且位于对应的中间层节点所属区域内的多个边缘节点;
所述方法包括:
响应于接收到日志采集指令,确定所述日志采集指令所指示的待采集日志的日志源以及所述日志源所在的区域;
根据所述日志源所在的区域,从所述多个中间层节点中确定目标中间层节点;
将所述日志采集指令发送至所述目标中间层节点,以由所述目标中间层节点从与其对应的多个边缘节点中确定用于从所述日志源上采集所述待采集日志的目标边缘节点;
响应于接收到待新增中间层节点发送的注册请求,确定所述多个中间层节点中是否存在所属区域与所述注册请求所指示的所述待新增中间层节点所属区域相同的中间层节点,其中,所述待新增中间层节点为需要加入所述日志采集系统的节点;若所述多个中间层节点中不存在所属区域与所述待新增中间层节点所属区域相同的中间层节点,则建立所述待新增中间层节点与所述主节点之间的对应关系,以在所述日志采集系统中新增所述待新增中间层节点;
响应于接收到待注销中间层节点发送的注销请求,解除所述待注销中间层节点与所述主节点之间的对应关系,以在所述日志采集系统中剔除所述待注销中间层节点,其中,所述待注销中间层节点为所述多个中间层节点中的任一者;
所述根据所述日志源所在的区域,从所述多个中间层节点中确定目标中间层节点,包括:
判断所述多个中间层节点中是否存在所属区域与所述日志源所在的区域相同的中间层节点;
若所述多个中间层节点中存在所属区域与所述日志源所在的区域相同的中间层节点,则判断第一候选节点是否满足第一预设条件,其中,所述第一候选节点为所属区域与所述日志源所在的区域相同的中间层节点,所述第一预设条件为其对应的多个边缘节点中存在满足预设的日志采集条件的边缘节点,所述日志采集条件为边缘节点存在空闲资源、且无故障,所述故障包括网络故障和硬件故障;
若所述第一候选节点满足所述第一预设条件,则将所述第一候选节点确定为所述目标中间层节点;
若所述多个中间层节点中不存在所属区域与所述日志源所在的区域相同的中间层节点,或者所述第一候选节点不满足所述第一预设条件,则确定所述多个中间层节点中是否存在满足第二预设条件的中间层节点,其中,所述第二预设条件为所属区域与所述日志源所在的区域不同、且与所述日志源所在的区域之间的距离小于第一预设距离阈值;
若所述多个中间层节点中存在满足所述第二预设条件的中间层节点,则判断第二候选节点中是否存在满足所述第一预设条件的中间层节点,其中,所述第二候选节点为满足所述第二预设条件的中间层节点;
若所述第二候选节点中存在满足所述第一预设条件的中间层节点,则从满足所述第一预设条件的第二候选节点中确定所述目标中间层节点;
若所述多个中间层节点中不存在满足所述第二预设条件的中间层节点,或者所述第二候选节点中不存在满足所述第一预设条件的中间层节点,则确定所述多个中间层节点中是否存在满足第三预设条件的中间层节点,其中,所述第三预设条件为所属区域与所述日志源所在的区域之间的距离大于或等于所述第一预设距离阈值、且小于第二预设距离阈值;
若所述多个中间层节点中存在满足所述第三预设条件的中间层节点,则判断第三候选节点中是否存在满足所述第一预设条件的中间层节点,其中,所述第三候选节点为满足所述第三预设条件的中间层节点;
若所述第三候选节点中存在满足所述第一预设条件的中间层节点,则从满足所述第一预设条件的第三候选节点中确定所述目标中间层节点;
所述从满足所述第一预设条件的第二候选节点中确定所述目标中间层节点,包括:
若满足所述第一预设条件的第二候选节点的数量为多个,则分别确定满足所述第一预设条件的第二候选节点中每一中间层节点对应的多个边缘节点的总的空闲磁盘空间、总的空闲CPU、总的空闲内存、总的空闲网络带宽;分别计算满足所述第一预设条件的第二候选节点中每一中间层节点所属区域与日志源所在的区域之间的距离;针对满足所述第一预设条件的第二候选节点中每一中间层节点,将该中间层节点对应的多个边缘节点的总的空闲磁盘空间、总的空闲CPU、总的空闲内存、总的空闲网络带宽以及该中间层节点所属区域与日志源所在的区域之间的距离进行加权求和;将满足所述第一预设条件的第二候选节点中、对应的加权求和值最大的中间层节点确定为目标中间层节点。
2.根据权利要求1所述的方法,其特征在于,所述从满足所述第一预设条件的第二候选节点中确定所述目标中间层节点,还包括:
若满足所述第一预设条件的第二候选节点的数量为一个,则将满足所述第一预设条件的第二候选节点确定为所述目标中间层节点。
3.根据权利要求1所述的方法,其特征在于,所述根据所述日志源所在的区域,从所述多个中间层节点中确定目标中间层节点,还包括:
若所述多个中间层节点中不存在满足所述第三预设条件的中间层节点,或者所述第三候选节点中不存在满足所述第一预设条件的中间层节点,则判断第四候选节点中是否存在满足所述第一预设条件的中间层节点,其中,所述第四候选节点为所述多个中间层节点中除所述第一候选节点、所述第二候选节点以及所述第三候选节点外的其他中间层节点;
若所述第四候选节点中存在满足所述第一预设条件的中间层节点,则从满足所述第一预设条件的第四候选节点中确定所述目标中间层节点。
4.一种日志采集装置,应用于日志采集系统中的主节点,其特征在于,所述日志采集系统包括所述主节点,与所述主节点对应的、各自位于不同区域的多个中间层节点,以及与每一所述中间层节点对应的、且位于对应的中间层节点所属区域内的多个边缘节点;
所述装置包括:
第一确定模块,用于响应于接收到日志采集指令,确定所述日志采集指令所指示的待采集日志的日志源以及所述日志源所在的区域;
第二确定模块,用于根据所述第一确定模块确定出的所述日志源所在的区域,从所述多个中间层节点中确定目标中间层节点;
发送模块,用于将所述日志采集指令发送至所述第二确定模块确定出的所述目标中间层节点,以由所述目标中间层节点从与其对应的多个边缘节点中确定用于从所述日志源上采集所述待采集日志的目标边缘节点;
第三确定模块,用于响应于接收到待新增中间层节点发送的注册请求,确定所述多个中间层节点中是否存在所属区域与所述注册请求所指示的所述待新增中间层节点所属区域相同的中间层节点,其中,所述待新增中间层节点为需要加入所述日志采集系统的节点;建立模块,用于若所述多个中间层节点中不存在所属区域与所述待新增中间层节点所属区域相同的中间层节点,则建立所述待新增中间层节点与所述主节点之间的对应关系,以在所述日志采集系统中新增所述待新增中间层节点;
解除模块,用于响应于接收到待注销中间层节点发送的注销请求,解除所述待注销中间层节点与所述主节点之间的对应关系,以在所述日志采集系统中剔除所述待注销中间层节点,其中,所述待注销中间层节点为所述多个中间层节点中的任一者;
所述第二确定模块,包括:
第一判断子模块,用于判断所述多个中间层节点中是否存在所属区域与所述日志源所在的区域相同的中间层节点;第二判断子模块,用于若所述多个中间层节点中存在所属区域与所述日志源所在的区域相同的中间层节点,则判断第一候选节点是否满足第一预设条件,其中,所述第一候选节点为所属区域与所述日志源所在的区域相同的中间层节点,所述第一预设条件为其对应的多个边缘节点中存在满足预设的日志采集条件的边缘节点,所述日志采集条件为边缘节点存在空闲资源、且无故障,所述故障包括网络故障和硬件故障;第一确定子模块,用于若所述第一候选节点满足所述第一预设条件,则将所述第一候选节点确定为所述目标中间层节点;第二确定子模块,用于若所述多个中间层节点中不存在所属区域与所述日志源所在的区域相同的中间层节点,或者所述第一候选节点不满足所述第一预设条件,则确定所述多个中间层节点中是否存在满足第二预设条件的中间层节点,其中,所述第二预设条件为所属区域与所述日志源所在的区域不同、且与所述日志源所在的区域之间的距离小于第一预设距离阈值;第三判断子模块,用于若所述多个中间层节点中存在满足所述第二预设条件的中间层节点,则判断第二候选节点中是否存在满足所述第一预设条件的中间层节点,其中,所述第二候选节点为满足所述第二预设条件的中间层节点;第三确定子模块,用于若所述第二候选节点中存在满足所述第一预设条件的中间层节点,则从满足所述第一预设条件的第二候选节点中确定所述目标中间层节点;第四确定子模块,用于若所述多个中间层节点中不存在满足所述第二预设条件的中间层节点,或者所述第二候选节点中不存在满足所述第一预设条件的中间层节点,则确定所述多个中间层节点中是否存在满足第三预设条件的中间层节点,其中,所述第三预设条件为所属区域与所述日志源所在的区域之间的距离大于或等于所述第一预设距离阈值、且小于第二预设距离阈值;第四判断子模块,用于若所述多个中间层节点中存在满足所述第三预设条件的中间层节点,则判断第三候选节点中是否存在满足所述第一预设条件的中间层节点,其中,所述第三候选节点为满足所述第三预设条件的中间层节点;第五确定子模块,用于若所述第三候选节点中存在满足所述第一预设条件的中间层节点,则从满足所述第一预设条件的第三候选节点中确定所述目标中间层节点;
所述第三确定子模块,用于:若满足所述第一预设条件的第二候选节点的数量为多个,则分别确定满足所述第一预设条件的第二候选节点中每一中间层节点对应的多个边缘节点的总的空闲磁盘空间、总的空闲CPU、总的空闲内存、总的空闲网络带宽;分别计算满足所述第一预设条件的第二候选节点中每一中间层节点所属区域与日志源所在的区域之间的距离;针对满足所述第一预设条件的第二候选节点中每一中间层节点,将该中间层节点对应的多个边缘节点的总的空闲磁盘空间、总的空闲CPU、总的空闲内存、总的空闲网络带宽以及该中间层节点所属区域与日志源所在的区域之间的距离进行加权求和;将满足所述第一预设条件的第二候选节点中、对应的加权求和值最大的中间层节点确定为目标中间层节点。
5.一种日志采集系统,其特征在于,包括:
主节点,其中,所述主节点用于执行权利要求1-3中任一项所述方法的步骤;
与所述主节点对应的、各自位于不同区域的多个中间层节点,其中,所述中间层节点用于响应于从所述主节点接收到的日志采集指令,从与其对应的多个边缘节点中确定用于从该日志采集指令所指示的待采集日志的日志源上采集待采集日志的目标边缘节点,并将该日志采集指令发送至所述目标边缘节点;以及
与每一所述中间层节点对应的、且位于对应的中间层节点所属区域内的多个边缘节点,其中,所述边缘节点用于响应于从与其对应的中间层节点接收到的日志采集指令,从该日志采集指令所指示的待采集日志的日志源上采集待采集日志。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-3中任一项所述方法的步骤。
7.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-3中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110278068.6A CN112799931B (zh) | 2021-03-15 | 2021-03-15 | 日志采集方法、装置、系统、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110278068.6A CN112799931B (zh) | 2021-03-15 | 2021-03-15 | 日志采集方法、装置、系统、介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799931A CN112799931A (zh) | 2021-05-14 |
CN112799931B true CN112799931B (zh) | 2021-08-10 |
Family
ID=75817065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110278068.6A Active CN112799931B (zh) | 2021-03-15 | 2021-03-15 | 日志采集方法、装置、系统、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799931B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834585B (zh) * | 2022-10-17 | 2024-08-02 | 支付宝(杭州)信息技术有限公司 | 数据处理方法及负载均衡系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9998530B2 (en) * | 2013-10-15 | 2018-06-12 | Nicira, Inc. | Distributed global load-balancing system for software-defined data centers |
CN105554099A (zh) * | 2015-12-10 | 2016-05-04 | 浪潮通信信息系统有限公司 | 一种采集服务器负载均衡的方法及装置 |
CN106936618B (zh) * | 2015-12-31 | 2020-09-11 | 北京神州泰岳软件股份有限公司 | 一种数据采集方法和系统 |
CN108762917A (zh) * | 2018-05-04 | 2018-11-06 | 平安科技(深圳)有限公司 | 访问请求处理方法、装置、系统、计算机设备和存储介质 |
CN112416538B (zh) * | 2019-08-20 | 2024-05-07 | 中国科学院深圳先进技术研究院 | 一种分布式资源管理框架的多层次架构和管理方法 |
-
2021
- 2021-03-15 CN CN202110278068.6A patent/CN112799931B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112799931A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966289B (zh) | 基于Kafka集群的分区优化方法和系统 | |
CN111163173B (zh) | 集群配置方法、装置、服务器及可读存储介质 | |
CN111953551B (zh) | 日志数据的传输方法、装置、电子设备及存储介质 | |
CN103688490B (zh) | 一种保护路径计算方法、相关设备和系统 | |
EP4187814A1 (en) | Data processing method and device | |
CN112698952A (zh) | 计算资源统一管理方法、装置、计算机设备及存储介质 | |
CN112799931B (zh) | 日志采集方法、装置、系统、介质及电子设备 | |
CN116204228B (zh) | 一种卫星测控软件的基线确定方法及相关设备 | |
CN107203464B (zh) | 业务问题的定位方法以及装置 | |
CN115277598A (zh) | 一种算力资源调度方法、装置及计算机可读存储介质 | |
US20150381498A1 (en) | Network system and its load distribution method | |
CN114900430A (zh) | 容器网络优化方法、装置、计算机设备和存储介质 | |
CN110609761B (zh) | 确定故障源的方法、装置、存储介质和电子设备 | |
CN106021026B (zh) | 一种备份方法及装置 | |
CN116095180B (zh) | 一种日志回传的选路方法、装置和存储介质 | |
CN111444074A (zh) | 一种数据监控方法、装置、电子设备及可读存储介质 | |
CN113595894A (zh) | 服务节点间、客户端节点间通信方法、装置、设备及介质 | |
CN116055496B (zh) | 一种监控数据采集方法、装置、电子设备及存储介质 | |
CN109587189B (zh) | 节点管理方法及装置 | |
EP3756310B1 (en) | Method and first node for managing transmission of probe messages | |
CN107342942B (zh) | 一种多节点控制器集群的信息传输方法及装置 | |
CN104954823A (zh) | 一种图计算预处理的装置、方法及系统 | |
CN105827418B (zh) | 一种通信网络告警关联方法及装置 | |
CN112328581B (zh) | ProxySQL自动运维系统、方法及相应设备和存储介质 | |
JP2017038111A (ja) | 一括管理システム、一括管理方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230317 Address after: 1804, Building 3, Shenzhen New Generation Industrial Park, 136 Zhongkang Road, Meidu Community, Meilin Street, Futian District, Shenzhen City, Guangdong Province, 518049 Patentee after: Shenzhen Shijie Yuntian Technology Co.,Ltd. Address before: 100012 2508, 25th floor, building 3, yard 19, Beiyuan East Road, Chaoyang District, Beijing Patentee before: Beijing Horizon Yuntian Technology Co.,Ltd. |