1.本发明涉及数据采集技术领域,尤其涉及一种日志数据采集管理方法、系统、存储介质和电子设备。
背景技术:2.数据采集,又称数据获取,是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。数据采集技术已经广泛应用于企业线上服务数据、日志文件、机器数据等数据的实时采集和汇总。目前通用的日志数据采集需要前后端协同完成,数据生产端使用数据采集服务抓取实时数据,数据汇总端使用数据收集服务接收前端数据流量,此过程需要基于网络进行数据传输,前端严重对后端存在紧密的耦合。需要采集的线上日志数据往往总类繁多,回传到数据汇总端的数据会存在不同的实时处理逻辑,同时还伴随着新增的数据类别,这些数据的最终流向也与实际的数据有着紧密的联系,无法通过统一的处理流程完成日志数据持久化操作。如何对前后端解耦,并实现日志数据实时动态归类与处理持久化,是一个亟需解决的问题。
技术实现要素:3.为解决上述技术问题,本发明提供了一种日志数据采集管理方法、系统、存储介质和电子设备。
4.本发明的一种日志数据采集管理方法的技术方案如下:
5.获取每个前端服务器所采集的日志数据;
6.接收数据处理动态配置管理平台为每个日志数据所配置的数据处理配置类型;其中,每种数据处理配置类型对应一个处理系统;
7.基于采集时间顺序,将所有的日志数据按照依次发送至目标消息队列,以通过所述目标消息队列依次将每个日志数据发送至对应的处理系统进行处理。
8.本发明的一种日志数据采集管理方法的有益效果如下:
9.本发明的方法通过构建数据处理配置类型实现了日志数据分类处理、按类别持久化,解决了前后端节点耦合问题,提升了消息队列的数据收集能力。本发明的方法采用的数据管理方式极大的降低了数据接入成本,减少运维人力。
10.在上述方案的基础上,本发明的一种日志数据采集管理方法还可以做如下改进。
11.进一步,所述接收每个前端服务器所采集的日志数据,包括:
12.通过至少一个负载均衡器获取所有的日志数据,其中,每个前端服务器分别通过公网域名获取对应的负载均衡器的ip地址,并基于所述对应的负载均衡器的ip地址,向所述对应的负载均衡器发送日志数据。
13.进一步,所述负载均衡器为:http/tcp负载均衡器。
14.进一步,所述数据处理配置类型为:数据处理类型、数据转发类型、数据审批类型或数据监控类型。
15.进一步,所述目标消息队列为:kafka消息队列。
16.本发明的一种日志数据采集管理系统的技术方案如下:
17.包括:接收模块、分配模块和发送模块;
18.所述接收模块用于:获取每个前端服务器所采集的日志数据;
19.所述分配模块用于:接收数据处理动态配置管理平台为每个日志数据所配置的数据处理配置类型;其中,每种数据处理配置类型对应一个处理系统;
20.所述发送模块用于:基于采集时间顺序,将所有的日志数据按照依次发送至目标消息队列,以通过所述目标消息队列依次将每个日志数据发送至对应的处理系统进行处理。
21.本发明的一种日志数据采集管理系统的有益效果如下:
22.本发明的系统通过构建数据处理配置类型实现了日志数据分类处理、按类别持久化,解决了前后端节点耦合问题,提升了消息队列的数据收集能力。本发明的系统采用的数据管理方式极大的降低了数据接入成本,减少运维人力。
23.在上述方案的基础上,本发明的一种日志数据采集管理系统还可以做如下改进。
24.进一步,所述接收模块具体用于:
25.通过至少一个负载均衡器获取所有的日志数据,其中,每个前端服务器分别通过公网域名获取对应的负载均衡器的ip地址,并基于所述对应的负载均衡器的ip地址,向所述对应的负载均衡器发送日志数据。
26.进一步,所述负载均衡器为:http/tcp负载均衡器。
27.本发明的一种存储介质的技术方案如下:
28.存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如本发明的一种日志数据采集管理方法的步骤。
29.本发明的一种电子设备的技术方案如下:
30.包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述计算机执行如本发明的一种日志数据采集管理方法的步骤。
附图说明
31.图1为本发明实施例的一种日志数据采集管理方法的第一流程示意图;
32.图2为本发明实施例的一种日志数据采集管理方法的第二流程示意图;
33.图3为本发明实施例的一种日志数据采集管理系统的结构示意图。
具体实施方式
34.如图1所示,本发明实施例的一种日志数据采集管理方法,包括如下步骤:
35.s1、获取每个前端服务器所采集的日志数据。
36.其中,日志数据指:各类业务服务所生成的业务数据,以日志的形式实时输出到日志文件中;各类线上服务生成的服务运行日志,记录当前服务的处理流程信息、接口交互信息、资源使用信息等。
37.其中,前端服务器的作用为:负责监控日志文件,并将读取到的日志数据批量回传
到后端服务器上。每个前端服务器所采集的日志数据的数量为至少一个。
38.具体地,通过后端服务器获取(接收)每个前端服务器所采集的日志数据,得到所有的日志数据。
39.s2、接收数据处理动态配置管理平台为每个日志数据所配置的数据处理配置类型。
40.其中,前端采集服务(前端服务器)采集到的日志数据可能有很多类别,每个类别均有对应的数据结构和数据内容,前端服务器上报的日志数据在采集时会原封不动的构造成一条字符串,与此同时会给这条数据附加上一些元信息(采集时间、日志数据的数据类别标识、数据大小、数据所在的服务器等信息)。
41.后端收集服务(后端服务器)接收到任意条数据时首先需要读取元信息,获取数据类别,然后根据动态配置管理平台所配置的逻辑(数据处理配置类型)去处理原始数据得到一条下游可用的数据,并写入到目标消息队列中。
42.需要说明的是,前后端需要有一套映射关系,统一管理每个日志数据的数据处理配置类型,如数据处理类型(实时处理逻辑)、数据转发类型(数据转发逻辑)等,这些都需要通过动态配置管理平台实现。
43.其中,每种数据处理配置类型对应一个处理系统。
44.其中,动态配置管理平台的作用为:负责管理数据收集服务(即:为后端服务器中的每个日志数据数据处理配置类型)的动态配置。数据处理配置类型包括:数据处理类型、数据转发类型、数据审批类型或数据监控类型。
45.其中,数据处理配置类型包括但不限于:数据处理类型、数据转发类型、数据审批类型或数据监控类型。每一种数据处理配置类型对应的处理系统(数据处理器)不同。例如,当任一日志数据的数据处理类型为数据转发类型时,则该日志数据对应的处理系统为数据转发的处理系统。
46.需要说明的是,在本实施例中,处理系统包括但不限于:数据处理系统、数据转发系统、数据审批(操作审批)系统、数据监控系统等。其中,数据处理系统的作用为:对日志数据进行格式化处理,清洗日志格式、校验字段类型、过滤异常数据等操作。数据转发系统的作用为:不同类别的数据往往需要分区持久化,将不同用处的数据存储到相应的消息队列中,此时需要支持数据持久化的转发动态更新。数据审批(操作审批)系统的作用为:在对后端收集服务进行上述数据处理配置更新时需要有审批流程,符合规定的配置才能上线,审批流程支持多级多人审批。数据监控系统的作用为:对日志数据进行实时统计记录给地区、各机房上报的各类别数据流量、大小、耗时等数据,通过对以上数据可视化形成图形化监控,与此同时还可以实现上述数据的阈值报警。
47.具体地,后端服务器与数据处理动态配置管理平台对接,得到动态配置管理平台为每个日志数据所配置的数据处理配置类型。
48.需要说明的是,前端服务器的数量为多个。
49.s3、基于采集时间顺序,将所有的日志数据按照依次发送至目标消息队列,以通过所述目标消息队列依次将每个日志数据发送至对应的处理系统进行处理。
50.具体地,后端服务器根据每个日志数据的采集时间顺序,将所有的日志数据按照依次发送至目标消息队列,目标消息队列按照先进先出的顺序(即采集时间的先后顺序),
将每个日志数据分别发送至对应的处理系统进行处理。
51.其中,本实施例中采用的目标消息队列为:kafka消息队列。
52.需要说明的是,本实施例的技术方案的应用领域包括但不限于:
53.①
企业级实时、离线数仓建设:需要构建大规模的数据采集信息,可实现多地区多机房的服务日志采集和汇总,实时采集并批量上报到终端,数据分类处理统一进入消息队列,最终由大数据仓库进行在线/离线处理;
54.②
大规模的线上服务告警系统:通过本实施例的技术方案,将成千上万个服务的日志采集到终端,统一入库到消息队列,通过实时数据分析引擎是实现业务服务监控、告警。
55.较优地,所述s1包括:
56.通过至少一个负载均衡器获取所有的日志数据,其中,每个前端服务器分别通过公网域名获取对应的负载均衡器的ip地址,并基于所述对应的负载均衡器的ip地址,向所述对应的负载均衡器发送日志数据。
57.其中,负载均衡器为:http/tcp负载均衡器;负载均衡器绑定在一个公有域名上,用于实现日志数据的转发。
58.具体地,如图2所示,每个前端服务器(远端数据采集服务)采集各地区上报的日志数据,并通过公网域名建立远端数据采集服务与负载均衡器之间的连接,远端数据采集服务将日志数据发送至公网域名时,通过dns解析得到对应的http/tcp负载均衡器的ip,此时远端数据采集服务通过该ip与http/tcp负载均衡器进行数据传输;再通过每个http/tcp负载均衡器将日志数据发送至的后端服务器(后端数据收集服务)中;后端服务器中可包含多个node节点(数据收集服务节点),每个node节点接收数据处理动态配置管理平台的配置信息,再根据每个日志数据的数据处理配置类型,将所有的日志数据按照预设顺序发送至目标消息队列(kafka),以通过目标消息队列将每个日志数据发送至相应的处理系统中进行处理。
59.其中,一个数据收集服务由若干个对等的服务进程构成,他们由多台服务构成一个集群,该集群中每一个node节点都是一个可接收数据的进程,每个node节点的作用与能力是相同的。该集群规模主要根据上报的日志数据量来规划,实时上报的日志数据量规模较大时则可以横向扩展收集服务的节点,以此扩充数据采集能力。
60.其中,公网域名的作用为:建立前端服务器和负载均衡器之间网络连接,并使前端服务器获取到对应的负载均衡器的ip。具体地,为了不直接绑定ip,需要申请一个公网域名,并通过dns域名解析找到负载均衡器的ip,前端服务器只需要向此公网域名发起连接并发送日志数据即可,不需要知道具体和哪个负载均衡器进行数据交换。
61.需要说明的是,每个前端服务器通过数据采集节点实时采集日志数据,并为每个数据构造元信息,标识数据类别、大小、时间等信息。后端服务器根据每个元信息的数据类别,选择与元信息的数据类别相对应的数据处理配置类型,并将所有的日志数据配置完成后,统一同步发送至kafka消息队列中。其中,后端服务器采用开源组件flume实现日志数据的采集接收功能,扩展动态数据拦截器、动态数据转发器、动态数据持久化通道,并通过数据处理动态配置管理平台下发数据处理配置到对应的后端服务器,实现实时日志数据的动态处理,数据处理动态配置管理平台基于http接口与后端服务器(实际的收集服务)的节点
进行交互,实现动态配置的下发和更新。
62.需要说明的是,构建数据处理动态配置管理平台用于将数据处理、数据转发、数据持久化等动态配置实现可视化,并设有上线审批流程,支持多级审批、灰度更新、全量上线、回滚等功能,同时支持服务监控、数据监控等功能。
63.本实施例的技术方案通过构建数据处理配置类型实现了日志数据分类处理、按类别持久化,解决了前后端节点耦合问题,提升了消息队列的数据收集能力。本实施例的技术方案采用的数据管理方式极大的降低了数据接入成本,减少运维人力。
64.在本发明的一种日志数据采集管理方法的第二实施例中(以美团为例),包括:
65.s10、后端服务器获取每个前端服务器所采集的日志数据;其中,日志数据为:全国各地区所采集的与业务相关的日志数据,每个日志数据对应一个业务类型。
66.s20、后端服务器接收数据处理动态配置管理平台为每个日志数据所配置的数据处理配置类型;其中,每种数据处理配置类型对应一个业务处理系统;
67.s30、基于采集时间顺序,将所有的日志数据按照依次发送至目标消息队列,以通过所述目标消息队列依次将每个日志数据发送至对应的业务处理系统进行处理。
68.具体地,所述s10包括:
69.通过至少一个负载均衡器获取所有的日志数据,其中,每个前端服务器分别通过公网域名获取对应的负载均衡器的ip地址,并基于所述对应的负载均衡器的ip地址,向所述对应的负载均衡器发送日志数据。
70.其中,所述负载均衡器为:http/tcp负载均衡器。
71.其中,所述数据处理配置类型为:数据处理类型、数据转发类型、数据审批类型或数据监控类型。
72.其中,所述目标消息队列为:kafka消息队列。
73.通过第二实施例的方案,能够实现企业级企业级大数据平台数仓建设。具体地,美团依托于flume构建了一个统一的数据收集平台,将日志采集、数据上报、数据抓取等功能聚合到统一系统中,通过统一的公网域名暴露数据上报接口,支持多地区日志采集上报、移动端sdk数据上报;并支持主动数据摄取,可实现日志数据端到端的运载能力。通过主被动的方式获取到的数据统一进入系统进行处理并实时分发到各业务线的消息队列中,并支持多种方式的数据持久化能力。
74.在本发明的一种日志数据采集管理方法的第三实施例中(以迅雷为例),包括:
75.s100、获取每个前端服务器所采集的日志数据;其中,日志数据为:每个前端服务器采集的服务器运行数据,用于服务监控和实时告警。
76.s200、接收数据处理动态配置管理平台为每个日志数据所配置的数据处理配置类型;其中,每种数据处理配置类型对应一个处理系统。
77.s300、基于采集时间顺序,将所有的日志数据按照依次发送至目标消息队列,以通过所述目标消息队列依次将每个日志数据发送至对应的处理系统进行处理。
78.具体地,所述s100包括:
79.通过至少一个负载均衡器获取所有的日志数据,其中,每个前端服务器分别通过公网域名获取对应的负载均衡器的ip地址,并基于所述对应的负载均衡器的ip地址,向所述对应的负载均衡器发送日志数据。
80.其中,所述负载均衡器为:http/tcp负载均衡器。
81.其中,所述数据处理配置类型以数据监控类型为主,以数据处理类型、数据转发类型和数据审批类型为辅。
82.其中,所述目标消息队列为:kafka消息队列。
83.通过第三实施例的方案,实现线上服务告警系统。迅雷通过分布式日志数据采集技术实现了全球上万个cdn服务器的服务监控和实时告警,通过内嵌到cdn服务器上的数据抓取工具实时采集服务器信息、进程运行信息、进程日志,通过内外网域名将数据统一上报到后端服务器,然后根据数据类别将每个日志数据分发至消息队列中,最终由报警中台进行数据的实时处理、基于统计引擎实现数据统计,由此实现全球cdn服务稳定性监控和上万台服务器的资源监控。
84.如图3所示,本发明实施例的一种日志数据采集管理系统200,包括:接收模块210、分配模块220和发送模块230;
85.所述接收模块210用于:获取每个前端服务器所采集的日志数据;
86.所述分配模块220用于:接收数据处理动态配置管理平台为每个日志数据所配置的数据处理配置类型;其中,每种数据处理配置类型对应一个处理系统;
87.所述发送模块230用于:基于采集时间顺序,将所有的日志数据按照依次发送至目标消息队列,以使所述目标消息队列按照所述采集时间顺序将每个日志数据发送至对应的处理系统进行处理。
88.较优地,所述接收模块210具体用于:
89.通过至少一个负载均衡器获取所有的日志数据,其中,每个前端服务器分别通过公网域名获取对应的负载均衡器的ip地址,并基于所述对应的负载均衡器的ip地址,向所述对应的负载均衡器发送日志数据。
90.较优地,所述负载均衡器为:http/tcp负载均衡器。
91.本实施例的技术方案通过构建数据处理配置类型实现了日志数据分类处理、按类别持久化,解决了前后端节点耦合问题,提升了消息队列的数据收集能力。本实施例的技术方案采用的数据管理方式极大的降低了数据接入成本,减少运维人力。
92.上述关于本实施例的一种日志数据采集管理系统200中的各参数和各个模块实现相应功能的步骤,可参考上文中关于一种日志数据采集管理方法的实施例中的各参数和步骤,在此不做赘述。
93.本发明实施例提供的一种存储介质,包括:存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如一种日志数据采集管理方法的步骤,具体可参考上文中一种日志数据采集管理方法的实施例中的各参数和步骤,在此不做赘述。
94.计算机存储介质例如:优盘、移动硬盘等。
95.本发明实施例提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述计算机执行如一种日志数据采集管理方法的步骤,具体可参考上文中一种日志数据采集管理方法的实施例中的各参数和步骤,在此不做赘述。
96.所属技术领域的技术人员知道,本发明可以实现为方法、系统、存储介质和电子设备。
97.因此,本发明可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram),只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
技术特征:1.一种日志数据采集管理方法,其特征在于,包括:获取每个前端服务器所采集的日志数据;接收数据处理动态配置管理平台为每个日志数据所配置的数据处理配置类型;其中,每种数据处理配置类型对应一个处理系统;基于采集时间顺序,将所有的日志数据按照依次发送至目标消息队列,以通过所述目标消息队列依次将每个日志数据发送至对应的处理系统进行处理。2.根据权利要求1所述的一种日志数据采集管理方法,其特征在于,所述接收每个前端服务器所采集的日志数据,包括:通过至少一个负载均衡器获取所有的日志数据,其中,每个前端服务器分别通过公网域名获取对应的负载均衡器的ip地址,并基于所述对应的负载均衡器的ip地址,向所述对应的负载均衡器发送日志数据。3.根据权利要求2所述的一种日志数据采集管理方法,其特征在于,所述负载均衡器为:http/tcp负载均衡器。4.根据权利要求1所述的一种日志数据采集管理方法,其特征在于,所述数据处理配置类型为:数据处理类型、数据转发类型、数据审批类型或数据监控类型。5.根据权利要求1-4任一项所述的一种日志数据采集管理方法,其特征在于,所述目标消息队列为:kafka消息队列。6.一种日志数据采集管理系统,其特征在于,包括:接收模块、分配模块和发送模块;所述接收模块用于:获取每个前端服务器所采集的日志数据;所述分配模块用于:接收数据处理动态配置管理平台为每个日志数据所配置的数据处理配置类型;其中,每种数据处理配置类型对应一个处理系统;所述发送模块用于:基于采集时间顺序,将所有的日志数据按照依次发送至目标消息队列,以通过所述目标消息队列依次将每个日志数据发送至对应的处理系统进行处理。7.根据权利要求6所述的一种日志数据采集管理系统,其特征在于,所述接收模块具体用于:通过至少一个负载均衡器获取所有的日志数据,其中,每个前端服务器分别通过公网域名获取对应的负载均衡器的ip地址,并基于所述对应的负载均衡器的ip地址,向所述对应的负载均衡器发送日志数据。8.根据权利要求7所述的一种日志数据采集管理系统,其特征在于,所述负载均衡器为:http/tcp负载均衡器。9.一种存储介质,其特征在于,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如权利要求1至5中任一项所述的一种日志数据采集管理方法。10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述计算机执行如权利要求1至5中任一项所述的一种日志数据采集管理方法。
技术总结本发明涉及一种日志数据采集管理方法、系统、存储介质和电子设备,包括:获取每个前端服务器所采集的日志数据;接收数据处理动态配置管理平台为每个日志数据所配置的数据处理配置类型;其中,每种数据处理配置类型对应一个处理系统;基于采集时间顺序,将所有的日志数据按照依次发送至目标消息队列,以通过所述目标消息队列依次将每个日志数据发送至对应的处理系统进行处理。本发明通过构建数据处理配置类型实现了日志数据分类处理、按类别持久化,解决了前后端节点耦合问题,提升了消息队列的数据收集能力。本发明的方法采用的数据管理方式极大的降低了数据接入成本,减少运维人力。力。力。
技术研发人员:徐顺 冷其澎
受保护的技术使用者:数美天下(北京)科技有限公司
技术研发日:2022.06.30
技术公布日:2022/11/1