CN117978633A - 基于注册中心的日志采集方法、***、设备及存储介质 - Google Patents
基于注册中心的日志采集方法、***、设备及存储介质 Download PDFInfo
- Publication number
- CN117978633A CN117978633A CN202410142912.6A CN202410142912A CN117978633A CN 117978633 A CN117978633 A CN 117978633A CN 202410142912 A CN202410142912 A CN 202410142912A CN 117978633 A CN117978633 A CN 117978633A
- Authority
- CN
- China
- Prior art keywords
- service
- fluentd
- target
- address information
- service instance
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 48
- 230000002776 aggregation Effects 0.000 claims abstract description 39
- 238000004220 aggregation Methods 0.000 claims abstract description 39
- 230000004044 response Effects 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 241000412611 Consul Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供基于注册中心的日志采集方法、***、设备及存储介质,方法应用于日志采集***中的注册中心服务,日志采集***还包括Fluent Bit服务实例和多个Fluentd服务实例;注册中心服务中维护有已注册Fluentd服务实例集,包括:接收Fluent Bit服务实例发送的Fluentd服务地址查询请求;响应于Fluentd服务地址查询请求,获取已注册Fluentd服务实例集中的服务地址信息并发送至Fluent Bit服务实例,使Fluent Bit服务实例确定出第一目标服务地址信息并进行地址配置,以由对应的Fluentd服务实例负责目标日志数据的聚合处理。本申请提高了日志采集***的故障抵抗性。
Description
技术领域
本申请涉及日志采集技术领域,尤其涉及一种基于注册中心的日志采集方法、***、设备及存储介质。
背景技术
在云原生技术和容器化的普及下,应用程序常以容器的形式部署和运行。一个典型的云原生应用通常由多个微服务构成,每个微服务可能包含多个容器,每个容器都可能生成大量的日志,采集容器日志可以帮助开发运维人员进行故障排查、监控和性能分析、安全和合规性审计,以及日志分析和可视化等。
相关的日志采集方案中,通常是在容器、主机、边缘设备等日志数据源上部署运行Fluent Bit作为日志采集Agent进行日志收集,并部署运行Fluentd作为日志聚合Aggregator节点,用于接收Fluent Bit发送的日志数据并进行聚合和后续处理。在这种实现方案中,Fluentd是作为一个中心化的日志聚合和处理工具且单点运行,使得日志采集***对Fluentd节点出现故障的抵抗能力较差。
发明内容
本申请实施例提供了基于注册中心的日志采集方法、***、设备及存储介质,能够提高日志采集***对Fluentd节点出现故障的抵抗能力,有利于保证日志采集流程的正常进行。
第一方面,本申请实施例提供了基于注册中心的日志采集方法,应用于日志采集***中的注册中心服务,所述日志采集***还包括Fluent Bit服务实例和多个Fluentd服务实例;所述注册中心服务中维护有已注册Fluentd服务实例集,所述已注册Fluentd服务实例集包括当前处于正常运行状态的,且已在启动时预先在所述注册中心服务注册的所述Fluentd服务实例所对应的服务地址信息;所述方法包括:
接收所述Fluent Bit服务实例发送的Fluentd服务地址查询请求;所述Fluentd服务地址查询请求由所述Fluent Bit服务实例在进行日志采集前发送;
响应于所述Fluentd服务地址查询请求,获取所述已注册Fluentd服务实例集中的一个或多个服务地址信息;
向所述Fluent Bit服务实例发送所述一个或多个服务地址信息,以使所述FluentBit服务实例在所述一个或多个服务地址信息中确定出第一目标服务地址信息,并进行所述第一目标服务地址的配置,以由所述第一目标服务地址对应的所述Fluentd服务实例在所述Fluent Bit服务实例进行日志采集时接收来自所述Fluent Bit服务实例的目标日志数据并进行日志聚合处理。
第二方面,本申请实施例提供了另一种基于注册中心的日志采集方法,应用于日志采集***中的Fluent Bit服务实例,所述日志采集***还包括注册中心服务和多个Fluentd服务实例;所述注册中心服务中维护有已注册Fluentd服务实例集,所述已注册Fluentd服务实例集包括当前处于正常运行状态的,且已在启动时预先在所述注册中心服务注册的所述Fluentd服务实例所对应的服务地址信息;所述方法包括:
在针对日志数据源进行日志采集前,向所述注册中心服务发送Fluentd服务地址查询请求,以使所述注册中心服务在所述已注册Fluentd服务实例集中获取一个或多个服务地址信息;
接收所述注册中心服务发送的所述一个或多个服务地址信息,并从所述一个或多个服务地址信息中确定出第一目标服务地址信息;
利用所述第一目标服务地址信息在配置文件中进行地址配置;
对日志数据源进行日志采集,并根据所述配置文件中的所述第一目标服务地址信息将采集得到的目标日志数据发送至所述第一目标服务地址信息对应的所述Fluentd服务实例,以由所述Fluentd服务实例对所述目标日志数据进行日志聚合处理。
第三方面,本申请实施例提供了一种基于注册中心的日志采集装置,所述装置包括用于执行上述第一方面所述基于注册中心的日志采集方法的单元,或者是包括用于执行上述第二方面所述基于注册中心的日志采集方法的单元。
第四方面,本申请实施例还提供了另一种基于注册中心的日志采集方法,应用于日志采集***,所述日志采集***包括注册中心服务、Fluent Bit服务实例以及多个Fluentd服务实例;所述注册中心服务中维护有已注册Fluentd服务实例集,所述已注册Fluentd服务实例集包括当前处于正常运行状态的,且已在启动时预先在所述注册中心服务注册的所述Fluentd服务实例所对应的服务地址信息;所述方法包括:
所述Fluentd服务实例在启动时向所述注册中心服务发送注册请求信息;所述注册请求信息携带有所述Fluentd服务实例对应的所述服务地址信息;
所述注册中心服务接收并响应于所述注册请求信息,将所述服务地址信息加入所述已注册Fluentd服务实例集,并对所述Fluentd服务实例进行运行状态监测;
所述Fluent Bit服务实例在针对日志数据源进行日志采集前,向所述注册中心服务发送Fluentd服务地址查询请求;
所述注册中心服务接收并响应于所述Fluentd服务地址查询请求,获取所述已注册Fluentd服务实例集中的一个或多个服务地址信息并发送至所述Fluent Bit服务实例;
所述Fluent Bit服务实例接收所述注册中心服务发送的所述一个或多个服务地址信息,从所述一个或多个服务地址信息中确定出第一目标服务地址信息,并利用所述第一目标服务地址信息在配置文件中进行地址配置;
所述Fluent Bit服务实例对日志数据源进行日志采集,并根据所述配置文件中的所述第一目标服务地址信息将采集得到的目标日志数据发送至所述第一目标服务地址信息对应的所述Fluentd服务实例;
所述Fluentd服务实例接收来自所述Fluent Bit服务实例的所述目标日志数据,并对所述目标日志数据进行日志聚合处理。
第五方面,本申请实施例提供了一种日志采集***,所述日志采集***包括注册中心服务、Fluent Bit服务实例、以及多个Fluentd服务实例;所述注册中心服务维护有已注册Fluentd服务实例集,所述已注册Fluentd服务实例集包括当前处于正常运行状态的,且已在启动时预先在所述注册中心服务注册的所述Fluentd服务实例所对应的服务地址信息;其中,
所述Fluentd服务实例用于,在启动时向所述注册中心服务发送注册请求信息,所述注册请求信息携带有所述Fluentd服务实例对应的所述服务地址信息;
所述注册中心服务用于,接收并响应于所述注册请求信息,将所述服务地址信息加入所述已注册Fluentd服务实例集,并对所述Fluentd服务实例进行运行状态监测;
所述Fluent Bit服务实例用于,在针对日志数据源进行日志采集前,向所述注册中心服务发送Fluentd服务地址查询请求;
所述注册中心服务还用于,接收并响应于所述Fluentd服务地址查询请求,获取所述已注册Fluentd服务实例集中的一个或多个服务地址信息并发送至所述Fluent Bit服务实例;
所述Fluent Bit服务实例还用于,接收所述注册中心服务发送的所述一个或多个服务地址信息,从所述一个或多个服务地址信息中确定出第一目标服务地址信息,并利用所述第一目标服务地址信息在配置文件中进行地址配置;
所述Fluent Bit服务实例还用于,对日志数据源进行日志采集,并根据所述配置文件中的所述第一目标服务地址信息将采集得到的目标日志数据发送至所述第一目标服务地址信息对应的所述Fluentd服务实例;
所述Fluentd服务实例还用于,接收来自所述Fluent Bit服务实例的所述目标日志数据,并对所述目标日志数据进行日志聚合处理。
第六方面,本申请实施例还提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于注册中心的日志采集方法,或者,所述处理器执行所述计算机程序时实现上述第二方面所述的基于注册中心的日志采集方法。
第七方面,本申请实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于注册中心的日志采集方法,或者,所述计算机程序当被处理器执行时使所述处理器执行上述第二方面所述的基于注册中心的日志采集方法。
与现有技术相比,一方面,本申请提供的日志采集***中设置了多个用于进行日志聚合的Fluentd服务实例,不仅避免了仅有单个Fluentd服务实例运行时出现故障而影响整个***的日志采集处理,也有利于分担大量的日志采集数据的聚合处理,分散单个Fluentd服务实例的故障对***的影响,提高了日志采集***对Fluentd节点出现故障的抵抗能力;另一方面,本申请通过在日志采集***中引入用于Fluentd服务实例进行注册的注册中心服务,且注册中心服务维护有包括当前处于正常运行状态的,且已在启动时预先注册的所述Fluentd服务实例所对应的服务地址信息的已注册Fluentd服务实例集,使FluentBit服务实例在进行日志采集前,通过向注册中心服务发送Fluentd服务地址查询请求获取已注册Fluentd服务实例集中的第一目标服务地址信息,并进行所述第一目标服务地址的配置,进而由所述第一目标服务地址对应的所述Fluentd服务实例负责接收来自所述Fluent Bit服务实例的目标日志数据并进行日志聚合处理,实现了对日志采集***中可用的Fluentd服务实例的动态管理,确保Fluent Bit服务实例能获取到处于正常运行状态的Fluentd服务实例来负责后续的日志采集处理,有利于保障日志采集流程的正常进行。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的日志采集***的应用场景示意图;
图2为本申请实施例提供的基于注册中心的日志采集方法的第一交互示意图;
图3为本申请实施例提供的基于注册中心的日志采集方法的另一交互示意图;
图4为本申请实施例提供的第一基于注册中心的日志采集装置的示意性框图;
图5为本申请实施例提供的第二基于注册中心的日志采集装置的示意性框图;
图6为本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请提供了一种基于注册中心的日志采集方法、相关***、设备及存储介质,能够提高日志采集***对Fluentd节点出现故障的抵抗能力,有利于保证日志采集流程的正常进行。该基于注册中心的日志采集方法的执行主体可以是本申请实施例提供的注册中心服务,或本申请实施例提供的Fluent Bit服务实例,或是本申请提供的日志采集***;可以是集成了该注册中心服务的计算机设备,也可以是集成了Fluent Bit服务实例的计算机设备。其中,该注册中心服务、Fluent Bit服务实例、日志采集***可以采用硬件或者软件的方式实现,该计算机设备可以为终端或服务器,该终端可以是智能手机、平板电脑、掌上电脑、或者笔记本电脑等。
示例性的,请参阅图1,图1为本申请一实施例提供的日志采集***的应用场景示意图。该本申请提供的基于注册中心的日志采集方法可以具体应用于图1中示出的日志采集***。具体的,该日志采集***采用微服务架构,具体包括了用于对日志数据源(例如,容器、主机、边缘设备)进行日志收集的Fluent Bit服务实例(图中以包括2个Fluent Bit服务实例A1和A2为例)、多个用于对来自Fluent Bit服务实例的日志数据(下述目标结果数据)进行日志聚合处理的Fluentd服务实例(图中以包括2个Fluentd服务实例B1和B2为例)。
可以看到,本申请提供的日志采集***还进一步包括了注册中心服务,该注册中心服务中维护有已注册Fluentd服务实例集。具体的,Fluentd服务实例在启用时向注册中心服务发送注册请求,注册中心服务则将该Fluentd服务实例的服务地址信息加入已注册Fluentd服务实例集,并持续对已注册Fluentd服务实例集中的各服务地址信息分别对应的Fluentd服务实例进行运行状态监测,确保已注册Fluentd服务实例集中存储着处于正常运行状态的Fluentd服务实例的服务地址信息。Fluent Bit服务实例在对日志数据源进行日志收集之前,先从注册中心服务获取来自已注册Fluentd服务实例集中的可用的Fluentd服务地址,进而利用该Fluentd服务地址进行配置,使得在Fluent Bit服务实例在对日志数据源进行日志收集时由该Fluentd服务地址对应的Fluentd服务实例负责对收集得到的日志数据进行日志聚合处理。
其中,上述Fluent Bit是一种轻量级、快速、可靠的日志收集和处理软件,支持多种输入和输出插件,适用于各种云原生环境下的应用程序。它采用了C语言和Lua脚本进行开发,并且可以和存储和处理***如Elasticsearch、InfluxDB、Kafka等集成,以实现高效的日志数据处理和可视化分析。
Fluentd是一款开源的数据采集、流处理和数据交付软件,可以用于收集和处理各种结构化和非结构化的数据。它的设计思想是将数据从不同的源头,如日志文件、消息队列、网络数据等采集到一个中央数据池中,经过处理和加工后再传递到不同的目的地中。
注册中心是指负责管理和存储服务实例信息的中心化存储或服务,它提供了API和接口,用于服务提供者注册、取消注册以及服务消费者发现可用的服务实例。
具体的,请参阅图2,图2为本申请一实施例提供的基于注册中心的日志采集方法的交互流程示意图,该基于注册中心的日志采集方法可以应用于上述日志采集***,该日志采集***包括注册中心服务、Fluent Bit服务实例、以及多个Fluentd服务实例;其中,所述注册中心服务维护有已注册Fluentd服务实例集,所述已注册Fluentd服务实例集包括当前处于正常运行状态的,且已在启动时预先在所述注册中心服务注册的所述Fluentd服务实例所对应的服务地址信息;该基于注册中心的日志采集方法具体包括下述步骤S101至步骤S108。
步骤S101、目标Fluentd服务实例在启动时向所述注册中心服务发送注册请求信息;所述注册请求信息携带有所述目标Fluentd服务实例对应的所述服务地址信息。
其中,上述目标Fluentd服务实例为上述Fluentd服务实例中的任意一个或多个。本实施例中,各目标Fluentd服务实例在启动时均会向注册中心服务发送上述注册请求信息。
本实施例中,上述注册中心服务用于向Fluentd服务实例提供注册服务(对应步骤S101至下述步骤S102),向Fluent Bit服务实例提供服务发现功能(对应下述步骤S103至步骤S105)。在具体实施时,注册中心服务可以基于etcd、Consul、ZooKeeper等实现。
具体的,目标Fluent Bit服务实例发送的上述注册请求信息用于目标Fluentd服务实例在注册中心服务中注册自己,表明该目标Fluentd服务实例开始进入可用状态,可以提供日志聚合服务。该注册请求信息中携带有目标Fluentd服务实例对应的服务地址信息,通过该服务地址信息能够与目标Fluentd服务实例通信连接,亦即Fluent Bit服务实例可以根据该服务地址信息将收集到的日志数据发送到该目标Fluentd服务实例。在一具体的实施方式中,该服务地址信息可以具体包括目标Fluentd服务实例对应的IP地址和端口号。
步骤S102、所述注册中心服务接收并响应于所述注册请求信息,将所述服务地址信息加入所述已注册Fluentd服务实例集,并对所述目标Fluentd服务实例进行运行状态监测。
本实施例中,注册中心服务接收到来自Fluentd服务实例的目标注册请求信息之后,响应于该注册请求信息,将服务地址信息加入所述已注册Fluentd服务实例集,并开始对目标Fluentd服务实例进行运行状态监测。
其中,注册中心服务维护的上述已注册Fluentd服务实例集中是包括已注册的且当前仍处于正常运行状态的目标Fluentd服务实例对应的服务地址信息。在具体实施时,对于已注册Fluentd服务实例集中的每一服务地址信息,注册中心服务均会持续监测该服务地址信息对应的目标Fluentd服务实例是否为正常运行状态。其中,目标Fluentd服务实例处于正常运行状态则可用表明该目标Fluentd服务实例能够正常提供日志聚合服务,亦即处于可用状态,当目标Fluentd服务实例不能够正常提供日志聚合服务时,亦即处于不可用状态,则认为目标Fluentd服务实例处于异常运行状态。
在具体对目标Fluentd服务实例监测时,注册中心服务可以是通过服务地址信息向目标Fluentd服务实例发送网络连接请求,若未接收到目标Fluentd服务实例针对网络连接请求发送的响应数据时,确定目标Fluentd服务实例处于异常运行状态。
为保证已注册Fluentd服务实例集中包括的是处于正常运行状态的目标Fluentd服务实例对应的服务地址信息,在一实施例中,当监测到存在运行状态异常的目标Fluentd服务实例时,将该目标Fluentd服务实例对应的服务地址信息从已注册Fluentd服务实例集中删除。
步骤S103、所述Fluent Bit服务实例在针对日志数据源进行日志采集前,向所述注册中心服务发送Fluentd服务地址查询请求。
其中,上述日志数据源为需进行日志收集的,产生日志数据的主机、设备或者容器,在具体实施时,上述Fluent Bit服务实例可以是部署在日志数据源;上述Fluentd服务地址查询请求用于在注册中心服务中获取可用的Fluentd服务实例对应的服务地址信息。本实施例中,Fluent Bit服务实例在针对日志数据源进行日志采集前,均会向注册中心服务发送Fluentd服务地址查询请求。
步骤S104、所述注册中心服务接收并响应于所述Fluentd服务地址查询请求,获取所述已注册Fluentd服务实例集中的一个或多个服务地址信息并发送至所述Fluent Bit服务实例。
其中,上述一个或多个服务地址信息可以是已注册Fluentd服务实例集中的所有服务地址信息,也可以是注册服务中心基于预设的服务地址筛选策略进行筛选后确定的一个或多个服务地址信息。例如,为实现负载均衡,在一些实施方式中,该服务地址筛选策略可以为根据已注册Fluentd服务实例集中各服务地址信息分别对应的当前使用数量来确定出一个或多个服务地址信息。
步骤S105、所述Fluent Bit服务实例接收所述注册中心服务发送的所述一个或多个服务地址信息,从所述一个或多个服务地址信息中确定出第一目标服务地址信息,并利用所述第一目标服务地址信息在配置文件中进行地址配置。
在具体实施时,Fluent Bit服务实例可以基于预设的服务地址选择策略从所述一个或多个服务地址信息中确定出第一目标服务地址信息。例如,Fluent Bit服务实例可以通过对一个或多个服务地址信息分别对应的目标Fluentd服务实例进行网络测试,包括延时时间测试,丢包率测试等,并根据测试结果进行综合排名,进而将排名最高的目标Fluentd服务实例对应的服务地址信息确定为上述第一目标服务地址信息。
本实施例中,Fluent Bit服务实例利用所述第一目标服务地址信息在配置文件中进行地址配置,代表着后续由Fluent Bit服务实例收集处理后而产生的日志数据(下述目标日志数据)均会发送至第一目标服务地址信息对应的目标Fluentd服务实例,进而由该目标Fluentd服务实例对该日志数据进行日志聚合等处理,在完成在配置文件中的地址配置后,当Fluent Bit服务实例需要将日志数据发送到Fluentd服务实例时,Fluent Bit服务实例读取自己的配置文件,找到Fluentd服务实例的服务地址,然后将日志数据发送到这个服务地址,进而该服务地址对应的目标Fluentd服务实例可以接收到该日志数据。
本实施例中,Fluent Bit服务实例用于日志采集,Fluentd服务实例是用于日志聚合,为避免Fluentd服务实例的日志聚合过程,在一实施例中,Fluentd服务实例中可以是具体包括Fluentd服务实例主线程和SideCar服务,Fluentd服务实例主线程用于执行日志聚合处理的具体操作,即用于执行下述步骤S108,SideCar服务用于执行其余辅助操作,即上述步骤S101。
其中,SideCar是一种架构模式,常用于微服务架构中,用于扩展和增强服务的功能,具有以下功能:
1.功能扩展和解稠:通过将特定功能抽取到SideCar中,可以将主要服务应用程序保持精简,同时能够方便地添加、更新或删除功能,而不会影响主要服务的稳定性。
2.监控和追踪:SideCar可以负责收集监控数据、分布式追踪数据和日志,从而为整个微服务架构提供实时的性能监控和故障排查能力。
3.增强安全性:通过SideCar可以将安全性功能如认证、授权、加密等分离出来,确保主要服务只需关注核心业务逻辑。
4.通信代理:SideCar可以用作通信代理,处理服务间的通信、负载均、重试和故障转移,从而减轻主要服务的通信负担。
5.数据转换和适配:SideCar可以处理数据格式转换、协议适配等,确保不同服务间可以无缝协同工作。
为避免影响Fluent Bit服务实例的日志采集过程,在一实施例中,Fluent Bit服务实例中可以是具体包括Fluent Bit服务实例主线程和SideCar服务,Fluent Bit服务实例主线程用于执行日志采集和发送的具体操作,即用于执行下述步骤S106和步骤S107,SideCar服务用于执行其余辅助操作,即上述步骤S103和步骤S105。
进一步的,为确保所配置的Fluentd服务实例的处于正常运行状态,在一实施例中,上述步骤S105之后,还可以包括:
通过所述SideCar服务以预设时间间隔向所述第一目标服务地址信息对应的所述Fluentd服务实例发送网络连接请求;
若未接收到所述第一目标服务地址信息对应的所述Fluentd服务实例针对所述网络连接请求的响应数据,则通过所述SideCar服务向所述注册中心服务发送服务地址不可用信息,并获取来自所述已注册Fluentd服务实例集的第三目标服务地址信息;
通过所述SideCar服务在所述配置文件中利用所述第三目标服务地址信息进行地址更新配置。
其中,上述服务地址不可用信息指示所述Fluent Bit服务实例已配置的所述第一目标服务地址信息对应的Fluentd服务实例不能正常处理日志数据;上述第三目标服务地址信息为所述已注册Fluentd服务实例集不同于所述第一目标服务地址信息的服务地址信息。本实施例中,注册中心服务在接收到该服务地址不可用信息之后,可以将已注册Fluentd服务实例集中的该第一目标服务地址信息删除,并重新从中获取一个或多个服务地址信息发送至Fluent Bit服务实例,Fluent Bit服务实例进而从一个或多个服务地址信息中确定第三目标服务地址信息并进行地址配置。
本实施例中,当Fluentd服务实例处于正常运行状态时,若接收到网络连接请求,则会向网络连接请求发送方发送响应数据,通过利用Fluent Bit服务实例中的SideCar服务通过以预设时间间隔发送网络连接请求的方式来对第一目标服务地址信息对应的所述Fluentd服务实例进行运行状态状态监测,并在未接收到响应数据时,向注册中心服务发送服务地址不可用信息,进而获取来自所述已注册Fluentd服务实例集的第三目标服务地址信息,并通过所述SideCar服务在所述配置文件中利用所述第三目标服务地址信息进行地址更新配置,实现了对用于进行日志聚合的Fluentd服务实例的主动状态监控,便于在Fluentd服务实例处于异常运行状态时及时更换处于正常运行状态的Fluentd服务实例,保证本Fluent Bit服务实例收集到的日志数据的日志聚合等后处理流程,保障了Fluent Bit服务实例的日志采集流程的正常进行。
步骤S106、所述Fluent Bit服务实例对日志数据源进行日志采集,得到目标日志数据。
其中,上述目标日志数据为Fluent Bit服务实例对日志数据源进行日志收集和日志处理操作后得到的数据。在具体实施时,日志处理可以包括日志过滤、日志标记等处理。
在具体实施时,Fluent Bit服务实例中可以配置有输入插件、过滤器插件和输出插件,其中,输入插件用于收集日志数据,过滤器插件用于对收集到的日志数据进行过滤、标记等处理,输出插件用于将过滤器插件处理后得到的结果数据发送至Fluentd服务实例。
步骤S107、根据所述配置文件中的所述第一目标服务地址信息将采集得到的目标日志数据发送至所述第一目标服务地址信息对应的所述Fluentd服务实例。
本实施例中,在Fluent Bit服务实例处理完成得到目标日志数据之后,根据配置文件中的所述第一目标服务地址信息将目标日志数据发送至第一目标服务地址信息对应的所述Fluentd服务实例(即目标Fluentd服务实例)。
步骤S108、所述目标Fluentd服务实例接收来自所述Fluent Bit服务实例的所述目标日志数据,并对所述目标日志数据进行日志聚合处理。
需要说明的是,Fluentd服务实例是用于接收来自多个Fluent Bit服务实例的目标日志数据,上述对所述目标日志数据进行日志聚合处理,指的是Fluentd服务实例对各目标日志数据聚合在一起一并进行相关处理。
具体实施时,目标Fluentd服务实例中可以配置有输入插件、过滤器插件和输出插件,其中,输入插件用于接收来自各Fluent Bit服务实例的目标日志数据,过滤器插件用于对各目标日志数据一并进行进一步的转换、结构化等处理;输出插件用于将对各目标日志数据进行处理后得到的结果数据进行发送并存储至预设的日志存储位置,例如Kafka、Elasticsearch、S3、MongoDB等。
为及时更新已注册Fluentd服务实例集,确保Fluent Bit服务实例获取到处于正常运行状态(可用状态)的Fluentd服务实例,在一实施例中,上述步骤S102之后,还可以包括注册服务中心若监测到所述目标Fluentd服务实例处于异常运行状态,则将所述目标Fluentd服务实例的所述服务地址信息从所述已注册Fluentd服务实例集中删除。
本实施例中,目标Fluentd服务实例的所述服务地址信息从所述已注册Fluentd服务实例集中,则可以表明目标Fluentd服务实例在注册中心服务中的注册状态变更为未注册状态,该目标Fluentd服务实例在恢复正常运行状态时,需要重新向注册中心服务发送注册请求信息进行注册,注册中心服务进而将该目标Fluentd服务实例的服务地址信息再次加入已注册Fluentd服务实例集中,并对该目标Fluentd服务实例进行运行状态持续监控。
在具体实施时,注册服务中心将所述目标Fluentd服务实例的所述服务地址信息从所述已注册Fluentd服务实例集中删除之后,可以通知该目标Fluentd服务实例的注册状态变更为未注册,以便目标Fluentd服务实例知晓注册状态变更,在恢复正常运行状态或重新启动时再次向注册中心服务进行注册。
为及时通知已配置了运行状态异常的目标Fluentd服务实例的Fluent Bit服务实例,降低对该Fluent Bit服务实例的日志采集流程的影响,在一实施例中,在注册中心服务将所述目标Fluentd服务实例的所述服务地址信息从所述已注册Fluentd服务实例集中删除之后,还可以包括下述步骤S201至步骤S204。
步骤S201、注册中心服务判断是否存在已配置所述目标Fluentd服务实例的所述服务地址信息的目标Fluent Bit服务实例。
其中,目标Fluent Bit服务实例为已配置了上述运行状态异常的目标Fluentd服务实例的服务地址信息的Fluent Bit服务实例。在具体实施时,注册中心服务可以记录有已注册Fluentd服务实例集中各服务地址信息分别对应的配置状态信息,该配置状态信息指示已配置对应服务地址信息的各Fluent Bit服务实例,在将所述目标Fluentd服务实例的所述服务地址信息从所述已注册Fluentd服务实例集中删除之后,可以基于该被删除的服务地址信息对应的配置状态信息确定是否存在一个或多个目标Fluent Bit服务实例。
为具体说明这个过程,请一并参阅图3。图3中以日志采集***中包括两个目标Fluentd服务实例为例,第一目标Fluentd服务实例和第二目标Fluentd服务实例先后向注册中心服务进行注册,注册中心服务在将对应目标Fluentd服务实例的服务地址信息加入已注册Fluentd服务实例集之后,开始对已注册的目标Fluentd服务实例进行监测。在第一目标Fluentd服务实例注册完毕之后,Fluent Bit服务实例通过向注册中心服务发送Fluentd服务地址查询请求而确定了第一目标Fluentd服务实例对应的服务地址——第一目标服务地址信息,并进行地址配置,在此之后,Fluent Bit服务实例对日志数据源进行日志采集,并将得到的目标日志数据发送给第一目标Fluentd服务实例,第一目标Fluentd服务实例对来自Fluent Bit服务实例的目标日志数据进行日志聚合处理。
在此之后,注册中心服务监测到第一目标Fluentd服务实例的运行状态异常,将第一目标Fluentd服务实例的服务地址信息——第一目标服务地址信息从已注册Fluentd服务实例集中删除,并执行上述步骤S201,判断是否存在已配置第一目标Fluentd服务实例的所述服务地址信息的目标Fluent Bit服务实例。
步骤S202、当存在所述目标Fluent Bit服务实例时,注册中心服务向所述目标Fluent Bit服务实例发送Fluentd服务实例更换通知信息。
其中,上述Fluentd服务实例更换通知信息指示目标Fluent Bit服务实例进行更换Fluentd服务实例。在具体实施时,Fluentd服务实例更换通知信息具体可以是指示目标Fluent Bit服务实例再次向注册中心服务发送Fluentd服务地址查询请求,并基于注册中心服务的响应从已注册Fluentd服务实例集重新获取新的服务地址信息(下述第二目标服务地址信息),并进行地址配置(与上述步骤S103至步骤S105相同);在一些实施方式中,上述Fluentd服务实例更换通知信息也可以是携带有注册中心服务从已注册Fluentd服务实例集重新获取的一个或多个服务地址信息,以由目标Fluent Bit服务实例从该一个或多个服务地址信息中重新确定新的用于配置的服务地址信息(下述第二目标服务地址信息)。
步骤S203、所述目标Fluent Bit服务实例接收并响应于所述Fluentd服务实例更换通知信息,获取来自所述已注册Fluentd服务实例集的第二目标服务地址信息。
其中,上述第二目标服务地址信息为已注册Fluentd服务实例集中不同于第一目标服务地址信息的服务地址信息。
在具体实施时,若Fluentd服务实例更换通知信息是指示目标Fluent Bit服务实例再次向注册中心服务发送Fluentd服务地址查询请求以重新获取新的服务地址信息进行配置,则目标Fluent Bit服务实例在接收到该Fluentd服务实例更换通知信息后,可以通过向注册中心服务发送Fluentd服务地址查询请求获取来自所述已注册Fluentd服务实例集的第二目标服务地址信息(具体获取到第二目标服务地址信息的过程可以参照上述步骤S103至步骤S105中的对应过程);若Fluentd服务实例更换通知信息是携带有注册中心服务从已注册Fluentd服务实例集重新获取的一个或多个服务地址信息,则目标Fluent Bit服务实例可以从该一个或多个服务地址信息中获取第二目标服务地址信息(具体实施过程可以参照上述步骤S105中的对应描述)。
如图3所示,目标Fluent Bit服务实例响应于所述Fluentd服务实例更换通知信息,获取来自所述已注册Fluentd服务实例集的第二目标服务地址信息,该第二目标服务地址信息为第二目标Fluentd服务实例对应的服务地址信息。
步骤S204、所述目标Fluent Bit服务实例在所述配置文件中利用所述第二目标服务地址信息进行地址更新配置,以由所述第二目标服务地址信息对应的目标Fluentd服务实例接收来自所述目标Fluent Bit服务实例的所述目标日志数据并进行日志聚合处理。
本实施例中,目标Fluent Bit服务实例在获取到最新的服务地址信息——第二目标服务地址信息之后,可以在配置文件中将该第二目标服务地址信息设置为(Fluentd服务实例对应的)配置地址,进而实现由第二目标服务地址信息对应的目标Fluentd服务实例接收来自所述目标Fluent Bit服务实例的所述目标日志数据并进行日志聚合处理。
如图3所示,目标Fluent Bit服务实例在配置文件中利用第二目标服务地址信息进行地址更新配置,在此之后,由第二目标服务地址信息对应的第二目标Fluentd服务实例对来自目标Fluent Bit服务实例的目标日志数据进行聚合处理。
在具体实施时,为使地址更新配置生效,在进行地址更新配置之后,可以通过重新启动上述目标Fluent Bit服务实例来实现后续根据最新配置的第二目标服务地址信息将目标Fluent Bit服务实例的目标日志数据发送到第二目标服务地址信息对应的目标Fluentd服务实例。
为避免影响Fluent Bit服务实例的日志采集过程,在一实施例中,Fluent Bit服务实例中可以是具体包括Fluent Bit服务实例主线程和SideCar服务,上述步骤S203和步骤S204可以具体由SideCar服务执行。
本实施例中,注册中心服务在确定存在运行状态异常的目标Fluentd服务实例,将该目标Fluentd服务实例对应的服务地址信息从已注册Fluentd服务实例集中删除之后,进而判断是否存在已配置该被删除的服务地址信息的目标Fluent Bit服务实例,当存在目标Fluent Bit服务实例时,通过向目标Fluent Bit服务实例发送所述Fluentd服务实例更换通知信息使目标Fluent Bit服务实例重新确定来自已注册Fluentd服务实例集的第二目标服务地址信息并进行配置,有利于目标Fluent Bit服务实例对异常的目标Fluentd服务实例的及时切换,降低Fluentd服务实例异常对Fluent Bit服务实例的日志采集流程的影响,确保有正常运行的Fluentd服务实例对来自Fluent Bit服务实例的目标日志数据进行后续日志聚合等处理,提高了日志采集***对日志采集过程中Fluentd服务实例出现故障等异常的抵抗性和容错性,提高了***的稳定性和鲁棒性。
与现有技术相比,一方面,本申请提供的日志采集***中设置了多个用于进行日志聚合的Fluentd服务实例,不仅避免了仅有单个Fluentd服务实例运行时出现故障而影响整个***的日志采集处理,也有利于分担大量的日志采集数据的聚合处理,分散单个Fluentd服务实例的故障对***的影响,提高了日志采集***对Fluentd节点出现故障的抵抗能力;另一方面,本申请通过在日志采集***中引入用于Fluentd服务实例进行注册的注册中心服务,且注册中心服务维护有包括当前处于正常运行状态的,且已在启动时预先注册的所述Fluentd服务实例所对应的服务地址信息的已注册Fluentd服务实例集,使FluentBit服务实例在进行日志采集前,通过向注册中心服务发送Fluentd服务地址查询请求获取已注册Fluentd服务实例集中的第一目标服务地址信息,并进行所述第一目标服务地址的配置,进而由所述第一目标服务地址对应的所述Fluentd服务实例负责接收来自所述Fluent Bit服务实例的目标日志数据并进行日志聚合处理,实现了对日志采集***中可用的Fluentd服务实例的动态管理,确保Fluent Bit服务实例能获取到处于正常运行状态的Fluentd服务实例来负责后续的日志采集处理,有利于保障日志采集流程的正常进行。
本申请实施例还提供了一种第一基于注册中心的日志采集装置,该第一基于注册中心的日志采集装置可以配置于日志采集***中的注册中心服务,日志采集***中还可以进一步包括Fluent Bit服务实例和多个Fluentd服务实例,所述注册中心服务中维护有已注册Fluentd服务实例集,所述已注册Fluentd服务实例集包括当前处于正常运行状态的,且已在启动时预先在所述注册中心服务注册的所述Fluentd服务实例所对应的服务地址信息;该第一基于注册中心的日志采集装置用于执行前述基于注册中心的日志采集方法中执行主体为注册中心服务的步骤。具体地,请参阅图4,图4示出了本申请实施例提供的第一基于注册中心的日志采集装置300的结构示意图,该第一基于注册中心的日志采集装置300具体包括第一接收单元301、获取单元302和第一发送单元303;其中,
第一接收单元301,用于接收所述Fluent Bit服务实例发送的Fluentd服务地址查询请求;所述Fluentd服务地址查询请求由所述Fluent Bit服务实例在进行日志采集前发送;
获取单元302,用于响应于所述Fluentd服务地址查询请求,获取所述已注册Fluentd服务实例集中的一个或多个服务地址信息;
第一发送单元303,用于向所述Fluent Bit服务实例发送所述一个或多个服务地址信息,以使所述Fluent Bit服务实例在所述一个或多个服务地址信息中确定出第一目标服务地址信息,并进行所述第一目标服务地址的配置,以由所述第一目标服务地址对应的所述Fluentd服务实例在所述Fluent Bit服务实例进行日志采集时接收来自所述FluentBit服务实例的目标日志数据并进行日志聚合处理。
本申请的一些实施方式中,所述第一接收单元301还可以用于,接收目标Fluentd服务实例的注册请求信息;所述注册请求信息中携带所述目标Fluentd服务实例的所述服务地址信息;所述注册请求信息由所述目标Fluentd服务实例启动时向所述注册中心服务发送;所述第一基于注册中心的日志采集装置300还可以包括Fluentd服务实例管理单元,用于响应于所述注册请求信息,将所述目标Fluentd服务实例的所述服务地址信息加入所述已注册Fluentd服务实例集中,并对所述目标Fluentd服务实例进行运行状态监测;若监测到所述目标Fluentd服务实例处于异常运行状态,则将所述目标Fluentd服务实例的所述服务地址信息从所述已注册Fluentd服务实例集中删除。
本申请的一些实施方式中,所述第一基于注册中心的日志采集装置300还可以包括判断单元,用于判断是否存在已配置所述目标Fluentd服务实例的所述服务地址信息的目标Fluent Bit服务实例;所述第一发送单元303还可以用于,若存在所述目标Fluent Bit服务实例,向所述目标Fluent Bit服务实例发送Fluentd服务实例更换通知信息,以使所述目标Fluent Bit服务实例获取来自所述已注册Fluentd服务实例集的第二目标服务地址信息,并进行所述第二目标服务地址信息的更换配置,以由所述第二目标服务地址信息对应的所述Fluentd服务实例接收来自所述目标Fluent Bit服务实例的所述目标日志数据并进行日志聚合处理。
本申请实施例还提供了一种第二基于注册中心的日志采集装置,该第二基于注册中心的日志采集装置可以配置于日志采集***中的Fluent Bit服务实例,所述日志采集***还包括注册中心服务和多个Fluentd服务实例;所述注册中心服务中维护有已注册Fluentd服务实例集,所述已注册Fluentd服务实例集包括当前处于正常运行状态的,且已在启动时预先在所述注册中心服务注册的所述Fluentd服务实例所对应的服务地址信息;该第二基于注册中心的日志采集装置用于执行前述基于注册中心的日志采集方法中执行主体为Fluent Bit服务实例的步骤。具体地,请参阅图5,图5示出了本申请实施例提供的第二基于注册中心的日志采集装置400的结构示意图,该第二基于注册中心的日志采集装置400具体包括第二发送单元401、第二接收单元402、配置单元403和日志采集单元404,其中,
第二发送单元401,用于在针对日志数据源进行日志采集前,向所述注册中心服务发送Fluentd服务地址查询请求,以使所述注册中心服务在所述已注册Fluentd服务实例集中获取一个或多个服务地址信息;
第二接收单元402,用于接收所述注册中心服务发送的所述一个或多个服务地址信息,并从所述一个或多个服务地址信息中确定出第一目标服务地址信息;
配置单元403,用于利用所述第一目标服务地址信息在配置文件中进行地址配置;
日志采集单元404,用于对日志数据源进行日志采集,并根据所述配置文件中的所述第一目标服务地址信息将采集得到的目标日志数据发送至所述第一目标服务地址信息对应的所述Fluentd服务实例,以由所述Fluentd服务实例对所述目标日志数据进行日志聚合处理。
本申请的一些实施方式中,所述所述Fluent Bit服务实例中包括Fluent Bit服务实例主线程和SideCar服务;所述第二发送单元401可以具体用于,通过所述SideCar服务向所述注册中心服务发送Fluentd服务地址查询请求;所述第二接收单元402可以具体用于,通过所述SideCar服务接收所述注册中心服务发送的所述一个或多个服务地址信息,并从所述一个或多个服务地址信息中确定出第一目标服务地址信息;所述配置单元403可以具体用于,通过所述SideCar服务利用所述第一目标服务地址信息在配置文件中进行地址配置;所述日志采集单元404可以具体用于,通过所述Fluent Bit服务实例主线程对日志数据源进行日志采集,并根据所述配置文件中的所述第一目标服务地址信息将采集得到的目标日志数据发送至所述第一目标服务地址信息对应的所述Fluentd服务实例。
本申请的一些实施方式中,所述第二接收单元402还可以用于,接收所述注册中心服务发送的Fluentd服务实例更换通知信息;响应于所述Fluentd服务实例更换通知信息,获取来自所述已注册Fluentd服务实例集的第二目标服务地址信息;所述配置单元403还可以用于,在所述配置文件中利用所述第二目标服务地址信息进行地址更新配置。
本申请的一些实施方式中,所述第二发送单元401还可以用于,通过所述SideCar服务以预设时间间隔向所述第一目标服务地址信息对应的所述Fluentd服务实例发送网络连接请求;若未接收到所述第一目标服务地址信息对应的所述Fluentd服务实例针对所述网络连接请求的响应数据,则通过所述SideCar服务向所述注册中心服务发送服务地址不可用信息,并获取来自所述已注册Fluentd服务实例集的第三目标服务地址信息;所述配置单元403还可以用于,通过所述SideCar服务在所述配置文件中利用所述第三目标服务地址信息进行地址更新配置。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述第一基于注册中心的日志采集装置、第二基于注册中心的日志采集装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述第一基于注册中心的日志采集装置、第二基于注册中心的日志采集装置可以实现为计算机程序的形式,该计算机程序可以在如图6所示的计算机设备上运行。
请参阅图6,图6是本申请实施例提供的计算机设备的示意性框图。该计算机设备500可以是智能手机、平板电脑、个人电脑(PC)、学习机、智能穿戴设备等终端设备。参阅图6,该计算机设备500包括通过装置总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该存储介质503可存储操作***5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于注册中心的日志采集方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于注册中心的日志采集方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,处理器502用于运行存储在存储器中的计算机程序5032,以实现本申请实施例公开的基于注册中心的日志采集方法。
本领域技术人员可以理解,图6中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图6所示实施例一致,在此不再赘述。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本申请实施例公开的基于注册中心的日志采集方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,后台服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于注册中心的日志采集方法,其特征在于,应用于日志采集***中的注册中心服务,所述日志采集***还包括Fluent Bit服务实例和多个Fluentd服务实例;所述注册中心服务中维护有已注册Fluentd服务实例集,所述已注册Fluentd服务实例集包括当前处于正常运行状态的,且已在启动时预先在所述注册中心服务注册的所述Fluentd服务实例所对应的服务地址信息;所述方法包括:
接收所述Fluent Bit服务实例发送的Fluentd服务地址查询请求;所述Fluentd服务地址查询请求由所述Fluent Bit服务实例在进行日志采集前发送;
响应于所述Fluentd服务地址查询请求,获取所述已注册Fluentd服务实例集中的一个或多个服务地址信息;
向所述Fluent Bit服务实例发送所述一个或多个服务地址信息,以使所述Fluent Bit服务实例在所述一个或多个服务地址信息中确定出第一目标服务地址信息,并进行所述第一目标服务地址的配置,以由所述第一目标服务地址对应的所述Fluentd服务实例在所述Fluent Bit服务实例进行日志采集时接收来自所述Fluent Bit服务实例的目标日志数据并进行日志聚合处理。
2.根据权利要求1所述的方法,其特征在于,所述接收所述Fluent Bit服务实例发送的Fluentd服务地址查询请求之前,所述方法还包括:
接收目标Fluentd服务实例的注册请求信息;所述注册请求信息中携带所述目标Fluentd服务实例的所述服务地址信息;所述注册请求信息由所述目标Fluentd服务实例启动时向所述注册中心服务发送;
响应于所述注册请求信息,将所述目标Fluentd服务实例的所述服务地址信息加入所述已注册Fluentd服务实例集中,并对所述目标Fluentd服务实例进行运行状态监测;
若监测到所述目标Fluentd服务实例处于异常运行状态,则将所述目标Fluentd服务实例的所述服务地址信息从所述已注册Fluentd服务实例集中删除。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标Fluentd服务实例的所述服务地址信息从所述已注册Fluentd服务实例集中删除之后,所述方法还包括:
判断是否存在已配置所述目标Fluentd服务实例的所述服务地址信息的目标FluentBit服务实例;
若存在所述目标Fluent Bit服务实例,向所述目标Fluent Bit服务实例发送Fluentd服务实例更换通知信息,以使所述目标Fluent Bit服务实例获取来自所述已注册Fluentd服务实例集的第二目标服务地址信息,并进行所述第二目标服务地址信息的更换配置,以由所述第二目标服务地址信息对应的所述Fluentd服务实例接收来自所述目标Fluent Bit服务实例的所述目标日志数据并进行日志聚合处理。
4.一种基于注册中心的日志采集方法,其特征在于,应用于日志采集***中的FluentBit服务实例,所述日志采集***还包括注册中心服务和多个Fluentd服务实例;所述注册中心服务中维护有已注册Fluentd服务实例集,所述已注册Fluentd服务实例集包括当前处于正常运行状态的,且已在启动时预先在所述注册中心服务注册的所述Fluentd服务实例所对应的服务地址信息;所述方法包括:
在针对日志数据源进行日志采集前,向所述注册中心服务发送Fluentd服务地址查询请求,以使所述注册中心服务在所述已注册Fluentd服务实例集中获取一个或多个服务地址信息;
接收所述注册中心服务发送的所述一个或多个服务地址信息,并从所述一个或多个服务地址信息中确定出第一目标服务地址信息;
利用所述第一目标服务地址信息在配置文件中进行地址配置;
对日志数据源进行日志采集,并根据所述配置文件中的所述第一目标服务地址信息将采集得到的目标日志数据发送至所述第一目标服务地址信息对应的所述Fluentd服务实例,以由所述Fluentd服务实例对所述目标日志数据进行日志聚合处理。
5.根据权利要求4所述的方法,其特征在于,所述Fluent Bit服务实例中包括FluentBit服务实例主线程和SideCar服务;所述向所述注册中心服务发送Fluentd服务地址查询请求,包括:
通过所述SideCar服务向所述注册中心服务发送Fluentd服务地址查询请求;
所述接收所述注册中心服务发送的所述一个或多个服务地址信息,并从所述一个或多个服务地址信息中确定出第一目标服务地址信息,包括:
通过所述SideCar服务接收所述注册中心服务发送的所述一个或多个服务地址信息,并从所述一个或多个服务地址信息中确定出第一目标服务地址信息;
所述利用所述第一目标服务地址信息在配置文件中进行地址配置,包括:
通过所述SideCar服务利用所述第一目标服务地址信息在配置文件中进行地址配置;
所述对日志数据源进行日志采集,并根据所述配置文件中的所述第一目标服务地址信息将采集得到的目标日志数据发送至所述第一目标服务地址信息对应的所述Fluentd服务实例,包括:
通过所述Fluent Bit服务实例主线程对日志数据源进行日志采集,并根据所述配置文件中的所述第一目标服务地址信息将采集得到的目标日志数据发送至所述第一目标服务地址信息对应的所述Fluentd服务实例。
6.根据权利要求4所述的方法,其特征在于,所述利用所述第一目标服务地址信息在配置文件中进行地址配置之后,所述方法还包括:
接收所述注册中心服务发送的Fluentd服务实例更换通知信息;
响应于所述Fluentd服务实例更换通知信息,获取来自所述已注册Fluentd服务实例集的第二目标服务地址信息;
在所述配置文件中利用所述第二目标服务地址信息进行地址更新配置。
7.根据权利要求5所述的方法,其特征在于,所述通过所述SideCar服务利用所述第一目标服务地址信息在配置文件中进行地址配置之后,所述方法还包括:
通过所述SideCar服务以预设时间间隔向所述第一目标服务地址信息对应的所述Fluentd服务实例发送网络连接请求;
若未接收到所述第一目标服务地址信息对应的所述Fluentd服务实例针对所述网络连接请求的响应数据,则通过所述SideCar服务向所述注册中心服务发送服务地址不可用信息,并获取来自所述已注册Fluentd服务实例集的第三目标服务地址信息;
通过所述SideCar服务在所述配置文件中利用所述第三目标服务地址信息进行地址更新配置。
8.一种基于注册中心的日志采集装置,其特征在于,包括用于执行如权利要求1-3中任一项所述方法的单元,或者是包括用于执行如权利要求4-7中任一项所述方法的单元。
9.一种基于注册中心的日志采集方法,其特征在于,应用于日志采集***,所述日志采集***包括注册中心服务、Fluent Bit服务实例以及多个Fluentd服务实例;所述注册中心服务中维护有已注册Fluentd服务实例集,所述已注册Fluentd服务实例集包括当前处于正常运行状态的,且已在启动时预先在所述注册中心服务注册的所述Fluentd服务实例所对应的服务地址信息;所述方法包括:
所述Fluentd服务实例在启动时向所述注册中心服务发送注册请求信息;所述注册请求信息携带有所述Fluentd服务实例对应的所述服务地址信息;
所述注册中心服务接收并响应于所述注册请求信息,将所述服务地址信息加入所述已注册Fluentd服务实例集,并对所述Fluentd服务实例进行运行状态监测;
所述Fluent Bit服务实例在针对日志数据源进行日志采集前,向所述注册中心服务发送Fluentd服务地址查询请求;
所述注册中心服务接收并响应于所述Fluentd服务地址查询请求,获取所述已注册Fluentd服务实例集中的一个或多个服务地址信息并发送至所述Fluent Bit服务实例;
所述Fluent Bit服务实例接收所述注册中心服务发送的所述一个或多个服务地址信息,从所述一个或多个服务地址信息中确定出第一目标服务地址信息,并利用所述第一目标服务地址信息在配置文件中进行地址配置;
所述Fluent Bit服务实例对日志数据源进行日志采集,并根据所述配置文件中的所述第一目标服务地址信息将采集得到的目标日志数据发送至所述第一目标服务地址信息对应的所述Fluentd服务实例;
所述Fluentd服务实例接收来自所述Fluent Bit服务实例的所述目标日志数据,并对所述目标日志数据进行日志聚合处理。
10.一种日志采集***,其特征在于,所述日志采集***包括注册中心服务、FluentBit服务实例、以及多个Fluentd服务实例;所述注册中心服务维护有已注册Fluentd服务实例集,所述已注册Fluentd服务实例集包括当前处于正常运行状态的,且已在启动时预先在所述注册中心服务注册的所述Fluentd服务实例所对应的服务地址信息;其中,
所述Fluentd服务实例用于,在启动时向所述注册中心服务发送注册请求信息,所述注册请求信息携带有所述Fluentd服务实例对应的所述服务地址信息;
所述注册中心服务用于,接收并响应于所述注册请求信息,将所述服务地址信息加入所述已注册Fluentd服务实例集,并对所述Fluentd服务实例进行运行状态监测;
所述Fluent Bit服务实例用于,在针对日志数据源进行日志采集前,向所述注册中心服务发送Fluentd服务地址查询请求;
所述注册中心服务还用于,接收并响应于所述Fluentd服务地址查询请求,获取所述已注册Fluentd服务实例集中的一个或多个服务地址信息并发送至所述Fluent Bit服务实例;
所述Fluent Bit服务实例还用于,接收所述注册中心服务发送的所述一个或多个服务地址信息,从所述一个或多个服务地址信息中确定出第一目标服务地址信息,并利用所述第一目标服务地址信息在配置文件中进行地址配置;
所述Fluent Bit服务实例还用于,对日志数据源进行日志采集,并根据所述配置文件中的所述第一目标服务地址信息将采集得到的目标日志数据发送至所述第一目标服务地址信息对应的所述Fluentd服务实例;
所述Fluentd服务实例还用于,接收来自所述Fluent Bit服务实例的所述目标日志数据,并对所述目标日志数据进行日志聚合处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410142912.6A CN117978633A (zh) | 2024-01-31 | 2024-01-31 | 基于注册中心的日志采集方法、***、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410142912.6A CN117978633A (zh) | 2024-01-31 | 2024-01-31 | 基于注册中心的日志采集方法、***、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117978633A true CN117978633A (zh) | 2024-05-03 |
Family
ID=90864436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410142912.6A Pending CN117978633A (zh) | 2024-01-31 | 2024-01-31 | 基于注册中心的日志采集方法、***、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117978633A (zh) |
-
2024
- 2024-01-31 CN CN202410142912.6A patent/CN117978633A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107924359B (zh) | 计算***中的故障情况的管理 | |
US10747592B2 (en) | Router management by an event stream processing cluster manager | |
US10425316B2 (en) | Heart beat monitoring for broadband access devices and enterprise devices | |
US6718376B1 (en) | Managing recovery of service components and notification of service errors and failures | |
US7266726B1 (en) | Methods and apparatus for event logging in an information network | |
US7689688B2 (en) | Multiple-application transaction monitoring facility for debugging and performance tuning | |
EP3796167B1 (en) | Router management by an event stream processing cluster manager | |
US9438668B2 (en) | System and method for managing message queues in a peer-to-peer communication network | |
US10944655B2 (en) | Data verification based upgrades in time series system | |
US7370102B1 (en) | Managing recovery of service components and notification of service errors and failures | |
TW201416898A (zh) | 資料監控方法、系統及其伺服器端、用戶端 | |
JP2000215130A (ja) | クラスタ性能監視ユ―ティリティ | |
US20080162690A1 (en) | Application Management System | |
US11722375B2 (en) | Service continuity for network management systems in IPv6 networks | |
CN109412890B (zh) | 基于dds的联合试验平台中间件节点状态检测方法 | |
JP2010128597A (ja) | 情報処理装置及び情報処理装置の運用方法 | |
EP2381630B1 (en) | Monitoring a mobile data service associated with a mailbox | |
CN112260902A (zh) | 网络设备监控方法、装置、设备及存储介质 | |
CN117978633A (zh) | 基于注册中心的日志采集方法、***、设备及存储介质 | |
US7752504B2 (en) | System diagnostics with dynamic contextual information of events | |
US20160125330A1 (en) | Rolling upgrade of metric collection and aggregation system | |
US9100302B2 (en) | Methods and systems for monitoring multicast availability | |
US9172596B2 (en) | Cross-network listening agent for network entity monitoring | |
WO2014075425A1 (zh) | 数据处理方法、计算节点及*** | |
US20080005291A1 (en) | Coordinated information dispersion in a distributed computing system |
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 |