CN104486107A - 一种日志采集装置及方法 - Google Patents
一种日志采集装置及方法 Download PDFInfo
- Publication number
- CN104486107A CN104486107A CN201410742374.0A CN201410742374A CN104486107A CN 104486107 A CN104486107 A CN 104486107A CN 201410742374 A CN201410742374 A CN 201410742374A CN 104486107 A CN104486107 A CN 104486107A
- Authority
- CN
- China
- Prior art keywords
- record
- data
- journal file
- file
- transmission
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种日志采集装置及方法,其中,日志采集装置包括:日志监控模块,用于监控当前服务器上的多个应用系统的日志文件;确定各日志文件新增的记录,并保存各日志文件以及新增的记录;数据传输服务模块,用于将新增的记录进行跨网传输以导入云平台的Hadoop分布式文件系统功能,和/或,根据需要将保存的日志文件进行跨网传输以导入云平台的Hadoop分布式文件系统功能。采用本发明,在满足实时性要求的同时,可以避免垃圾数据的传送,克服了现有技术不能及时断点续传、数据丢失的问题。
Description
技术领域
本发明涉及数据采集领域,特别涉及一种日志采集装置及方法。
背景技术
在互联网以及传统行业,“大数据”时代已经来临,各个公司、团体机构都在极力研究、构建自己的大数据处理平台,通过对海量数据的整合、分析、统计,充分利用数据中蕴含的价值,挖掘出对企业管理、业务改进、商机捕捉等更为有用的信息,或者辅助企业网站系统的运营。而这些大规模的数据都是需要从各个应用系统中获取,对于规模较大的公司,应用系统众多,数据生成、存储方式、规范都有所不同,尤其是应用系统的日志数据。如何可靠、实时的将大规模的日志数据传送到大数据平台进行ETL(Extract-Transform-Load,萃取、转置、加载)处理、统计、分析、挖掘,是构建大数据平台必须面对的问题。
常见的日志数据采集方式有:SNMP Trap(SNMP自陷;SNMP:SimpleNetwork Management Protocol,简单网络管理协议)机制采集、系统日志(Syslog)协议的采集、Telnet采集及文本方式(Mail(邮件)或FTP(File TransferProtocol,文本传输协议))采集等。而某些互联网公司使用rsync(类unix系统下的数据镜像备份工具)服务定时的将数据传送到大数据平台,然后由大数据平台的监测程序完成数据入库操作。
最近随着大数据的不断地被互联网公司、学术机构认可并应用,开源的数据采集方案如Apache Flume和Kafka等越来越受业界关注。Cloudera开源出来的Flume可以实现点对点的实时数据传输,且支持多种数据源的采集。LinkedIn的Kafka是一个分布式、分区的、多副本的、多订阅者的“提交”日志系统,采用的策略是:生产者把数据推到Kafka集群上,而消费者主动去集群上拉数据。
目前的日志采集方案,不能在实时地进行日志采集时,还能够避免垃圾数据产生、数据丢失,并且能够及时进行断点续传。
发明内容
本发明针对上述问题,提出了一种日志采集装置及方法,用以在实时地进行日志采集时,能够避免垃圾数据产生、数据丢失,并且还能够及时进行断点续传。
本发明提供了一种日志采集装置,包括:
日志监控模块,用于监控当前服务器上的多个应用系统的日志文件;确定各日志文件新增的记录,并保存各日志文件以及新增的记录;
数据传输服务模块,用于将新增的记录进行跨网传输以导入云平台的HDFS功能,和/或,根据需要将保存的日志文件进行跨网传输以导入云平台的HDFS功能。
本发明提供了一种日志采集方法,包括如下步骤:
监控当前服务器上的多个应用系统的日志文件;
确定各日志文件新增的记录,并保存各日志文件以及新增的记录;
将新增的记录进行跨网传输以导入云平台的HDFS功能,和/或,根据需要将保存的日志文件进行跨网传输以导入云平台的HDFS功能。
本发明有益效果:
相对于现有技术中只能定时定点传送的方案,由于在本发明实施例提供的技术方案中,在确定各日志文件新增记录后便将新增的记录进行跨网传输导入云平台的HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)功能,因此能够满足实时性要求,同时也能在数据量增加时能够及时处理大规模的实时数据。
而对于点对点的实时数据传输,导致众多垃圾数据传送到大数据平台以及不能及时断点续传、数据丢失的方案,由于在本发明实施例提供的技术方案中,仅传输各日志文件新增的记录,因此避免了垃圾数据的传送;同时,由于在本发明实施例提供的技术方案中还保存了各日志文件以及新增的记录,使得原日志文件以及上传的记录变化都是可以查询获知的,当需要进行断点续传或者重传丢失的数据时,查询获取相应的数据重传即可,克服了现有技术不能及时断点续传、以及数据丢失的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中日志采集装置的结构示意图;
图2为本发明实施例中传输服务监控模块的实施流程示意图;
图3为本发明实施例中日志监控模块的实施流程示意图;
图4为本发明实施例中数据传输服务模块的实施流程示意图;
图5为本发明实施例中数据传输流示意图;
图6为本发明实施例中提供的日志采集方法实施流程示意图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。
发明人在发明过程中注意到:
常见的数据采集方式有着明显的缺点。比如使用rsync服务采集日志,只能定时定点传送,不能满足实时性要求。而且随着业务的增加,定时任务的管理会越来越混乱。同时数据量的增加使得现有的方式不能及时处理大规模的实时数据。使用Syslog采集数据过分的依赖于Syslog服务,且该方案也仅适用于服务器系统日志数据采集。
Apache Flume缺点也很明显,对数据的ETL功能有限,该方案会导致众多垃圾数据传送到大数据平台,不但占用网络带宽而且对大数据平台的后续处理带来压力;而且,在Flume出现问题后不能及时从断点续传,数据会有丢失现象;同时,Flume对应用系统的侵入度太大,操作不当会毁损应用系统原有的文件;当数据量大时,数据会得不到及时,会在某个节点堆积数据,对该节点的存储带来极大压力。
而该方案中的Kafka是一个消息传输的中间件,提供的简单的API(Application Programming Interface,应用程序编程接口),编程难度大,而且本身不具有采集数据的功能,只能作为数据传输的一个临时通道。
基于现有技术的上述不足,本发明实施例中提供了一种日志采集装置,下面进行说明。
图1为日志采集装置结构示意图,如图1所示,装置中可以包括:
日志监控模块101,用于监控当前服务器上的多个应用系统的日志文件;确定各日志文件新增的记录,并保存各日志文件以及新增的记录;
数据传输服务模块102,用于将新增的记录进行跨网传输以导入云平台的HDFS功能,和/或,根据需要将保存的日志文件进行跨网传输以导入云平台的HDFS功能。
实施中,日志监控模块用于实现对多点、多系统的日志目录的实时监控,提取新增的日志记录供数据传输服务模块传输,具体实施中可以设置一个目录,如本发明实施例中命名为spooldir的目录,日志监控模块可以将提取的新增的日志记录放入数据传输服务模块监控的spooldir目录,数据传输服务模块在该目录监控到有新增文件后就进行发送。
数据传输服务模块用于实现日志数据跨网传输,以及将日志数据导入HDFS功能。
实施中,还可以进一步包括:
传输服务监控模块103,用于监控记录和/或日志文件的传输过程,以使数据传输服务模块的传输进程处于运行状态。
实施中,传输服务监控模块用于监控数据传输服务的运行,保证传输Agent(代理)处于运行状态;具体的,传输服务监控模块是数据传输服务模块运行状态的监控模块,负责该模块的启动,并保证该模块的服务进程处于运行状态。实施中,该模块可以分为两部分:(1)初始启动数据传输服务(2)循环监控数据传输服务运行状态。图2为传输服务监控模块的实施流程示意图,如图2所示,传输服务监控模块具体的实施流程可以如下:
步骤201:开始。
步骤202:判断数据传输服务器是否启动,若数据传输服务启动,执行步骤205;若数据传输服务没有启动,执行步骤203。
步骤203:启动传输服务。
步骤204:sleep 10s,即休眠10秒钟,具体的休眠时间长度可以根据具体实施中的情况而确定,这里休眠设为10秒钟仅作示例说明,不作具体限定。
步骤205:sleep 5minutes,即休眠5分钟,同上,具体的休眠时间长度可以根据具体实施中的情况而确定。
步骤206判断数据传输服务器是否启动,即:再次判断数据传输服务器是否启动,若此次数据传输服务启动,执行步骤205;若此次数据传输服务没有启动,执行步骤207。
步骤207:启动传输服务。
步骤208:判断启动传输服务是否成功,若启动传输服务成功,执行步骤205;若启动传输服务不成功,执行步骤209。
步骤:209:警报,即:以文字、声音、图像或其他能够表示该警报信息的形式向日志维护相关工作人员发出警报信息,便于及时对数据传输故障进行分析与解决。
实施中,日志监控模块还可以进一步用于通过监听所监控的应用系统的文件的修改、或创建、或删除事件的线程并响应来对应用系统进行监控。也即,日志监控模通过监听所监控的文件的修改、创建、删除等事件的线程并响应来实现对文件的监控。
实施中,日志监控模块还可以进一步用于在保存各日志文件以及新增的记录时,在内存中保存各日志文件以及新增的记录,并标识已经处理或未处理;定时将已经处理或未处理的各日志文件以及新增的记录保存至磁盘文件。
具体的,日志监控模块主要负责监控当前服务器上的多个应用系统的日志文件。具体处理逻辑的流程如下述图3所示。具体实施中,可以通过让该模块维护两份记录数据待处理的文档队列和已经处理过的文档列表,例如在内存中以waitQueue和optedList形式存在,然后定期写入磁盘文件中。
日志监控模块初次启动将历史日志文件分批次拷贝到数据传输服务模块,记录各个文件传输点位置,保存到一个记录板文件中。该模块正常运行后,将日志文件新增的记录传送到数据传输服务模块,并保存各个文件的已读取位置,以及属于哪个系统等信息。该模块的记录板可以在整个服务出现故障后能够及时恢复数据传输。同时模块通过配置要监控的目录、系统信息、采集频率实现对多点多系统的日志数据的可控传输。
图3为日志监控模块的实施流程示意图,如图3所示,日志监控模块具体的实施流程可以如下:
步骤301:启动数据传输服务,即:启动传输日志数据的传输服务。
步骤302:读取配置文件得到List<MonitorDirConf>,即读取日志数据采集的配置文件,根据日志数据采集的配置文件得到
List<MonitorDirConf>-配置的监测目录列表,具体实施中,可以将得到的配置的监测目录列表存储在命名为“logsConf.xml”的xml文件中,也可以根据具体情况或需要以其他格式文件存储并进行命名。
步骤303:根据MonitorDirConf初始化等待处理的文件队列waitQueue、已经处理的文件队列optedList,根据监测目录的配置信息,将日志数据进行初始化分类,将日志数据待处理的文件归入waitQueue,将已经处理过日志数据的文件归入optedList,从而得到记录等待处理的文件队列waitQueue.log和已经处理的文件队列optedList.log。
步骤304:开始监控MonitorConf.Directory,即:开始监控根据日志数据采集配置文件得到的监测目录中的文件。
步骤305:判断是否出现事件,这里的事件具体是指文件创建、修改或删除事件。若出现事件,执行步骤306、306’或306”;若未出现事件,执行步骤312。
步骤306:步骤305中出现的事件为onFileCreat,即出现创建文件的事件时,执行步骤307。
步骤306’:步骤305中出现的事件为onFileChange,即出现修改文件的事件时,执行步骤308。
步骤306”:步骤305中出现的事件为onFileDelete,即出现删除文件的事件时,记录该删除文件记录。
步骤307:将记录元组(file_path,0)加入waitQueue,将创建文件事件日志记录涉及的文件路径及该日志记录需跳过的字节数0加入到waitQueue中。
步骤308:判断file_path是否在waitQueue中,即:判断修改文件事件日志记录涉及的文件路径是否在waitQueue中,若不在,执行步骤309。
步骤309:判断file_path是否在optedList中,即:当判断修改文件事件日志记录涉及的文件路径不在waitQueue中,继续判断修该日志记录涉及的的文件路径是否在optedList中,若在optedList中,执行步骤310;若步骤optedList中,执行步骤311。
步骤310:将optedList中的记录元组(file_path,skip_bytes)移除,加入waitQueue,即,当判断修改文件事件日志记录涉及的的文件路径在optedList中,将optedList中的该文件路径和该日志记录需跳过的字节数记录移除,将optedList中的该文件路径和该日志记录需跳过的字节数的记录元组加入到waitQueue中。
步骤311:将记录元组(file_path,0)加入waitQueue,即:当判断修改文件事件日志记录涉及的的文件路径不在optedList中时,说明该日志记录未被处理过,该日志记录需跳过的字节数为0,将该日志记录涉及的的文件路径和该日志记录需跳过的字节数0加入到waitQueue中。
步骤312:继续监控,即:当前没有出现创建、修改或删除文件的事件时,继续监控有无创建、修改或删除文件的事件发生。
步骤313:启动日志数据处理线程。
步骤314:处理并传输日志数据。
步骤315:判断是否waitQueue.size>0,即:判断等待处理的文件队列waitQueue大小是否大于0,若大于0,执行步骤316;若不大于0,执行步骤317:
步骤316:从waitQueue取出一个记录元组(file_path,skip_bytes)读取数据通过Producer放入Kafka,即:从waitQueue中取一个记录元组(file_path,skip_bytes),该记录元组包括的信息为该日志记录涉及的文件路径及该日志记录需跳过的字节数,依据此元组数据从相应日志文件中读取数据,由Kafka中的数据生产者(producer)放入Kafka的消息队列中。
步骤317:Sleep(60s),即:休眠60秒,具体的休眠时间长度可以根据具体实施中的情况而确定,这里仅作示例说明,不作具体限定。
步骤318:获得CPU、内存、网络情况,即:获得服务器的CPU、内存和/或网络质量等情况。
步骤319:判断是否可以处理并传输日志数据,即:通过获得的服务器的CPU、内存和/或网络质量确定是否可以处理并传输日志数据,若可以处理并传输日志数据,执行步骤321;若不可以处理并传输日志数据,执行步骤322。
步骤320:判断日志处理线程是否是活的,若日志处理线程是活的,执行步骤317;若日志处理线程不是活的,执行步骤321。
步骤321:唤醒日志处理线程。
步骤322:判断日志处理线程是否是活的,若日志处理线程是活的,执行步骤323;若日志处理线程不是活的,执行步骤325。
步骤323:使日志处理线程休眠。
步骤324:获得当前日志的skip_bytes更新记录元组(file_path,skip_bytes)保存到waitQueue,即:获得当前日志记录需跳转的字节数,将日志记录涉及的文件路径及该当前日志记录需跳转的字节数保存至待处理的文件队列中。
步骤325:Sleep(60s),即:休眠60秒,具体的休眠时间长度可以根据具体实施中的情况而确定。
实施中,数据传输服务模块还可以进一步用于采用分布式消息系统Kafka提供的应用程序编程接口API暂时存储所述日志数据,在将所述日志数据导入至Hadoop分布式文件系统时,使用Simple Consumer接口利用Zookeeper(分布式协调系统)同步机制保存对所述日志数据消费的偏移量。
具体的,数据传输服务模块作为数据采集的基础层,实现日志数据、交易数据的跨网传输,以及数据导入云平台的HDFS功能。此模块可以采用Kafka提供的API接口实现数据的短暂存储,确保数据可以重复消费,在数据导入HDFS时,使用SimpleConsumer的接口,利用Zookeeper的同步机制保存消费点OFFSET,对Kafka集群中的不同Topic的数据进行消费。Kafka是一种显式的分布式系统。Kafka假设,数据生产者、代理(Brokers)和数据使用者(consumer)分散于多台机器之上。由数据生产者发布关于某话题(topic)的消息,消息被发送至作为代理的服务器。若干的数据使用者订阅某个话题,然后数据生产者所发布的每条消息都会被发送给所有的使用者。具体实施流程如下述图4所示。在数据接收模块通过读取配置文件,实现对不同日志的ETL功能。
在实施中,数据传输模块中Kafka可以使用其他消息中间件代替,只要能够提供消息传输服务即可。
图4为数据传输服务模块的实施流程示意图,如图4所示,数据传输服务模块具体的实施流程可以如下:数据传输服务模块采用Kafka提供的API接口,有数据生产者对应的是图4中的数据发送模块401,数据发送模块将数据发送至由多个代理(Broker)组成的Kafka集群402,数据使用者这里对应的是图4中的数据接收模块403,数据接收模块从Kafka集群中的代理处接收数据,进行消息消费。在Kafka中,由数据使用者负责维护反映哪些消息已被使用的状态信息,通常用偏移量表示那些消息已被使用。典型情况下,Kafka使用者的库会把状态数据保存到Zookeeper404之中。通常Kafka是运行在集群中的服务器上,没有中央的“主”节点,代理彼此之间是对等的,不需要任何手动配置即可随时添加或删除。同样,数据发送模块和数据接收模块可以在任何时候开启。每个代理都可以在Zookeeper中注册的一些元数据,例如,可用的主题。数据发送模块和数据消费者可以使用Zookeeper发现主题和相互协调。
实施中,数据传输服务模块还可以进一步用于在传输记录和/或日志文件至云平台服务器时,当日志采集装置位于内网时,将记录和/或日志文件传输至云平台服务器;或,当日志采集装置位于外网时,在内网设置单向传输的跳转节点,通过跳转节点传输记录和/或日志文件至云平台服务器。
具体的,图5为数据传输流示意图,如图5所示,为了要满足跨网络传输,即日志采集装置所在的日志源服务器500可能在公司内网也可能在外网,日志源服务器500中包括:传输服务监控模块501、日志监控模块502和数据传输服务模块503。通过在内网的服务器上设置一个跳转节点-跳转服务器510,在防火墙系统中为其开通单向传输的端口,跳转服务器510包括:传输服务监控模块511和数据传输服务模块512。其中对于外网日志数据需要经过跳转服务器节点的过渡处理,间接传送到云平台服务器520然后导入HDFS,云平台服务器520包括:传输服务监控模块521和数据传输服务模块522。内网的日志数据直接通过数据传输服务模块传输到云平台的服务器上然后导入到HDFS中。
基于同一发明构思,本发明实施例中还提供了一种日志采集方法。由于该方法解决问题的原理与一种日志采集装置相似,因此该方法的实施可以参见装置的实施,重复之处不再赘述。
图6为本发明实施例中提供的日志采集方法实施流程示意图,如图6所示,可以包括如下步骤:
步骤601:监控当前服务器上的多个应用系统的日志文件;
步骤602:确定各日志文件新增的记录,并保存各日志文件以及新增的记录;
步骤603:将新增的记录进行跨网传输以导入云平台的HDFS功能,和/或,根据需要将保存的日志文件进行跨网传输以导入云平台的HDFS功能。
实施中,还可以进一步包括:
监控记录和/或日志文件的传输过程,以使传输进程处于运行状态。
实施中,监控当前服务器上的多个应用系统的日志文件,是通过监听所监控的应用系统的文件的修改、或创建、或删除事件的线程并响应来对应用系统进行监控的。
实施中,保存各日志文件以及新增的记录,可以包括:
在内存中保存各日志文件以及新增的记录,并标识已经处理或未处理;
定时将已经处理或未处理的各日志文件以及新增的记录保存至磁盘文件。
实施中,还可以进一步包括:
采用分布式消息系统Kafka提供的应用程序编程接口API暂时存储所述日志数据,在将所述日志数据导入至Hadoop分布式文件系统时,使用SimpleConsumer接口利用Zookeeper同步机制保存对所述日志数据消费的偏移量。
实施中,传输记录和/或日志文件至云平台服务器,可以包括:
当监测的服务器位于内网时,将记录和/或日志文件传输至云平台服务器;或,当监测的服务器位于外网时,在内网设置单向传输的跳转节点,通过跳转节点传输记录和/或日志文件至云平台服务器。
由上述实施例可见,在本发明实施例提供的技术方案是一种基于大数据平台的多点、可靠的大规模实时日志数据采集方案。提供了文件监控的处理及其恢复机制;进一步的,使数据传输服务与Kafka的有机结合,借用其消息发布机制,开发完善的消息消费实现数据传输;进一步的,监控日志文件可配置,并且实现多线程监控日志目录,多线程处理新增日志发送到日志传输服务。
由于在方案中对当前服务器上的多个应用系统的日志文件进行监控,因此可以多点采集,让更多的系统为大数据平台输送数据。进一步的,可以通过配置日志监控模块式,便可以采集不同应用系统的多种日志,每条记录都有所属系统、日志种类的标记,丰富数据的采集;由于在传输各日志文件新增的记录的同时,还保存了各日志文件以及新增的记录,因此可以实现可靠、稳定传输,支持断点续传,出现故障后也能够及时恢复数据传输。具体而言,一方面可以通过对waitQueue和optedList两个记录的维护,便可支持断点续传,进一步的,同时通过使用Kafka作为传输通过,所有的消息可以在Kafka集群上保留N天,可缓解大数据量对单点带来的存储压力,另一方面服务监控模块可以保证数据传输模块的正常运行;由于通过监控,能够实时发现各日志文件的变动,因而也能对新增的变动实时传输,实现了实时的传输大规模数据,让分析、挖掘系统能充分发挥数据的实时价值。
为了描述的方便,以上装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种日志采集装置,其特征在于,包括:
日志监控模块,用于监控当前服务器上的多个应用系统的日志文件;确定各日志文件新增的记录,并保存各日志文件以及新增的记录;
数据传输服务模块,用于将新增的记录进行跨网传输以导入云平台的Hadoop分布式文件系统HDFS功能,和/或,根据需要将保存的日志文件进行跨网传输以导入云平台的HDFS功能。
2.如权利要求1所述的装置,其特征在于,进一步包括:
传输服务监控模块,用于监控记录和/或日志文件的传输过程,以使数据传输服务模块的传输进程处于运行状态。
3.如权利要求1或2所述的装置,其特征在于,日志监控模块进一步用于通过监听所监控的应用系统的文件的修改、或创建、或删除事件的线程并响应来对应用系统进行监控。
4.如权利要求1所述的装置,其特征在于,日志监控模块进一步用于在保存各日志文件以及新增的记录时,在内存中保存各日志文件以及新增的记录,并标识已经处理或未处理;定时将已经处理或未处理的各日志文件以及新增的记录保存至磁盘文件。
5.如权利要求1所述的装置,其特征在于,数据传输服务模块进一步用于采用分布式消息系统Kafka提供的应用程序编程接口API暂时存储所述日志数据,在将所述日志数据导入至Hadoop分布式文件系统时,使用Simple Consumer接口利用Zookeeper同步机制保存对所述日志数据消费的偏移量。
6.如权利要求1所述的装置,其特征在于,数据传输服务模块进一步用于在传输记录和/或日志文件至云平台服务器时,当日志采集装置位于内网时,将记录和/或日志文件传输至云平台服务器;或,当日志采集装置位于外网时,在内网设置单向传输的跳转节点,通过跳转节点传输记录和/或日志文件至云平台服务器。
7.一种日志采集方法,其特征在于,包括如下步骤:
监控当前服务器上的多个应用系统的日志文件;
确定各日志文件新增的记录,并保存各日志文件以及新增的记录;
将新增的记录进行跨网传输以导入云平台的HDFS功能,和/或,根据需要将保存的日志文件进行跨网传输以导入云平台的HDFS功能。
8.如权利要求1所述的方法,其特征在于,进一步包括:
监控记录和/或日志文件的传输过程,以使传输进程处于运行状态。
9.如权利要求1或2所述的方法,其特征在于,监控当前服务器上的多个应用系统的日志文件,是通过监听所监控的应用系统的文件的修改、或创建、或删除事件的线程并响应来对应用系统进行监控的。
10.如权利要求1所述的方法,其特征在于,保存各日志文件以及新增的记录,包括:
在内存中保存各日志文件以及新增的记录,并标识已经处理或未处理;
定时将已经处理或未处理的各日志文件以及新增的记录保存至磁盘文件。
11.如权利要求1所述的方法,其特征在于,进一步包括:
采用分布式消息系统Kafka提供的应用程序编程接口API暂时存储所述日志数据,在将所述日志数据导入至Hadoop分布式文件系统时,使用SimpleConsumer接口利用Zookeeper同步机制保存对所述日志数据消费的偏移量。
12.如权利要求1所述的方法,其特征在于,传输记录和/或日志文件至云平台服务器,包括:
当监测的服务器位于内网时,将记录和/或日志文件传输至云平台服务器;或,当监测的服务器位于外网时,在内网设置单向传输的跳转节点,通过跳转节点传输记录和/或日志文件至云平台服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410742374.0A CN104486107A (zh) | 2014-12-05 | 2014-12-05 | 一种日志采集装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410742374.0A CN104486107A (zh) | 2014-12-05 | 2014-12-05 | 一种日志采集装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104486107A true CN104486107A (zh) | 2015-04-01 |
Family
ID=52760615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410742374.0A Pending CN104486107A (zh) | 2014-12-05 | 2014-12-05 | 一种日志采集装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104486107A (zh) |
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915460A (zh) * | 2015-07-10 | 2015-09-16 | 上海斐讯数据通信技术有限公司 | 一种日志存储方法及系统 |
CN105827702A (zh) * | 2016-03-16 | 2016-08-03 | 上海轻维软件有限公司 | 一种基于分布式消息队列的数据ftp采集方法 |
CN106209455A (zh) * | 2016-07-11 | 2016-12-07 | 税友软件集团股份有限公司 | 一种跨系统弱耦合的关联业务故障定位方法及系统 |
CN106202324A (zh) * | 2016-06-30 | 2016-12-07 | 北京奇虎科技有限公司 | 一种实时计算平台的数据处理方法和装置 |
CN106227877A (zh) * | 2016-08-02 | 2016-12-14 | 北京集奥聚合科技有限公司 | 一种基于hadoop 的分布式日志采集系统及方法 |
CN106250496A (zh) * | 2016-08-02 | 2016-12-21 | 北京集奥聚合科技有限公司 | 一种日志文件中的数据收集的方法及系统 |
CN106330963A (zh) * | 2016-10-11 | 2017-01-11 | 江苏电力信息技术有限公司 | 一种跨网络多节点日志采集的方法 |
CN106452819A (zh) * | 2015-08-13 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 数据采集系统及数据采集方法 |
CN106960172A (zh) * | 2016-01-08 | 2017-07-18 | 中兴通讯股份有限公司 | 人员识别处理方法、装置及系统 |
CN106991177A (zh) * | 2017-04-06 | 2017-07-28 | 广东亿迅科技有限公司 | 一种分布式环境下实时日志的无损采集方法及其系统 |
CN107196796A (zh) * | 2017-05-19 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种收集服务器管理系统日志信息的装置和方法 |
CN107273228A (zh) * | 2017-07-13 | 2017-10-20 | 焦点科技股份有限公司 | 基于星型拓扑架构的消息传输方法 |
CN107306416A (zh) * | 2016-04-25 | 2017-10-31 | 中国移动通信集团云南有限公司 | 业务日志的记录方法与装置 |
CN107347062A (zh) * | 2017-06-19 | 2017-11-14 | 北京开数科技有限公司 | 一种日志数据处理的方法、电子设备和可读存储介质 |
CN107483227A (zh) * | 2017-07-11 | 2017-12-15 | 上海精数信息科技有限公司 | 一种高效稳定的跨公网数据传输系统及传输方法 |
CN107562810A (zh) * | 2017-08-10 | 2018-01-09 | 北京时代云英科技有限公司 | 视频大数据分级存储方法 |
CN107682169A (zh) * | 2016-08-02 | 2018-02-09 | 北京京东尚科信息技术有限公司 | 一种利用Kafka集群发送消息的方法和装置 |
CN107748756A (zh) * | 2017-09-20 | 2018-03-02 | 努比亚技术有限公司 | 数据采集方法、移动终端及可读存储介质 |
CN107943647A (zh) * | 2017-11-21 | 2018-04-20 | 北京小度互娱科技有限公司 | 一种可靠的分布式日志收集方法和系统 |
CN108063803A (zh) * | 2017-12-04 | 2018-05-22 | 深圳狗尾草智能科技有限公司 | 基于分布式订阅发布消息系统的消息管理方法及系统 |
CN108197015A (zh) * | 2017-12-29 | 2018-06-22 | 天脉聚源(北京)科技有限公司 | 以消息的方式写入日志数据的方法及装置 |
CN108228630A (zh) * | 2016-12-15 | 2018-06-29 | 上海海万信息科技股份有限公司 | 一种基于触发响应式的文件读取监控和管理系统 |
CN108282514A (zh) * | 2017-12-12 | 2018-07-13 | 北京奇艺世纪科技有限公司 | 一种分布式业务建立方法及装置 |
CN109379443A (zh) * | 2018-12-18 | 2019-02-22 | 央视国际网络无锡有限公司 | 一种面向物联网的分布式消息队列的实现方法 |
CN109412821A (zh) * | 2017-08-16 | 2019-03-01 | 阿里巴巴集团控股有限公司 | 消息处理方法和装置以及电子设备 |
CN109525448A (zh) * | 2019-01-10 | 2019-03-26 | 北京智信未来信息技术有限公司 | 日志数据采集系统及方法 |
CN109634931A (zh) * | 2018-10-31 | 2019-04-16 | 深圳市元征科技股份有限公司 | 一种日志上传方法及装置 |
WO2019109256A1 (zh) * | 2017-12-05 | 2019-06-13 | 华为技术有限公司 | 一种日志管理方法、服务器和数据库系统 |
CN110134648A (zh) * | 2019-05-22 | 2019-08-16 | 中国联合网络通信集团有限公司 | 日志处理方法、装置、设备、系统及计算机可读存储介质 |
CN110162448A (zh) * | 2018-02-13 | 2019-08-23 | 北京京东尚科信息技术有限公司 | 日志采集的方法和装置 |
CN110413583A (zh) * | 2019-07-08 | 2019-11-05 | 南京天溯自动化控制系统有限公司 | 一种基于flume系统的日志监控方法、装置及服务器 |
CN110442505A (zh) * | 2019-08-12 | 2019-11-12 | 广州鲁邦通物联网科技有限公司 | 一种安卓系统的日志收集控制方法和系统 |
CN110716841A (zh) * | 2019-09-17 | 2020-01-21 | 香港乐蜜有限公司 | 监控数据收集方法、装置及设备 |
CN110768832A (zh) * | 2019-10-24 | 2020-02-07 | 中国计量大学 | 一种监测工业控制系统信息安全域的方法 |
WO2020029376A1 (zh) * | 2018-08-08 | 2020-02-13 | 平安科技(深圳)有限公司 | 日志采集方法、系统、计算机设备和存储介质 |
CN110928663A (zh) * | 2019-12-02 | 2020-03-27 | 中国银行股份有限公司 | 一种跨平台多线程监控方法及装置 |
CN111149105A (zh) * | 2017-09-28 | 2020-05-12 | 西门子交通有限责任公司 | 用于立即并且无反作用地传输日志消息的方法和设备 |
CN111309694A (zh) * | 2018-12-12 | 2020-06-19 | 北京奇虎科技有限公司 | 一种日志文件的获取方法、服务器、装置和系统 |
CN111897662A (zh) * | 2020-07-01 | 2020-11-06 | 中国建设银行股份有限公司 | 偏移量处理方法、装置、电子设备及计算机可读存储介质 |
CN115269531A (zh) * | 2022-09-29 | 2022-11-01 | 杭州玳数科技有限公司 | 一种基于akka框架的云原生日志收集方法和系统 |
CN116582406A (zh) * | 2023-07-13 | 2023-08-11 | 支付宝(杭州)信息技术有限公司 | 监控数据的上传方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309767A (zh) * | 2012-03-08 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 一种客户端日志处理方法和装置 |
CN103838867A (zh) * | 2014-03-20 | 2014-06-04 | 网宿科技股份有限公司 | 日志处理方法和装置 |
CN104104734A (zh) * | 2014-08-04 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 日志分析方法和装置 |
CN104113605A (zh) * | 2014-07-30 | 2014-10-22 | 浪潮软件股份有限公司 | 一种企业云应用开发的监控处理方法 |
-
2014
- 2014-12-05 CN CN201410742374.0A patent/CN104486107A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309767A (zh) * | 2012-03-08 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 一种客户端日志处理方法和装置 |
CN103838867A (zh) * | 2014-03-20 | 2014-06-04 | 网宿科技股份有限公司 | 日志处理方法和装置 |
CN104113605A (zh) * | 2014-07-30 | 2014-10-22 | 浪潮软件股份有限公司 | 一种企业云应用开发的监控处理方法 |
CN104104734A (zh) * | 2014-08-04 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 日志分析方法和装置 |
Cited By (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915460A (zh) * | 2015-07-10 | 2015-09-16 | 上海斐讯数据通信技术有限公司 | 一种日志存储方法及系统 |
CN106452819A (zh) * | 2015-08-13 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 数据采集系统及数据采集方法 |
CN106452819B (zh) * | 2015-08-13 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 数据采集系统及数据采集方法 |
CN106960172A (zh) * | 2016-01-08 | 2017-07-18 | 中兴通讯股份有限公司 | 人员识别处理方法、装置及系统 |
CN105827702A (zh) * | 2016-03-16 | 2016-08-03 | 上海轻维软件有限公司 | 一种基于分布式消息队列的数据ftp采集方法 |
CN107306416A (zh) * | 2016-04-25 | 2017-10-31 | 中国移动通信集团云南有限公司 | 业务日志的记录方法与装置 |
CN106202324B (zh) * | 2016-06-30 | 2020-10-30 | 北京奇虎科技有限公司 | 一种实时计算平台的数据处理方法和装置 |
CN106202324A (zh) * | 2016-06-30 | 2016-12-07 | 北京奇虎科技有限公司 | 一种实时计算平台的数据处理方法和装置 |
CN106209455A (zh) * | 2016-07-11 | 2016-12-07 | 税友软件集团股份有限公司 | 一种跨系统弱耦合的关联业务故障定位方法及系统 |
CN106250496A (zh) * | 2016-08-02 | 2016-12-21 | 北京集奥聚合科技有限公司 | 一种日志文件中的数据收集的方法及系统 |
CN106227877A (zh) * | 2016-08-02 | 2016-12-14 | 北京集奥聚合科技有限公司 | 一种基于hadoop 的分布式日志采集系统及方法 |
CN107682169A (zh) * | 2016-08-02 | 2018-02-09 | 北京京东尚科信息技术有限公司 | 一种利用Kafka集群发送消息的方法和装置 |
CN106330963A (zh) * | 2016-10-11 | 2017-01-11 | 江苏电力信息技术有限公司 | 一种跨网络多节点日志采集的方法 |
CN108228630A (zh) * | 2016-12-15 | 2018-06-29 | 上海海万信息科技股份有限公司 | 一种基于触发响应式的文件读取监控和管理系统 |
CN106991177B (zh) * | 2017-04-06 | 2020-11-13 | 广东亿迅科技有限公司 | 一种分布式环境下实时日志的无损采集方法及其系统 |
CN106991177A (zh) * | 2017-04-06 | 2017-07-28 | 广东亿迅科技有限公司 | 一种分布式环境下实时日志的无损采集方法及其系统 |
CN107196796A (zh) * | 2017-05-19 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种收集服务器管理系统日志信息的装置和方法 |
CN107347062A (zh) * | 2017-06-19 | 2017-11-14 | 北京开数科技有限公司 | 一种日志数据处理的方法、电子设备和可读存储介质 |
CN107483227A (zh) * | 2017-07-11 | 2017-12-15 | 上海精数信息科技有限公司 | 一种高效稳定的跨公网数据传输系统及传输方法 |
CN107273228B (zh) * | 2017-07-13 | 2020-09-04 | 焦点科技股份有限公司 | 基于星型拓扑架构的消息传输方法 |
CN107273228A (zh) * | 2017-07-13 | 2017-10-20 | 焦点科技股份有限公司 | 基于星型拓扑架构的消息传输方法 |
CN107562810A (zh) * | 2017-08-10 | 2018-01-09 | 北京时代云英科技有限公司 | 视频大数据分级存储方法 |
CN109412821A (zh) * | 2017-08-16 | 2019-03-01 | 阿里巴巴集团控股有限公司 | 消息处理方法和装置以及电子设备 |
CN109412821B (zh) * | 2017-08-16 | 2021-09-10 | 阿里巴巴集团控股有限公司 | 消息处理方法和装置以及电子设备 |
CN107748756A (zh) * | 2017-09-20 | 2018-03-02 | 努比亚技术有限公司 | 数据采集方法、移动终端及可读存储介质 |
CN111149105A (zh) * | 2017-09-28 | 2020-05-12 | 西门子交通有限责任公司 | 用于立即并且无反作用地传输日志消息的方法和设备 |
CN111149105B (zh) * | 2017-09-28 | 2023-05-23 | 西门子交通有限责任公司 | 用于立即并且无反作用地传输日志消息的方法和设备 |
CN107943647A (zh) * | 2017-11-21 | 2018-04-20 | 北京小度互娱科技有限公司 | 一种可靠的分布式日志收集方法和系统 |
CN108063803A (zh) * | 2017-12-04 | 2018-05-22 | 深圳狗尾草智能科技有限公司 | 基于分布式订阅发布消息系统的消息管理方法及系统 |
CN108063803B (zh) * | 2017-12-04 | 2020-10-13 | 苏州狗尾草智能科技有限公司 | 基于分布式订阅发布消息系统的消息管理方法及系统 |
US11748215B2 (en) | 2017-12-05 | 2023-09-05 | Huawei Technologies Co., Ltd. | Log management method, server, and database system |
WO2019109256A1 (zh) * | 2017-12-05 | 2019-06-13 | 华为技术有限公司 | 一种日志管理方法、服务器和数据库系统 |
CN108282514B (zh) * | 2017-12-12 | 2020-11-27 | 北京奇艺世纪科技有限公司 | 一种分布式业务建立方法及装置 |
CN108282514A (zh) * | 2017-12-12 | 2018-07-13 | 北京奇艺世纪科技有限公司 | 一种分布式业务建立方法及装置 |
CN108197015A (zh) * | 2017-12-29 | 2018-06-22 | 天脉聚源(北京)科技有限公司 | 以消息的方式写入日志数据的方法及装置 |
CN110162448A (zh) * | 2018-02-13 | 2019-08-23 | 北京京东尚科信息技术有限公司 | 日志采集的方法和装置 |
WO2020029376A1 (zh) * | 2018-08-08 | 2020-02-13 | 平安科技(深圳)有限公司 | 日志采集方法、系统、计算机设备和存储介质 |
CN109634931B (zh) * | 2018-10-31 | 2023-04-18 | 深圳市元征科技股份有限公司 | 一种日志上传方法及装置 |
CN109634931A (zh) * | 2018-10-31 | 2019-04-16 | 深圳市元征科技股份有限公司 | 一种日志上传方法及装置 |
CN111309694A (zh) * | 2018-12-12 | 2020-06-19 | 北京奇虎科技有限公司 | 一种日志文件的获取方法、服务器、装置和系统 |
CN109379443A (zh) * | 2018-12-18 | 2019-02-22 | 央视国际网络无锡有限公司 | 一种面向物联网的分布式消息队列的实现方法 |
CN109379443B (zh) * | 2018-12-18 | 2022-02-15 | 央视国际网络无锡有限公司 | 一种面向物联网的分布式消息队列的实现方法 |
CN109525448A (zh) * | 2019-01-10 | 2019-03-26 | 北京智信未来信息技术有限公司 | 日志数据采集系统及方法 |
CN110134648A (zh) * | 2019-05-22 | 2019-08-16 | 中国联合网络通信集团有限公司 | 日志处理方法、装置、设备、系统及计算机可读存储介质 |
CN110413583A (zh) * | 2019-07-08 | 2019-11-05 | 南京天溯自动化控制系统有限公司 | 一种基于flume系统的日志监控方法、装置及服务器 |
CN110442505A (zh) * | 2019-08-12 | 2019-11-12 | 广州鲁邦通物联网科技有限公司 | 一种安卓系统的日志收集控制方法和系统 |
CN110716841A (zh) * | 2019-09-17 | 2020-01-21 | 香港乐蜜有限公司 | 监控数据收集方法、装置及设备 |
CN110768832B (zh) * | 2019-10-24 | 2022-07-26 | 中国计量大学 | 一种监测工业控制系统信息安全域的方法 |
CN110768832A (zh) * | 2019-10-24 | 2020-02-07 | 中国计量大学 | 一种监测工业控制系统信息安全域的方法 |
CN110928663A (zh) * | 2019-12-02 | 2020-03-27 | 中国银行股份有限公司 | 一种跨平台多线程监控方法及装置 |
CN111897662A (zh) * | 2020-07-01 | 2020-11-06 | 中国建设银行股份有限公司 | 偏移量处理方法、装置、电子设备及计算机可读存储介质 |
CN115269531A (zh) * | 2022-09-29 | 2022-11-01 | 杭州玳数科技有限公司 | 一种基于akka框架的云原生日志收集方法和系统 |
CN116582406A (zh) * | 2023-07-13 | 2023-08-11 | 支付宝(杭州)信息技术有限公司 | 监控数据的上传方法及装置 |
CN116582406B (zh) * | 2023-07-13 | 2023-09-26 | 支付宝(杭州)信息技术有限公司 | 监控数据的上传方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104486107A (zh) | 一种日志采集装置及方法 | |
US10929435B2 (en) | Content delivery network analytics management via edge stage collectors | |
US10261872B2 (en) | Multilevel disaster recovery | |
US8990176B2 (en) | Managing a search index | |
US8260913B2 (en) | Reading a file from a cloud storage solution | |
US8234372B2 (en) | Writing a file to a cloud storage solution | |
US10831741B2 (en) | Log-shipping data replication with early log record fetching | |
US20150199415A1 (en) | Parallel transaction messages for database replication | |
CN106789377B (zh) | 网元集群的服务参数更新方法 | |
CN108712457B (zh) | 基于Nginx反向代理的后端服务器动态负载调整方法及装置 | |
US10997000B1 (en) | Event publishing system for heterogeneous events | |
CN110032496A (zh) | 一种支持多样化日志合并的日志采集方法及系统 | |
US20200401562A1 (en) | Parallel processing of filtered transaction logs | |
CN105681472B (zh) | 一种日志传输方法及装置 | |
US11700314B2 (en) | Aggregated service status reporter | |
CA2725017A1 (en) | Email auto-filing and management | |
CN115185705A (zh) | 一种消息通知方法、装置、介质及设备 | |
CN107040576A (zh) | 信息推送方法及装置、通讯系统 | |
US10693709B2 (en) | Processing gap events in a change detection management system | |
EP3803616A1 (en) | Change notifications for object storage | |
CN108664520A (zh) | 维护数据一致性的方法、装置、电子设备和可读存储介质 | |
CN113486095A (zh) | 一种民航空管跨网安全数据交换管理平台 | |
US11537475B1 (en) | Data guardianship in a cloud-based data storage system | |
US10419368B1 (en) | Dynamic scaling of computing message architecture | |
US20240160606A1 (en) | Hybrid cloud event notification management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150401 |