CN111625412A - 基于Flume的数据采集方法、系统、设备和存储介质 - Google Patents
基于Flume的数据采集方法、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN111625412A CN111625412A CN202010296003.XA CN202010296003A CN111625412A CN 111625412 A CN111625412 A CN 111625412A CN 202010296003 A CN202010296003 A CN 202010296003A CN 111625412 A CN111625412 A CN 111625412A
- Authority
- CN
- China
- Prior art keywords
- acquisition
- data
- object data
- file
- flume
- 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
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/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种基于Flume的数据采集方法、系统、设备和存储介质。所述数据采集系统包括:采集端设备,其包括:用于扫描指定目录下的采集配置文件的采集配置文件获取模块、对象数据获取模块、对象数据发送模块;接收端设备,其包括:用于接收采集端通过通道发送的对象数据的对象数据接收模块、用于获取所述通道对应的配置信息的配置信息获取模块、用于根据解析规则对所述对象数据进行处理的数据处理模块。本发明提供的数据采集系统,通过设置采集配置文件将多种数据类型的信息进行更加完善的集中收集,并根据配置信息对获取的数据进行处理及存储,不仅可以达到解放用户,监控系统全局的效果,还能降低后期运维人员对于数据统计和分析的难度。
Description
技术领域
本发明涉及计算机通信技术领域,更为具体而言,涉及一种基于Flume的数据采集方法、系统、设备和存储介质。
背景技术
大型企业的业务复杂,主机设备众多。如何监控这些主机已然成了业界难题,而监控的第一步就是信息的采集,海量设备的海量信息,更加大了采集的难度。
当前各类企业信息系统多为分布式部署构架,在进行监控时,需要运维人员单台登录对应的系统查看相关信息来查找问题,这样不仅浪费时间,而且也很难定位问题。
因此,需要应用分布式数据采集方法对需要监控的数据进行采集,Flume便是由Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。但是,Flume的Source(采集端,负责监控并收集数据)对全量日志进行采集的时候,其工作方式是日志出现就进行采集,因此,可能会存在日志还没有完全写入的情况,此外,针对日志名称没有通配符匹配的功能,也无法将数据按照重要性、业务类别、安全级别等划分为不同数据集群。其次,Flume的Sink(接收端,负责将数据放置在指定位置)不支持字段提取和行列转换,致使存储有很多无用数据,浪费存储空间,Sink也不具备配置关联功能,增大了对于后期数据统计和分析的难度,并且,Sink同样不能将数据按照重要性、业务类别、安全级别划分为不同数据集群,无法灵活适配各类数据,也不能切换分钟级和秒级两种模式采集功能。可见,Flume整个架构不能将数据按照重要性、业务类别、安全级别送入不同的Channel(数据通道),以使Sink进行不同的处理,进而存入到不同的存储环境。
发明内容
为解决上述现有技术存在的问题,本发明提供了一种基于Flume的数据采集方法、系统、设备和存储介质,通过设置采集配置文件,使采集端在扫描获取对象数据的方法更加完善。
根据本发明的第一方面,本发明实施方式提供了一种基于Flume的数据采集方法,包括:采集端扫描指定目录下的采集配置文件,所述采集配置文件至少包括采集方式、采集时间间隔、采集时间阈值、解析规则;当所述采集方式为增量采集时,所述采集端仅采集所述采集时间间隔内新产生的对象数据,当所述采集方式为全量采集时,所述采集端在对象数据不再更新的时长超过所述采集时间阈值后,采集所述采集配置文件对应的全部对象数据;所述采集端将采集的对象数据送入不同的通道,并通过所述不同的通道发送给不同的接收端。
本发明上述实施方式通过设置采集配置文件确定具体的数据采集方式,可以实现完整的全量采集,并将采集到的对象数据分别发送,能够提高后续数据处理效率。
在本发明的一些实施方式中,所述采集配置文件还包括:文件的路径、文件的编码。
在本发明的一些实施方式中,所述采集端将采集的对象数据送入不同的通道包括:所述采集端将采集的对象数据进行封装,并按照重要性、业务类别、安全级别存入不同的通道。
本发明实施方式通过将采集的对象数据按照各自属性确定对应的通道进行发送,可以为后续便捷的数据监控和处理提供基础。
在本发明的一些实施方式中,所述采集端将采集的对象数据进行封装包括:所述采集端将采集的对象数据封装为事件对象。
在本发明的一些实施方式中,所述事件对象包含:文件内容、文件名、主机名、采集时间、日志类型。
根据本发明的第二方面,本发明实施方式提供了一种基于Flume的数据采集方法,包括:接收端接收采集端通过通道发送的对象数据;所述接收端获取所述通道对应的配置信息,所述配置信息至少包括解析规则;所述接收端根据所述解析规则对所述对象数据进行字段提取,并存入指定存储区域。
采用本发明的上述方法,根据不同通道对应的解析规则对对象数据进行字段提取和存储,能够剔除无用数据,节约存储空间。
在本发明的一些实施方式中,所述配置信息还包括:行列转换模式、数据处理规则。
在本发明的一些实施方式中,所述数据采集方法还包括:对于接收到的对象数据,所述接收端根据所述行列转换模式把相同类型的值整合为一行数据进行存储;所述接收端根据所述数据处理规则对接收到的数据进行提取和/或关联。
本发明实施方式通过对应的行列转换模式对接收到的对象数据进行整合并存储,能够减少对无用数据的存储;通过对应的数据处理规则对接收到的对象数据进行提取和/或关联这样的初步处理,可以降低后期运维人员对于数据统计和分析的难度。
在本发明的一些实施方式中,所述存储区域包括:Oracle数据库、ElasticSearch搜索服务器、KAFKA开源流处理平台。
本发明实施方式通过将初步处理的数据存入对应的存储区域,可以方便运维人员直接在需要查看的位置获取对应的数据,节约运维人员的时间成本。
根据本发明的第三方面,本发明实施方式提供了一种基于Flume的数据采集系统中的采集端设备,包括:采集配置文件获取模块,用于扫描指定目录下的采集配置文件,所述采集配置文件至少包括采集方式、采集时间间隔、采集时间阈值、解析规则;对象数据获取模块,当所述采集方式为增量采集时,所述采集端仅采集所述采集时间间隔内新产生的对象数据,当所述采集方式为全量采集时,所述采集端在对象数据不再更新的时长超过所述采集时间阈值后,采集所述采集配置文件对应的全部对象数据;对象数据发送模块,用于将采集的对象数据送入不同的通道,并通过所述不同的通道发送给不同的接收端。
本发明上述实施方式通过设置采集配置文件确定具体的数据采集方式,可以实现完整的全量采集,并将采集到的对象数据分别发送,能够提高后续数据处理效率。
在本发明的一些实施方式中,所述采集配置文件还包括:文件的路径、文件的编码。
在本发明的一些实施方式中,所述将采集的对象数据送入不同的通道包括:将采集的对象数据进行封装,并按照重要性、业务类别、安全级别存入不同的通道。
本发明实施方式通过将采集的对象数据按照各自属性确定对应的通道进行发送,可以为后续便捷的数据监控和处理提供基础。
在本发明的一些实施方式中,所述将采集的对象数据进行封装包括:将采集的对象数据封装为事件对象。
在本发明的一些实施方式中,所述事件对象包含:文件内容、文件名、主机名、采集时间、日志类型。
根据本发明的第四方面,本发明实施方式提供了一种基于Flume的数据采集系统中的接收端设备,包括:对象数据接收模块,用于接收采集端通过通道发送的对象数据;配置信息获取模块,用于获取所述通道对应的配置信息,所述配置信息至少包括解析规则;数据处理模块,用于根据所述解析规则对所述对象数据进行字段提取,并存入指定存储区域。
根据上述实施方式,接收端设备按照不同通道对应的解析规则对对象数据进行字段提取和存储,能够剔除无用数据,节约存储空间。
在本发明的一些实施方式中,所述配置信息还包括:行列转换模式、数据处理规则。
在本发明的一些实施方式中,所述数据处理模块还用于:对于接收到的对象数据,根据所述行列转换模式把相同类型的值整合为一行数据进行存储;根据所述数据处理规则对接收到的数据进行提取和/或关联。
根据本发明实施方式,通过对应的行列转换模式对接收到的对象数据进行整合并存储,能够减少对无用数据的存储;通过对应的数据处理规则对接收到的对象数据进行提取和/或关联这样的初步处理,可以降低后期运维人员对于数据统计和分析的难度。
在本发明的一些实施方式中,所述存储区域包括:Oracle数据库、ElasticSearch搜索服务器、KAFKA开源流处理平台。
根据本发明实施方式,通过将初步处理的数据存入对应的存储区域,可以方便运维人员直接在需要查看的位置获取对应的数据,节约运维人员的时间成本。
根据本发明的第五方面,本发明实施方式提供了一种基于Flume的数据采集系统,包括如上任意一种实施方式所述的采集端设备和如上任意一种实施方式所述的接收端设备。
根据本发明实施方式,通过设置采集配置文件可以实现不同方式的数据采集,并且,根据配置信息对获取的数据进行处理及存储,不仅可以达到解放用户,监控系统全局的效果,还能提高后期数据处理的效率。
根据本发明的第六方面,本发明实施方式提供一种计算机存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得计算机执行如下操作:所述操作包括如上任意一种实施方式所述数据采集方法所包含的步骤。
根据本发明的第七方面,本发明实施方式提供一种包括存储器和处理器的计算机设备,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时能够实现如上任意一种实施方式所述的数据采集方法。
本发明实施方式提供的基于Flume的数据采集方法、系统、存储介质和设备,通过设置采集配置文件确定数据采集的具体方法,可以将多种数据类型的信息进行更加完善的集中收集,同时,根据配置信息对获取的数据进行处理并存入对应的存储区域,不仅可以达到解放用户,监控系统全局的效果,还能降低后期运维人员对于数据统计和分析的难度,提高数据处理效率。
附图说明
图1是根据本发明一种实施方式的基于Flume的数据采集方法的流程示意图;
图2是本发明一种实施方式的采集配置json文件代码截图;
图3是根据本发明一种实施方式的基于Flume的数据采集方法的流程示意图;
图4是根据本发明一种实施方式的基于Flume的数据采集系统的架构图;
图5是根据本发明另一种实施方式的基于Flume的数据采集系统的架构图。
具体实施方式
以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和设计。
下面对本文中使用的术语进行简要说明。
Flume,一个Cloudera提供的高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统;
Kafka,一个由Apache软件基金会开发的一个开源流处理平台;
ElasticSearch,一个基于Lucene的搜索服务器;
Agent,监控代理,安装在被监控设备上,用于获取监控信息;
Weblogic,一个基于JAVAEE架构的中间件。
图1是根据本发明一种实施方式的基于Flume的数据采集方法的流程示意图,其示出了Flume的采集端的处理过程。
如图1所示,在本发明的一种实施方式中,基于Flume的数据采集方法可包括:步骤S11、步骤S12和步骤S13,下面对上述步骤进行具体的描述。
在步骤S11中,采集端扫描指定目录下的采集配置文件,所述采集配置文件至少包括采集方式、采集时间间隔、采集时间阈值、解析规则。其中,所述采集方式至少包括全量采集和增量采集,采集时间间隔可预设为默认值,例如,10s,可选的,不同目录下采集配置文件中的采集时间间隔可以根据实际情况分别设置。相应的,针对采集时间阈值的设置同理。
在可选的实施方式中,所述采集配置文件还包括:文件的路径、文件的编码。并且,采集配置文件中支持文件路径的末级和文件名的通配符匹配规则,由此,可以支持文件路径的末级和文件名的通配符相匹配时的采集功能。
在可选的实施方式中,有轮询线程不断扫描指定目录下的采集配置文件,该采集配置文件可以为json文件。为了更加清楚的理解本发明中的采集配置json文件,以图2所示的采集配置json文件代码为示例进行说明:图2中的json文件表示以全量的方式采集dir路径下的所有文件,采集间隔为interval,当文件超过idleTime空闲,即表示没有修改过才进行采集。采集后的文件带上logType标识,使后端sink根据这个标识,进行对应的日志解析,日志解析即为自定义字段提取。
如图2所示的json文件,其中,各字段具体说明如下:
1)dir日志目录:
1、可以包含多个路径,多个路径之间用空格分隔;
2、可以包含*,表示该目录下的子目录都作为日志目录;
3、目录可以包含%%分隔的时间格式(如:/home/ap/appmon/test%yyyy-MM-dd%,程序会自动解析为当前日期目录/home/ap/appmon/test2017-11-03)。
2)filename日志文件名:
1、可以包含多个文件名,多个文件名之间用空格分隔;
2、可以包含通配符(*和?);
3、文件名可以包含%%分隔的时间格式(如:appmon-log%yyyy-MM-dd%.log,程序会自动解析为当前日期文件名appmon-log2017-11-03.log)。
3)logType日志类型:
与接收端的解析规则存在对应关系。
4)append是否增量读取:
true为增量读取,false为全量读取。
5)lineStartPattern行开始表达式
多行模式下,该参数生效。日志读取时,每次按照RandomAccessFile的readLine方法读取当前游标到下一个换行符之间的内容。第一次读到的行为A1,第i次读到的内容为Ai,如果multiLine为true,Ai会按照lineStartPattern进行正则表达式匹配,如果匹配成功,则A1\nA2\nA3…Ai-1组装为一个event准备发送,同时Ai将作为下一个event的第一行B1。
6)acceptPattern行匹配表达式
若值不为空或空字符串,读取到的日志行,封装为event之前会按照读取之后会按照acceptPattern进行正则表达式匹配,如果不匹配则该行丢弃。
7)interval同一文件采集的间隔时间
单位是毫秒,增量文件采集时两次采集之间的最短时间间隔。
8)idleTime文件闲置时间阈值(保持时间)
单位是分钟,当值>0时,目录刷新线程会进行判断:如果当前系统时间-文件最后修改时间>idleTime*60*1000,则认为文件闲置时间超过阈值,本次不采集。
9)exclude行匹配表达式
若值不为空或空字符串,读取到的日志行,封装为event之前会按照读取之后会按照acceptPattern进行正则表达式匹配,如果不匹配则该行丢弃。
10)sizeThreshould文件大小阈值
单位是字节,全量采集时该参数生效,若文件大小超过阈值,则文件不采集。
11)multiLine是否多行模式
日志读取时,每次按照RandomAccessFile的readLine方法读取当前游标到下一个换行符之间的内容。第一次读到的行为A1,第i次读到的内容为Ai,如果multiLine为false,则当前读到的内容直接封装为一个event(event中包含的日志为Ai),准备发送。如果multiLine为true,则会将多次读取到的行拼接为一个event(event中包含的日志为A1\nA2\nA3…Ai),准备发送。
12)lastModified文件大小阈值
参数只对全量采集起作用。单位是秒,当该值>0时,目录刷新线程会进行判断:当前系统时间-文件最后修改时间<=lastModified*1000,则认为文件最后修改时间距当前时间小于阈值,本次不采集。
在步骤S12中,当所述采集方式为增量采集时,所述采集端仅采集所述采集时间间隔内新产生的对象数据,当所述采集方式为全量采集时,所述采集端在对象数据不再更新的时长超过所述采集时间阈值后,采集所述采集配置文件对应的全部对象数据。
通过上述方法,可以避免全量采集时文件内容未完全录入的情况。
在步骤S13中,所述采集端将采集的对象数据送入不同的通道,并通过所述不同的通道发送给不同的接收端。在可选的实施方式中,采集端将采集的对象数据送入不同的通道包括:所述采集端将采集的对象数据进行封装,并按照重要性、业务类别、安全级别存入不同的通道。
通过上述方法可以将采集到的对象数据按照需求划分为不同的数据集群,方便后期对对象数据进行不同数据集群对应的处理操作。
可选的,所述采集端将采集的对象数据进行封装包括:采集端将采集的对象数据封装为事件对象。其中,所述事件对象可以包括但不限于:文件内容、文件名、主机名、采集时间、日志类型中的一种或多种。
图3是根据本发明一种实施方式的基于Flume的数据采集方法的流程示意图,其示出了Flume的接收端的处理过程。
如图3所示,在本发明的另一种实施方式中,基于Flume的数据采集方法可包括:步骤S21、步骤S22和步骤S23,下面对上述步骤进行具体的描述。
在步骤S21中,接收端接收采集端通过通道发送的对象数据。
在步骤S22中,所述接收端获取所述通道对应的配置信息,所述配置信息至少包括解析规则。
在步骤S23中,所述接收端根据所述解析规则对所述对象数据进行字段提取,并存入指定存储区域。在可选的实施方式中,所述存储区域包括:Oracle数据库、ElasticSearch搜索服务器、KAFKA开源流处理平台。
上述方法通过对接收端接收到的对象数据按照对应的通道中的解析规则进行字段提取和存储,能够剔除无用数据,节约存储空间。
在可选的实施方式中,通道对应的配置信息还可以包括行列转换模式、数据处理规则等,相对应的,接收端对接收到的对象数据的处理还可以包括:接收端根据行列转换模式把相同类型的值整合为一行数据进行存储、接收端根据数据处理规则对接收到的数据进行提取和/或关联。
上述方法通过对接收到的对象数据进行整合及存储,能够减少对无用数据的存储,节省存储空间;通过对接收到的对象数据进行提取和/或关联这样的初步处理,可以降低后期运维人员对于数据统计和分析的难度。
在可选的实施方式中,接收端有轮询线程从数据库查询设备信息和日志解析规则,并将设备信息和日志解析规则存入内存。其中,设备信息包括:主机名、是否纳管、中文名等;其中,日志解析规则只针对应用日志,其包括:是否保存物理机名称,是否保存集群名称,是否解析文件名,是否存入kafka(KAFKA开源流处理平台),是否存入es(ElasticSearch搜索服务器)等。
在可选的实施方式中,接收端接收到event之后会根据主机名判断系统是否纳管了这台设备,如果没有纳管,则丢弃该event;如果已经纳管,则向event中补足设备的其它信息。
在可选的实施方式中,接收端可以根据日志类型,将数据存入对应的Channel(通道)。
图4是根据本发明一种实施方式的基于Flume的数据采集系统的架构图。
如图4所示,所述系统可以包括相互通信的采集端设备310和接收端设备320。
其中,所述采集端设备310包括:
采集配置文件获取模块311,用于扫描指定目录下的采集配置文件,所述采集配置文件至少包括采集方式、采集时间间隔、采集时间阈值、解析规则。其中,所述采集方式至少包括全量采集和增量采集,采集时间间隔可预设为默认值,例如,10s,可选的,不同目录下采集配置文件中的采集时间间隔可以根据实际情况分别设置。相应的,针对采集时间阈值的设置同理。
在可选的实施方式中,所述采集配置文件还包括:文件的路径、文件的编码。并且,采集配置文件中支持文件路径的末级和文件名的通配符匹配规则,由此,可以支持文件路径的末级和文件名的通配符相匹配时的采集功能。
在可选的实施方式中,有轮询线程不断扫描指定目录下的采集配置文件,该采集配置文件可以为json文件。
对象数据获取模块312,用于当所述采集方式为增量采集时,所述采集端仅采集所述采集时间间隔内新产生的对象数据,当所述采集方式为全量采集时,所述采集端在对象数据不再更新的时长超过所述采集时间阈值后,采集所述采集配置文件对应的全部对象数据。
通过确定采集方式以及设置全量采集方式对应的采集时间阈值,可以避免全量采集情况下文件内容未完全录入的情况。
对象数据发送模块313,用于将采集的对象数据送入不同的通道,并通过所述不同的通道发送给不同的接收端。在可选的实施方式中,将采集的对象数据送入不同的通道包括:将采集的对象数据进行封装,并按照重要性、业务类别、安全级别存入不同的通道。
采用本发明基于Flume的数据采集系统中的上述采集端设备可以将采集到的对象数据按照需求划分为不同的数据集群,方便后期对对象数据进行不同数据集群对应的处理操作。
可选的,将采集的对象数据进行封装包括:采集的对象数据封装为事件对象。其中,事件对象可以包括但不限于:文件内容、文件名、主机名、采集时间、日志类型中的一种或多种。
其中,所述接收端设备320包括:
对象数据接收模块321,用于接收采集端通过通道发送的对象数据。
配置信息获取模块322,用于获取所述通道对应的配置信息,所述配置信息至少包括解析规则。
数据处理模块323,用于根据所述解析规则对所述对象数据进行字段提取,并存入指定存储区域。在可选的实施方式中,所述存储区域包括:Oracle数据库、ElasticSearch搜索服务器、KAFKA开源流处理平台。
接收端设备320通过对接收到的对象数据按照对应的通道中的解析规则进行字段提取和存储,能够剔除无用数据,节约存储空间。
在可选的实施方式中,通道对应的配置信息还可以包括行列转换模式、数据处理规则等,相对应的,数据处理模块323对接收到的对象数据的处理还可以包括:根据行列转换模式把相同类型的值整合为一行数据进行存储、根据数据处理规则对接收到的数据进行提取和/或关联。
接收端设备320通过对接收到的对象数据进行整合及存储,能够减少对无用数据的存储,节省存储空间;通过对接收到的对象数据进行提取和/或关联这样的初步处理,可以降低后期运维人员对于数据统计和分析的难度。
采用本发明的上述基于Flume的数据采集系统,可以实现不同方式的数据采集,同时,针对采集到的对象数据,可以根据对象数据的自身属性及对应的配置信息进行处理和存储,不仅能够节省存储空间,还能为后期数据监控和处理提供基础,使得运维人员查看系统相关信息和定位问题变得更加便捷,提高了数据监控及处理效率。
图5是根据本发明另一种实施方式的基于Flume的数据采集系统的架构图。
如图5所示,所述系统包括:Appmon-agent(1)(应用监控采集端)、Appmon-agent(2)……等上万个采集端,Appmon-Receiver(tranlog)(交易日志接收端)、Appmon-Receiver(applog)(应用日志接收端)……等多个接收端,Oracle数据库、ElasticSearch搜索服务器、KAFKA开源流处理平台等多个存储区域。其中,采集端与接收端采用相互分离的模式。
采集端配置有多个Channel(通道),可以将日志按照重要性、业务类别、安全级别送入不同的Channel并发送给接收端,接收端从不同的Channel获取相应数据进行处理,并存储到指定的位置。
下面对图5所示的基于Flume的数据采集系的处理逻辑进行举例说明:
根据业务需要,appmonSource(交易数据源)和heartbeatSource(心跳数据)的源为高级别日志,因此,在对该高级别日志进行封装后存入对应的通道appmonChannel,然后,由对应的appmonSink处理封装为事件对象后发送给配置的接收端地址的接收器,接收端Appmon-Receiver(tranlog)的接收器接收到由Appmon-agent(1)发送的封装后的数据,进行相应的字段提取,关联等操作后,存入到配置的Oracle或ElasticSearch或KAFKA等存储区域。
针对logSource(日志数据源)和taskSource(任务调度源)中的数据处理及存储的处理逻辑同理,在此不再冗述。
本发明通过在采集端配置采集方式及其对应的采集间隔时间/采集时间阈值,解决了全量采集不等待的问题,采集配置文件中支持文件路径的末级和文件名的通配符匹配规则,解决了文件名不能匹配的问题。并且,通过在接收端配置不同的解析方法、行列转换模式、数据处理规则等,能够节省存储空间、丰富相关内容,方便用户进行高效的数据分析和使用,从而够降低后期运维人员对于数据统计和分析的难度,提高运维人员对系统全局的监控及处理效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。
对应的,本发明实施方式还提供一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得计算机执行如下操作:所述操作包括如上任意一种实施方式所述基于Flume的数据采集方法所包含的步骤,在此不再赘述。其中,所述存储介质可以包括:例如,光盘、硬盘、软盘、闪存、磁带等。
另外,本发明实施方式还提供一种包括存储器和处理器的计算机设备,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时能够实现如上任意一种实施方式所述的基于Flume的数据采集方法。所述计算机设备可以是,例如,服务器、台式计算机、笔记本计算机、平板电脑等。
最后应说明的是:以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的精神和范围。因此本发明的保护范围应以权利要求为准。
Claims (21)
1.一种基于Flume的数据采集方法,其特征在于,包括:
采集端扫描指定目录下的采集配置文件,所述采集配置文件至少包括采集方式、采集时间间隔、采集时间阈值、解析规则;
当所述采集方式为增量采集时,所述采集端仅采集所述采集时间间隔内新产生的对象数据,当所述采集方式为全量采集时,所述采集端在对象数据不再更新的时长超过所述采集时间阈值后,采集所述采集配置文件对应的全部对象数据;
所述采集端将采集的对象数据送入不同的通道,并通过所述不同的通道发送给不同的接收端。
2.如权利要求1所述的数据采集方法,其特征在于,所述采集配置文件还包括:文件的路径、文件的编码。
3.如权利要求2所述的数据处理方法,其特征在于,所述采集端将采集的对象数据送入不同的通道包括:
所述采集端将采集的对象数据进行封装,并按照重要性、业务类别、安全级别存入不同的通道。
4.如权利要求3所述的数据采集方法,其特征在于,所述采集端将采集的对象数据进行封装包括:
所述采集端将采集的对象数据封装为事件对象。
5.如权利要求4所述的数据采集方法,其特征在于,所述事件对象包含:文件内容、文件名、主机名、采集时间、日志类型。
6.一种基于Flume的数据采集方法,其特征在于,包括:
接收端接收采集端通过通道发送的对象数据;
所述接收端获取所述通道对应的配置信息,所述配置信息至少包括解析规则;
所述接收端根据所述解析规则对所述对象数据进行字段提取,并存入指定存储区域。
7.如权利要求6所述的数据采集方法,其特征在于,所述配置信息还包括:行列转换模式、数据处理规则。
8.如权利要求7所述的数据采集方法,其特征在于,所述数据采集方法还包括:
对于接收到的对象数据,所述接收端根据所述行列转换模式把相同类型的值整合为一行数据进行存储;
所述接收端根据所述数据处理规则对接收到的数据进行提取和/或关联。
9.如权利要求6所述的数据采集方法,其特征在于,所述存储区域包括:Oracle数据库、ElasticSearch搜索服务器、KAFKA开源流处理平台。
10.一种基于Flume的数据采集系统中的采集端设备,其特征在于,所述采集端设备包括:
采集配置文件获取模块,用于扫描指定目录下的采集配置文件,所述采集配置文件至少包括采集方式、采集时间间隔、采集时间阈值、解析规则;
当所述采集方式为增量采集时,所述采集端仅采集所述采集时间间隔内新产生的对象数据,当所述采集方式为全量采集时,所述采集端在对象数据不再更新的时长超过所述采集时间阈值后,采集所述采集配置文件的对应全部对象数据。
对象数据发送模块,用于将采集的对象数据送入不同的通道,并通过所述不同的通道发送给不同的接收端。
11.如权利要求10所述的数据采集系统,其特征在于,所述采集配置文件还包括:文件的路径、文件的编码。
12.如权利要求11所述的数据处理系统,其特征在于,所述将采集的对象数据送入不同的通道包括:
将采集的对象数据进行封装,并按照重要性、业务类别、安全级别存入不同的通道。
13.如权利要求12所述的数据采集系统,其特征在于,所述将采集的对象数据进行封装包括:
将采集的对象数据封装为事件对象。
14.如权利要求13所述的数据采集系统,其特征在于,所述事件对象包含:文件内容、文件名、主机名、采集时间、日志类型。
15.一种基于Flume的数据采集系统中的接收端设备,其特征在于,所述接收端包括:
对象数据接收模块,用于接收采集端通过通道发送的对象数据;
配置信息获取模块,用于获取所述通道对应的配置信息,所述配置信息至少包括解析规则;
数据处理模块,用于根据所述解析规则对所述对象数据进行字段提取,并存入指定存储区域。
16.如权利要求15所述的数据采集系统,其特征在于,所述配置信息还包括:行列转换模式、数据处理规则。
17.如权利要求16所述的数据采集系统,其特征在于,所述数据处理模块还用于:
对于接收到的对象数据,根据所述行列转换模式把相同类型的值整合为一行数据进行存储;
根据所述数据处理规则对接收到的数据进行提取和/或关联。
18.如权利要求15所述的数据采集系统,其特征在于,所述存储区域包括:Oracle数据库、ElasticSearch搜索服务器、KAFKA开源流处理平台。
19.一种基于Flume的数据采集系统,其特征在于,包括:权利要求10-14中任一项所述的采集端设备和权利要求15-18中任一项所述的接收端设备。
20.一种计算机存储介质,所述计算机存储介质储存计算机软件指令,其特征在于,所述计算机软件指令由处理器执行以实现如权利要求1-5中任一项所述的数据采集方法或如权利要求6-9中任一项所述的数据采集方法。
21.一种计算机设备,其特征在于,包括存储器和处理器;
其中,所述存储器用于存储一条或多条计算机指令,所述处理器执行所述一条或多条计算机指令以实现如权利要求1-5中任一项所述的数据采集方法或如权利要求6-9中任一项所述的数据采集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010296003.XA CN111625412A (zh) | 2020-04-15 | 2020-04-15 | 基于Flume的数据采集方法、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010296003.XA CN111625412A (zh) | 2020-04-15 | 2020-04-15 | 基于Flume的数据采集方法、系统、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111625412A true CN111625412A (zh) | 2020-09-04 |
Family
ID=72259829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010296003.XA Pending CN111625412A (zh) | 2020-04-15 | 2020-04-15 | 基于Flume的数据采集方法、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625412A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131262A (zh) * | 2020-10-29 | 2020-12-25 | 常州微亿智造科技有限公司 | 流式数据的处理系统和处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201378356Y (zh) * | 2009-04-10 | 2010-01-06 | 山东建筑大学 | 建筑能耗数据采集器 |
CN104090891A (zh) * | 2013-12-12 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 数据处理方法、装置、数据处理服务器及系统 |
CN109308329A (zh) * | 2018-09-27 | 2019-02-05 | 深圳供电局有限公司 | 一种基于云平台的日志收集方法和装置 |
CN110298189A (zh) * | 2018-03-23 | 2019-10-01 | 华为技术有限公司 | 数据库权限管理方法及设备 |
CN110895487A (zh) * | 2018-09-12 | 2020-03-20 | 北京奇虎科技有限公司 | 分布式任务调度系统 |
-
2020
- 2020-04-15 CN CN202010296003.XA patent/CN111625412A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201378356Y (zh) * | 2009-04-10 | 2010-01-06 | 山东建筑大学 | 建筑能耗数据采集器 |
CN104090891A (zh) * | 2013-12-12 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 数据处理方法、装置、数据处理服务器及系统 |
CN110298189A (zh) * | 2018-03-23 | 2019-10-01 | 华为技术有限公司 | 数据库权限管理方法及设备 |
CN110895487A (zh) * | 2018-09-12 | 2020-03-20 | 北京奇虎科技有限公司 | 分布式任务调度系统 |
CN109308329A (zh) * | 2018-09-27 | 2019-02-05 | 深圳供电局有限公司 | 一种基于云平台的日志收集方法和装置 |
Non-Patent Citations (1)
Title |
---|
韦鹏程 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131262A (zh) * | 2020-10-29 | 2020-12-25 | 常州微亿智造科技有限公司 | 流式数据的处理系统和处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714192B (zh) | 一种监控云平台的监控方法及系统 | |
CN109582551B (zh) | 日志数据解析方法、装置、计算机设备和存储介质 | |
CN111752799A (zh) | 一种业务链路跟踪方法、装置、设备及储存介质 | |
US11188443B2 (en) | Method, apparatus and system for processing log data | |
CN109669795A (zh) | 崩溃信息处理方法及装置 | |
CN108521339A (zh) | 一种基于集群日志的反馈式节点故障处理方法及系统 | |
CN111046011A (zh) | 日志收集方法、系统、节点、电子设备及可读存储介质 | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
CN111538563A (zh) | 一种对Kubernetes的事件分析方法及装置 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN111782486A (zh) | 一种基于动态配置的告警实现方法及其系统 | |
CN112052227A (zh) | 数据变更日志的处理方法、装置和电子设备 | |
CN113946559A (zh) | 数据处理方法、目标数据库系统及数据处理系统 | |
CN107885634B (zh) | 监控中异常信息的处理方法和装置 | |
CN106789335B (zh) | 一种用于处理信息的方法和系统 | |
CN111625412A (zh) | 基于Flume的数据采集方法、系统、设备和存储介质 | |
CN114385668A (zh) | 冷数据清理方法、装置、设备及存储介质 | |
CN114598622B (zh) | 数据监控方法及装置、存储介质、计算机设备 | |
CN110765089A (zh) | 一种分布式设备及其日志记录方法、装置和存储介质 | |
CN111681397A (zh) | 一种配网自动化短信发送方法、发送系统和存储介质 | |
CN113704216A (zh) | 系统日志处理方法、装置、计算机设备和存储介质 | |
CN110990237B (zh) | 一种信息收集系统、方法及存储介质 | |
US8930369B2 (en) | Information processing apparatus, message classifying method and non-transitory medium for associating series of transactions | |
CN113485891A (zh) | 业务日志监控方法、装置、存储介质及电子设备 | |
CN109586968A (zh) | 大数据平台的日志处理方法和大数据平台的日志处理系统 |
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 |