CN111427903B - 日志信息采集方法及装置 - Google Patents

日志信息采集方法及装置 Download PDF

Info

Publication number
CN111427903B
CN111427903B CN202010231861.6A CN202010231861A CN111427903B CN 111427903 B CN111427903 B CN 111427903B CN 202010231861 A CN202010231861 A CN 202010231861A CN 111427903 B CN111427903 B CN 111427903B
Authority
CN
China
Prior art keywords
data
component
log information
source
log
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
Application number
CN202010231861.6A
Other languages
English (en)
Other versions
CN111427903A (zh
Inventor
陈伟龄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Hongmei Intelligent Technology Co Ltd
Original Assignee
Sichuan Hongmei Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Hongmei Intelligent Technology Co Ltd filed Critical Sichuan Hongmei Intelligent Technology Co Ltd
Priority to CN202010231861.6A priority Critical patent/CN111427903B/zh
Publication of CN111427903A publication Critical patent/CN111427903A/zh
Application granted granted Critical
Publication of CN111427903B publication Critical patent/CN111427903B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了日志信息采集方法及装置,包括:预先确定至少两台待采设备中的待采集数据源,设置每一个待采集数据源对应的日志收集组件,并设置临时存储组件,其中,至少两台待采设备包括至少一种数据类型的待采集数据源,还包括:针对每一个日志收集组件,调用日志收集组件,采集日志收集组件对应的待采集数据源中更新的日志信息;调用临时缓存组件,缓存日志信息;针对缓存的每一条日志信息,将日志信息发送给预设的数据库;在数据库接收到日志信息时,调用临时缓存组件删除数据库已接收到的日志信息。本方案能够采集不同设备上的日志信息。

Description

日志信息采集方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及日志信息采集方法及装置。
背景技术
生活中的日志是记录你生活的点点滴滴,让它把你内心的世界表露出来,更好的诠释自己的内心世界,而电脑里的日志可以是有价值的信息宝库,也可以是毫无价值的数据泥潭。
目前,随着分布式开发框架的完善和扩展,越来越多的企业为了提供应用性能选择了分布式集群部署。这种部署模式显著提高了应用的并发能力,但却带来了一个问题,如何采集不同设备上的日志信息。在这一种环境下,如何解决分布式多机环境下的日志采集服务所面临的可靠性和可扩展性成为了一个必要课题。
发明内容
本发明实施例提供了日志信息采集方法及装置,能够采集不同设备上的日志信息。
第一方面,本发明提供了日志信息采集方法,包括:
预先确定至少两台待采设备中的待采集数据源,设置每一个所述待采集数据源对应的日志收集组件,并设置临时存储组件,其中,所述至少两台待采设备包括至少一种数据类型的待采集数据源;
针对每一个所述日志收集组件,调用所述日志收集组件,采集所述日志收集组件对应的所述待采集数据源中更新的日志信息;
调用所述临时缓存组件,缓存所述日志信息;
针对缓存的每一条所述日志信息,将所述日志信息发送给预设的数据库;
在所述数据库接收到所述日志信息时,调用所述临时缓存组件删除所述数据库已接收到的所述日志信息。
优选地,
所述调用所述日志收集组件,采集所述日志收集组件对应的所述待采集数据源中更新的日志信息,包括:
所述待采集数据源包括:Avro数据类型的数据源、Thrift数据类型的数据源、Java数据类型的数据源、文件、kafka服务、预先绑定的端口和HTTP服务中的任意一个或多个;
当所述待采集数据源包括Avro数据类型的数据源时,所述日志收集组件包括:Avro Source组件;
调用所述Avro Source组件,在监听到Avro数据类型的所述数据源的Avro服务端口有数据流时,从所述Avro服务端口采集Avro数据序列化后的数据,并将采集的Avro数据序列化后的所述数据作为日志信息;
当所述待采集数据源包括所述Thrift数据类型的数据源时,所述日志收集组件包括:Thrift Source组件;
调用所述Thrift Source组件,在监听到Thrift数据类型的所述数据源的Thrift服务端口有数据流时,从所述Thrift服务端口采集Thrift数据序列化后的数据,并将采集的Thrift数据序列化后的所述数据作为日志信息;
当所述待采集数据源包括所述Java数据类型的数据源时,所述日志收集组件包括:JMS Source组件;
调用所述JMS Source组件,采集Java数据类型的所述数据源中更新的数据,并将采集的数据作为日志信息;
当所述待采集数据源包括所述文件时,所述日志收集组件包括:SpoolingDirectory Source组件;
调用所述Spooling Directory Source组件,采集所述文件中更新的数据,并将采集的数据作为日志信息;
当所述待采集数据源包括所述kafka服务时,所述日志收集组件包括:KafkaSource组件;
调用所述Kafka Source组件,从所述Kafka服务中采集数据,并将采集的数据作为日志信息;
当所述待采集数据源包括所述端口时,所述日志收集组件包括:NetCat Source组件;
调用所述NetCat Source组件,采集流经所述端口的文本行数据,并将所述文本行数据作为日志信息;
当所述待采集数据源包括所述HTTP服务时,所述日志收集组件包括:HTTP Source组件;
调用所述HTTP Source组件,在监听到所述HTTP的接收数据的行为或发送数据的行为时,采集所述HTTP服务产生的数据,并将采集的数据作为日志信息。
优选地,
在所述设置每一个所述待采集数据源对应的日志收集组件之前,进一步包括:
确定预设的数据库对应的数据类型;
所述设置每一个所述待采集数据源对应的日志收集组件,包括:
针对每一个所述待采集数据源,按照所述待采集数据源对应的数据类型和所述数据库对应的数据类型,配置与所述待采集数据源和所述数据库相匹配的日志收集组件;
在所述采集所述日志收集组件对应的所述待采集数据源中更新的日志信息之后,在所述缓存所述日志信息之前,进一步包括:
将采集到的所述日志信息对应的数据格式转换为所述数据库对应的数据格式,并将转换数据格式后的所述日志信息作为日志信息。
优选地,
所述调用所述临时缓存组件,缓存所述日志信息,包括:
所述临时缓存组件包括:Memory Channel组件、File Channel组件、SpillableMemory Channel组件、JDBC Channel组件和Kafka Channel组件;
当所述临时缓存组件包括:所述Memory Channel组件时,
调用所述Memory Channel组件,将所述日志信息缓存在内存中;
当所述临时缓存组件包括:File Channel组件时,
调用所述File Channel组件,将所述日志信息缓存在文件中;
当所述临时缓存组件包括:Spillable Memory Channel组件时,
调用所述Spillable Memory Channel组件,将所述日志信息缓存在内存中,当所述内存的剩余空间达到预设的阈值时,将所述内存中的所述日志信息移动至预设的文件中;
当所述临时缓存组件包括:JDBC Channel组件时,
调用所述JDBC Channel组件,使用JDBC数据源缓存所述日志信息;
当所述临时缓存组件包括:Kafka Channel组件时,
调用所述Kafka Channel组件,使用Kafka服务缓存所述日志信息。
优选地,
在所述调用所述临时缓存组件,缓存所述日志信息之后,在所述将所述日志信息发送给预设的数据库之前,进一步包括:
调用所述临时缓存组件,分别将每一条所述日志信息发送给Kafka队列;
所述针对缓存的每一条所述日志信息,将所述日志信息发送给预设的数据库,包括:
针对所述Kafka队列中的每一条日志信息,调用所述Kafka队列执行:
S0:将所述日志信息发送给预设的数据库;
S1:确定所述数据库是否接收到所述日志信息,如果是,执行S2,否则,执行S3;
S2:向所述临时缓存组件发送用于指示信息发送成功的提示信息,并执行所述调用所述临时缓存组件删除所述数据库已接收到的所述日志信息;
S3:确定将所述日志信息发送给所述数据库的次数是否等于预设的发送次数,如果是,执行S4,否则,返回S0;
S4:将所述日志信息标记为异常信息。
第二方面,本发明提供了日志信息采集装置,包括:
组件设置模块,用于预先确定至少两台待采设备中的待采集数据源,设置每一个所述待采集数据源对应的日志收集组件,并设置临时存储组件,其中,所述至少两台待采设备包括至少一种数据类型的待采集数据源;
数据采集模块,用于针对每一个所述组件设置模块设置的所述日志收集组件,调用所述日志收集组件,采集所述日志收集组件对应的所述待采集数据源中更新的日志信息;
数据缓存模块,用于调用所述组件设置模块设置的所述临时缓存组件,缓存所述数据采集模块采集的所述日志信息;
数据消费模块,用于针对缓存的每一条所述日志信息,将所述数据缓存模块缓存的所述日志信息发送给预设的数据库;在所述数据库接收到所述日志信息时,调用所述临时缓存组件删除所述数据库已接收到的所述日志信息。
优选地,
所述待采集数据源包括:Avro数据类型的数据源、Thrift数据类型的数据源、Java数据类型的数据源、文件、kafka服务、预先绑定的端口和HTTP服务中的任意一个或多个;
所述数据采集模块,用于当所述待采集数据源包括Avro数据类型的数据源时,所述日志收集组件包括:Avro Source组件;调用所述Avro Source组件,在监听到Avro数据类型的所述数据源的Avro服务端口有数据流时,从所述Avro服务端口采集Avro数据序列化后的数据,并将采集的Avro数据序列化后的所述数据作为日志信息;当所述待采集数据源包括所述Thrift数据类型的数据源时,所述日志收集组件包括:Thrift Source组件;调用所述Thrift Source组件,在监听到Thrift数据类型的所述数据源的Thrift服务端口有数据流时,从所述Thrift服务端口采集Thrift数据序列化后的数据,并将采集的Thrift数据序列化后的所述数据作为日志信息;当所述待采集数据源包括所述Java数据类型的数据源时,所述日志收集组件包括:JMS Source组件;调用所述JMS Source组件,采集Java数据类型的所述数据源中更新的数据,并将采集的数据作为日志信息;当所述待采集数据源包括所述文件时,所述日志收集组件包括:Spooling Directory Source组件;调用所述Spooling Directory Source组件,采集所述文件中更新的数据,并将采集的数据作为日志信息;当所述待采集数据源包括所述kafka服务时,所述日志收集组件包括:Kafka Source组件;调用所述Kafka Source组件,从所述Kafka服务中采集数据,并将采集的数据作为日志信息;当所述待采集数据源包括所述端口时,所述日志收集组件包括:NetCat Source组件;调用所述NetCat Source组件,采集流经所述端口的文本行数据,并将所述文本行数据作为日志信息;当所述待采集数据源包括所述HTTP服务时,所述日志收集组件包括:HTTPSource组件;调用所述HTTP Source组件,在监听到所述HTTP的接收数据的行为或发送数据的行为时,采集所述HTTP服务产生的数据,并将采集的数据作为日志信息。
优选地,
所述组件设置模块,进一步用于确定预设的数据库对应的数据类型;针对每一个所述待采集数据源,按照所述待采集数据源对应的数据类型和所述数据库对应的数据类型,配置与所述待采集数据源和所述数据库相匹配的日志收集组件;
所述数据采集模块,用于将采集到的所述日志信息对应的数据格式转换为所述数据库对应的数据格式,并将转换数据格式后的所述日志信息作为日志信息。
优选地,
所述临时缓存组件包括:Memory Channel组件、File Channel组件、SpillableMemory Channel组件、JDBC Channel组件和Kafka Channel组件;
所述数据缓存模块,用于当所述临时缓存组件包括:所述Memory Channel组件时,调用所述Memory Channel组件,将所述日志信息缓存在内存中;当所述临时缓存组件包括:File Channel组件时,调用所述File Channel组件,将所述日志信息缓存在文件中;当所述临时缓存组件包括:Spillable Memory Channel组件时,调用所述Spillable MemoryChannel组件,将所述日志信息缓存在内存中,当所述内存的剩余空间达到预设的阈值时,将所述内存中的所述日志信息移动至预设的文件中;当所述临时缓存组件包括:JDBCChannel组件时,调用所述JDBC Channel组件,使用JDBC数据源缓存所述日志信息;当所述临时缓存组件包括:Kafka Channel组件时,调用所述Kafka Channel组件,使用Kafka服务缓存所述日志信息。
优选地,
所述数据消费模块,进一步用于调用所述临时缓存组件,分别将每一条所述日志信息发送给Kafka队列;并执行:
针对所述Kafka队列中的每一条日志信息,调用所述Kafka队列执行:
S0:将所述日志信息发送给预设的数据库;
S1:确定所述数据库是否接收到所述日志信息,如果是,执行S2,否则,执行S3;
S2:向所述临时缓存组件发送用于指示信息发送成功的提示信息,并执行所述调用所述临时缓存组件删除所述数据库已接收到的所述日志信息;
S3:确定将所述日志信息发送给所述数据库的次数是否等于预设的发送次数,如果是,执行S4,否则,返回S0;
S4:将所述日志信息标记为异常信息。
第三方面,本发明还提供了存储介质,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行第一方面中任一所述的日志信息采集方法。
第四方面,本发明还提供了计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面中任一所述的日志信息采集方法。
本发明提供了日志信息采集方法及装置,由于不同的待采设备上的待采集数据源中数据的数据类型可能不同,因此,可以基于待采集数据源对应的数据类型,设置与数据类型相对应的日志收集组件,以便通过日志收集组件采集对应的待采集数据源中更新的日志信息,然后对采集的日志信息进行缓存,避免在将采集到的日志信息直接发送给数据源的过程中,因网络等问题无法完成数据的传输,但本体又未保存采集的数据,导致采集的日志信息丢失;日志信息进行缓存后可以进行数据的传输,实现不同待采集设备上的日志信息的采集。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的日志信息采集方法的流程图;
图2是本发明另一实施例提供的日志信息采集方法的流程图;
图3是本发明一实施例提供的日志信息采集装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,日志信息采集方法,包括:
步骤101:预先确定至少两台待采设备中的待采集数据源,设置每一个所述待采集数据源对应的日志收集组件,并设置临时存储组件,其中,所述至少两台待采设备包括至少一种数据类型的待采集数据源;
步骤102:针对每一个所述日志收集组件,调用所述日志收集组件,采集所述日志收集组件对应的所述待采集数据源中更新的日志信息;
步骤103:调用所述临时缓存组件,缓存所述日志信息;
步骤104:针对缓存的每一条所述日志信息,将所述日志信息发送给预设的数据库;
步骤105:在所述数据库接收到所述日志信息时,调用所述临时缓存组件删除所述数据库已接收到的所述日志信息。
在本发明实施例中,由于不同的待采设备上的待采集数据源中数据的数据类型可能不同,因此,可以基于待采集数据源对应的数据类型,设置与数据类型相对应的日志收集组件,以便通过日志收集组件采集对应的待采集数据源中更新的日志信息,然后对采集的日志信息进行缓存,避免在将采集到的日志信息直接发送给数据源的过程中,因网络等问题无法完成数据的传输,但本体又未保存采集的数据,导致采集的日志信息丢失;日志信息进行缓存后可以进行数据的传输,实现不同待采集设备上的日志信息的采集。
在本发明一实施例中,所述调用所述日志收集组件,采集所述日志收集组件对应的所述待采集数据源中更新的日志信息,包括:
所述待采集数据源包括:Avro数据类型的数据源、Thrift数据类型的数据源、Java数据类型的数据源、文件、kafka服务、预先绑定的端口和HTTP服务中的任意一或多个;
当所述待采集数据源包括Avro数据类型的数据源时,所述日志收集组件包括:Avro Source组件;
调用所述Avro Source组件,在监听到Avro数据类型的所述数据源的Avro服务端口有数据流时,从所述Avro服务端口采集Avro数据序列化后的数据,并将采集的Avro数据序列化后的所述数据作为日志信息;
当所述待采集数据源包括所述Thrift数据类型的数据源时,所述日志收集组件包括:Thrift Source组件;
调用所述Thrift Source组件,在监听到Thrift数据类型的所述数据源的Thrift服务端口有数据流时,从所述Thrift服务端口采集Thrift数据序列化后的数据,并将采集的Thrift数据序列化后的所述数据作为日志信息;
当所述待采集数据源包括所述Java数据类型的数据源时,所述日志收集组件包括:JMS Source组件;
调用所述JMS Source组件,采集Java数据类型的所述数据源中更新的数据,并将采集的数据作为日志信息;
当所述待采集数据源包括所述文件时,所述日志收集组件包括:SpoolingDirectory Source组件;
调用所述Spooling Directory Source组件,采集所述文件中更新的数据,并将采集的数据作为日志信息;
当所述待采集数据源包括所述kafka服务时,所述日志收集组件包括:KafkaSource组件;
调用所述Kafka Source组件,从所述Kafka服务中采集数据,并将采集的数据作为日志信息;
当所述待采集数据源包括所述端口时,所述日志收集组件包括:NetCat Source组件;
调用所述NetCat Source组件,采集流经所述端口的文本行数据,并将所述文本行数据作为日志信息;
当所述待采集数据源包括所述HTTP服务时,所述日志收集组件包括:HTTP Source组件;
调用所述HTTP Source组件,在监听到所述HTTP的接收数据的行为或发送数据的行为时,采集所述HTTP服务产生的数据,并将采集的数据作为日志信息。
在本发明实施例中,待采集数据源可能有不同的数据类型,如Avro数据类型、Thrift数据类型Java数据类型的数据源,还可以包括文件、kafka服务、预先绑定的端口和HTTP服务中的任意一个或多个。不用数据类型的数据源所对应的日志收集组件也不同,因此,通过不同的日志收集组件可以采集对应的数据源中的数据,实现对不同数据类型的数据源中数据的采集。
在本发明一实施例中,在所述设置每一个所述待采集数据源对应的日志收集组件之前,进一步包括:
确定预设的数据库对应的数据类型;
所述设置每一个所述待采集数据源对应的日志收集组件,包括:
针对每一个所述待采集数据源,按照所述待采集数据源对应的数据类型和所述数据库对应的数据类型,配置与所述待采集数据源和所述数据库相匹配的日志收集组件;
在所述采集所述日志收集组件对应的所述待采集数据源中更新的日志信息之后,在所述缓存所述日志信息之前,进一步包括:
将采集到的所述日志信息对应的数据格式转换为所述数据库对应的数据格式,并将转换数据格式后的所述日志信息作为日志信息。
在本发明实施例中,预设的数据库也对应一定的数据类型,例如,byte、short、int、long、float、double、boolean或char,通过确定数据库的数据类型以及待采集数据源对应的数据类型,可以设置每一个待采集数据源对应的日志收集组件,以便日志收集组件采集完对应的待采集数据源中的数据后,基于数据库对应的数据类型,对采集的数据的类型进行转换,以便存储到数据库中的数据格式统一,便于数据管理。
在本发明一实施例中,所述调用所述临时缓存组件,缓存所述日志信息,包括:
所述临时缓存组件包括:Memory Channel组件、File Channel组件、SpillableMemory Channel组件、JDBC Channel组件和Kafka Channel组件;
当所述临时缓存组件包括:所述Memory Channel组件时,
调用所述Memory Channel组件,将所述日志信息缓存在内存中;
当所述临时缓存组件包括:File Channel组件时,
调用所述File Channel组件,将所述日志信息缓存在文件中;
当所述临时缓存组件包括:Spillable Memory Channel组件时,
调用所述Spillable Memory Channel组件,将所述日志信息缓存在内存中,当所述内存的剩余空间达到预设的阈值时,将所述内存中的所述日志信息移动至预设的文件中;
当所述临时缓存组件包括:JDBC Channel组件时,
调用所述JDBC Channel组件,使用JDBC数据源缓存所述日志信息;
当所述临时缓存组件包括:Kafka Channel组件时,
调用所述Kafka Channel组件,使用Kafka服务缓存所述日志信息。
在本发明实施例中,对采集的日志信息进行缓存的方式可以包括:内存的方式、文件的方式、内存和文件结合的方式、jdbc数据源来作为数据存储的方式以及kafka服务来作为数据存储方式中的任意一种或多种,不同的数据存储方式所对应的临时缓存组件不同,而不同的数据存储方式有不同的有点,以便根据不同的需求选用不同的数据存储方式。比如,通过内存的方式缓存数据,可以提高数据的存储效率;通过文件的方式存储数据,可以提高数据存储的安全性;通过内存和文件的存储方式存储数据,可以在提高数据存储效率的同时,保障数据存储的安全性;通过jdbc数据源的存储方式进行数据存储,以保证将数据存储到指定的目的地中;通过kafka服务可以提供高并发的数据存储。
在本发明一实施例中,
在所述调用所述临时缓存组件,缓存所述日志信息之后,在所述将所述日志信息发送给预设的数据库之前,进一步包括:
调用所述临时缓存组件,分别将每一条所述日志信息发送给Kafka队列;
所述针对缓存的每一条所述日志信息,将所述日志信息发送给预设的数据库,包括:
针对所述Kafka队列中的每一条日志信息,调用所述Kafka队列执行:
S0:将所述日志信息发送给预设的数据库;
S1:确定所述数据库是否接收到所述日志信息,如果是,执行S2,否则,执行S3;
S2:向所述临时缓存组件发送用于指示信息发送成功的提示信息,并执行所述调用所述临时缓存组件删除所述数据库已接收到的所述日志信息;
S3:确定将所述日志信息发送给所述数据库的次数是否等于预设的发送次数,如果是,执行S4,否则,返回S0;
S4:将所述日志信息标记为异常信息。
在本发明实施例中,在将缓存的日志信息发送给数据库前,可先将缓存的日志信息发送给Kafka队列,通过Kafka队列消费缓存的日志信息,当日志信息消费成功后,即将某条日志信息发送给数据库后,Kafka队列可向临时缓存组件提示信息,以使临时缓存组件将已发送到数据库的日志信息,从缓存中删除,如果某条日志信息在发送给数据库时出现异常或失败,则继续发送该条日志信息,并在该条日志信息的发送次数达到最大的发送次数时,则对该条日志信息进行标记,以便明确该条日志信息消费失败或异常。
如图2所示,为了更加清楚地说明本发明的技术方案及优点,下面以待采集数据源为Avro数据类型的数据源和Java数据类型的数据源,数据的缓存方式为内存和文件结合的方式为例,对本发明实施例提供的日志信息采集方法进行详细说明,具体可以包括以下步骤:
步骤201:确定待采集数据源为Avro数据类型的数据源和Java数据类型的数据源,并确定预设的数据库对应的数据类型。
具体地,由于不同的数据源可能存在不同的数据类型,同样地,为了便于运维人员对采集到的日志信息进行管理,存储到数据库的数据的数据类型也应统一,例如,byte、short、int、long、float、double、boolean、char数据类型,但不限于此。
步骤202:根据数据库对应的的数据类型和Avro数据类型的数据源,设置AvroSource组件。
步骤203:根据数据库对应的的数据类型和Java数据类型的数据源,设置Java数据类型的数据源对应的JMS Source组件。
具体地,由于不同数据类型的数据源的采集方式不同,因此,基于数据源对应的数据类型配置对应的日志采集组件。
步骤204:设置Spillable Memory Channel组件。
步骤205:调用Avro Source组件,在监听到Avro数据类型的数据源的Avro服务端口有数据流时,从Avro服务端口采集Avro数据序列化后的数据,并将采集的Avro数据序列化后的数据作为日志信息。
具体地,对于Avro数据类型的数据源,Avro Source组件需要对Avro数据类型的数据源的Avro服务端口进行监听,当监听到数据流时,采集Avro服务端口经过Avro数据序列化后的数据作为日志信息。
步骤206:调用JMS Source组件,采集Java数据类型的数据源中更新的数据,并将采集的数据作为日志信息。
具体地,对于Java数据类型的数据源,如果数据源中有数据更新,则调用JMSSource组件进行数据采集作为日志信息。
步骤207:调用Spillable Memory Channel组件,将Avro Source组件和JMSSource组件采集的日志信息缓存在内存中,当内存的剩余空间达到预设的阈值时,将内存中的日志信息移动至预设的文件中。
具体地,从数据源中采集的到日志信息,可先存储到内存中,当内存的剩余空间达到预设的阈值,例如,内存剩余空间小于2G,则将内存中缓存的日志信息移动至预设的文件中,此时内存已被清空,有足够的存储空间存储数据,因此,新采集的数据仍优先缓存在内存中。由于向内存中存储数据较快,在文件中存储数据更安全可靠,因此,通过内存和文件的方式结合缓存数据,可以保证数据在采集后,在发送给数据库前不会丢失。
步骤208:调用Spillable Memory Channel组件,分别将预设的文件中缓存的每一条日志信息发送给Kafka队列。
步骤209:针对Kafka队列中的每一条日志信息,调用Kafka队列将日志信息发送给数据库。
步骤210:确定数据库是否接收到日志信息,如果是,执行步骤211,否则,执行步骤213。
步骤211:向Spillable Memory Channel组件发送用于指示信息发送成功的提示信息,执行步骤212。
步骤212:调用Spillable Memory Channel组件,删除数据库已接收到的日志信息,结束当前流程。
步骤213:确定将日志信息发送给数据库的次数是否等于预设的发送次数,如果是,执行步骤214,否则,返回步骤209。
步骤214:将日志信息标记为异常信息。
具体地,Kafka队列将日志信息发送给数据库后,数据库不一定能够接收到该条日志信息,因此,Kafka队列需要判断数据库是否完成数据接收,以便在日志信息发送成功时,向Spillable Memory Channel组件发送提示相信,以便Spillable Memory Channel组件删除缓存的已被Kafka队列消费成功的日志信息,避免多地存储数据,浪费存储空间。当日志信息发送失败或异常时,Kafka队列可对消费失败的日志信息进行标记,以便运维人员根据标记的信息,确定该条日志信息在发送给数据库的过程中出现异常情况。
如图3所示,本发明实施例提供了日志信息采集装置,包括:
组件设置模块301,用于预先确定至少两台待采设备中的待采集数据源,设置每一个所述待采集数据源对应的日志收集组件,并设置临时存储组件,其中,所述至少两台待采设备包括至少一种数据类型的待采集数据源;
数据采集模块302,用于针对每一个所述组件设置模块301设置的所述日志收集组件,调用所述日志收集组件,采集所述日志收集组件对应的所述待采集数据源中更新的日志信息;
数据缓存模块303,用于调用所述组件设置模块301设置的所述临时缓存组件,缓存所述数据采集模块302采集的所述日志信息;
数据消费模块304,用于针对缓存的每一条所述日志信息,将所述数据缓存模块303缓存的所述日志信息发送给预设的数据库;在所述数据库接收到所述日志信息时,调用所述临时缓存组件删除所述数据库已接收到的所述日志信息。
在本发明实施例中,由于不同的待采设备上的待采集数据源中数据的数据类型可能不同,因此,组件设置模块可以基于待采集数据源对应的数据类型,设置与数据类型相对应的日志收集组件,以便数据采集模块通过日志收集组件采集对应的待采集数据源中更新的日志信息,然后通过数据缓存模块对采集的日志信息进行缓存,避免在数据消费模块将采集到的日志信息直接发送给数据源的过程中,因网络等问题无法完成数据的传输,但本体又未保存采集的数据,导致采集的日志信息丢失;日志信息进行缓存后可以进行数据的传输,实现不同待采集设备上的日志信息的采集。
在本发明一实施例中,所述待采集数据源包括:Avro数据类型的数据源、Thrift数据类型的数据源、Java数据类型的数据源、文件、kafka服务、预先绑定的端口和HTTP服务中的任意一个或多个;
所述数据采集模块,用于当所述待采集数据源包括Avro数据类型的数据源时,所述日志收集组件包括:Avro Source组件;调用所述Avro Source组件,在监听到Avro数据类型的所述数据源的Avro服务端口有数据流时,从所述Avro服务端口采集Avro数据序列化后的数据,并将采集的Avro数据序列化后的所述数据作为日志信息;当所述待采集数据源包括所述Thrift数据类型的数据源时,所述日志收集组件包括:Thrift Source组件;调用所述Thrift Source组件,在监听到Thrift数据类型的所述数据源的Thrift服务端口有数据流时,从所述Thrift服务端口采集Thrift数据序列化后的数据,并将采集的Thrift数据序列化后的所述数据作为日志信息;当所述待采集数据源包括所述Java数据类型的数据源时,所述日志收集组件包括:JMS Source组件;调用所述JMS Source组件,采集Java数据类型的所述数据源中更新的数据,并将采集的数据作为日志信息;当所述待采集数据源包括所述文件时,所述日志收集组件包括:Spooling Directory Source组件;调用所述Spooling Directory Source组件,采集所述文件中更新的数据,并将采集的数据作为日志信息;当所述待采集数据源包括所述kafka服务时,所述日志收集组件包括:Kafka Source组件;调用所述Kafka Source组件,从所述Kafka服务中采集数据,并将采集的数据作为日志信息;当所述待采集数据源包括所述端口时,所述日志收集组件包括:NetCat Source组件;调用所述NetCat Source组件,采集流经所述端口的文本行数据,并将所述文本行数据作为日志信息;当所述待采集数据源包括所述HTTP服务时,所述日志收集组件包括:HTTPSource组件;调用所述HTTP Source组件,在监听到所述HTTP的接收数据的行为或发送数据的行为时,采集所述HTTP服务产生的数据,并将采集的数据作为日志信息。
在本发明一实施例中,所述组件设置模块,进一步用于确定预设的数据库对应的数据类型;针对每一个所述待采集数据源,按照所述待采集数据源对应的数据类型和所述数据库对应的数据类型,配置与所述待采集数据源和所述数据库相匹配的日志收集组件;
所述数据采集模块,用于将采集到的所述日志信息对应的数据格式转换为所述数据库对应的数据格式,并将转换数据格式后的所述日志信息作为日志信息;
在本发明一实施例中,所述临时缓存组件包括:Memory Channel组件、FileChannel组件、Spillable Memory Channel组件、JDBC Channel组件和Kafka Channel组件;
所述数据缓存模块,用于当所述临时缓存组件包括:所述Memory Channel组件时,调用所述Memory Channel组件,将所述日志信息缓存在内存中;当所述临时缓存组件包括:File Channel组件时,调用所述File Channel组件,将所述日志信息缓存在文件中;当所述临时缓存组件包括:Spillable Memory Channel组件时,调用所述Spillable MemoryChannel组件,将所述日志信息缓存在内存中,当所述内存的剩余空间达到预设的阈值时,将所述内存中的所述日志信息移动至预设的文件中;当所述临时缓存组件包括:JDBCChannel组件时,调用所述JDBC Channel组件,使用JDBC数据源缓存所述日志信息;当所述临时缓存组件包括:Kafka Channel组件时,调用所述Kafka Channel组件,使用Kafka服务缓存所述日志信息。
在本发明一实施例中,所述数据消费模块,进一步用于调用所述临时缓存组件,分别将每一条所述日志信息发送给Kafka队列;并执行:
针对所述Kafka队列中的每一条日志信息,调用所述Kafka队列执行:
S0:将所述日志信息发送给预设的数据库;
S1:确定所述数据库是否接收到所述日志信息,如果是,执行S2,否则,执行S3;
S2:向所述临时缓存组件发送用于指示信息发送成功的提示信息,并执行所述调用所述临时缓存组件删除所述数据库已接收到的所述日志信息;
S3:确定将所述日志信息发送给所述数据库的次数是否等于预设的发送次数,如果是,执行S4,否则,返回S0;
S4:将所述日志信息标记为异常信息。
可以理解的是,本发明实施例示意的结构并不构成对日志信息采集装置的具体限定。在本发明的另一些实施例中,日志信息采集装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了存储介质,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行本发明任一实施例中的日志信息采集方法。
本发明实施例还提供了计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明任一实施例中的日志信息采集方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

Claims (9)

1.日志信息采集方法,其特征在于,预先确定至少两台待采设备中的待采集数据源,设置每一个所述待采集数据源对应的日志收集组件,并设置临时存储组件,其中,所述至少两台待采设备包括至少一种数据类型的待采集数据源,还包括:
针对每一个所述日志收集组件,调用所述日志收集组件,采集所述日志收集组件对应的所述待采集数据源中更新的日志信息;
调用所述临时缓存组件,缓存所述日志信息;
针对缓存的每一条所述日志信息,将所述日志信息发送给预设的数据库;
在所述数据库接收到所述日志信息时,调用所述临时缓存组件删除所述数据库已接收到的所述日志信息;
在所述设置每一个所述待采集数据源对应的日志收集组件之前,进一步包括:
确定预设的数据库对应的数据类型;
所述设置每一个所述待采集数据源对应的日志收集组件,包括:
针对每一个所述待采集数据源,按照所述待采集数据源对应的数据类型和所述数据库对应的数据类型,配置与所述待采集数据源和所述数据库相匹配的日志收集组件;
在所述采集所述日志收集组件对应的所述待采集数据源中更新的日志信息之后,在所述缓存所述日志信息之前,进一步包括:
将采集到的所述日志信息对应的数据格式转换为所述数据库对应的数据格式,并将转换数据格式后的所述日志信息作为日志信息。
2.根据权利要求1所述的日志信息采集方法,其特征在于,
所述调用所述日志收集组件,采集所述日志收集组件对应的所述待采集数据源中更新的日志信息,包括:
所述待采集数据源包括:Avro数据类型的数据源、Thrift数据类型的数据源、Java数据类型的数据源、文件、kafka服务、预先绑定的端口和HTTP服务中的任意一个或多个;
当所述待采集数据源包括Avro数据类型的数据源时,所述日志收集组件包括:AvroSource组件;
调用所述Avro Source组件,在监听到Avro数据类型的所述数据源的Avro服务端口有数据流时,从所述Avro服务端口采集Avro数据序列化后的数据,并将采集的Avro数据序列化后的所述数据作为日志信息;
当所述待采集数据源包括所述Thrift数据类型的数据源时,所述日志收集组件包括:Thrift Source组件;
调用所述Thrift Source组件,在监听到Thrift数据类型的所述数据源的Thrift服务端口有数据流时,从所述Thrift服务端口采集Thrift数据序列化后的数据,并将采集的Thrift数据序列化后的所述数据作为日志信息;
当所述待采集数据源包括所述Java数据类型的数据源时,所述日志收集组件包括:JMSSource组件;
调用所述JMS Source组件,采集Java数据类型的所述数据源中更新的数据,并将采集的数据作为日志信息;
当所述待采集数据源包括所述文件时,所述日志收集组件包括:Spooling DirectorySource组件;
调用所述Spooling Directory Source组件,采集所述文件中更新的数据,并将采集的数据作为日志信息;
当所述待采集数据源包括所述kafka服务时,所述日志收集组件包括:Kafka Source组件;
调用所述Kafka Source组件,从所述Kafka服务中采集数据,并将采集的数据作为日志信息;
当所述待采集数据源包括所述端口时,所述日志收集组件包括:NetCatSource组件;
调用所述NetCatSource组件,采集流经所述端口的文本行数据,并将所述文本行数据作为日志信息;
当所述待采集数据源包括所述HTTP服务时,所述日志收集组件包括:HTTP Source组件;
调用所述HTTP Source组件,在监听到所述HTTP的接收数据的行为或发送数据的行为时,采集所述HTTP服务产生的数据,并将采集的数据作为日志信息。
3.根据权利要求1所述的日志信息采集方法,其特征在于,
所述调用所述临时缓存组件,缓存所述日志信息,包括:
所述临时缓存组件包括:Memory Channel组件、File Channel组件、Spillable MemoryChannel组件、JDBC Channel组件和Kafka Channel组件;
当所述临时缓存组件包括:所述Memory Channel组件时,
调用所述Memory Channel组件,将所述日志信息缓存在内存中;
当所述临时缓存组件包括:File Channel组件时,
调用所述File Channel组件,将所述日志信息缓存在文件中;
当所述临时缓存组件包括:Spillable Memory Channel组件时,
调用所述Spillable Memory Channel组件,将所述日志信息缓存在内存中,当所述内存的剩余空间达到预设的阈值时,将所述内存中的所述日志信息移动至预设的文件中;
当所述临时缓存组件包括:JDBC Channel组件时,
调用所述JDBC Channel组件,使用JDBC数据源缓存所述日志信息;
当所述临时缓存组件包括:Kafka Channel组件时,
调用所述Kafka Channel组件,使用Kafka服务缓存所述日志信息。
4.根据权利要求1至3中任一所述的日志信息采集方法,其特征在于,
在所述调用所述临时缓存组件,缓存所述日志信息之后,在所述将所述日志信息发送给预设的数据库之前,进一步包括:
调用所述临时缓存组件,分别将每一条所述日志信息发送给Kafka队列;
所述针对缓存的每一条所述日志信息,将所述日志信息发送给预设的数据库,包括:
针对所述Kafka队列中的每一条日志信息,调用所述Kafka队列执行:
S0:将所述日志信息发送给预设的数据库;
S1:确定所述数据库是否接收到所述日志信息,如果是,执行S2,否则,执行S3;
S2:向所述临时缓存组件发送用于指示信息发送成功的提示信息,并执行所述调用所述临时缓存组件删除所述数据库已接收到的所述日志信息;
S3:确定将所述日志信息发送给所述数据库的次数是否等于预设的发送次数,如果是,执行S4,否则,返回S0;
S4:将所述日志信息标记为异常信息。
5.日志信息采集装置,其特征在于,包括:
组件设置模块,用于预先确定至少两台待采设备中的待采集数据源,设置每一个所述待采集数据源对应的日志收集组件,并设置临时存储组件,其中,所述至少两台待采设备包括至少一种数据类型的待采集数据源;
数据采集模块,用于针对每一个所述组件设置模块设置的所述日志收集组件,调用所述日志收集组件,采集所述日志收集组件对应的所述待采集数据源中更新的日志信息;
数据缓存模块,用于调用所述组件设置模块设置的所述临时缓存组件,缓存所述数据采集模块采集的所述日志信息;
数据消费模块,用于针对缓存的每一条所述日志信息,将所述数据缓存模块缓存的所述日志信息发送给预设的数据库;在所述数据库接收到所述日志信息时,调用所述临时缓存组件删除所述数据库已接收到的所述日志信息;
所述组件设置模块,进一步用于确定预设的数据库对应的数据类型;针对每一个所述待采集数据源,按照所述待采集数据源对应的数据类型和所述数据库对应的数据类型,配置与所述待采集数据源和所述数据库相匹配的日志收集组件;
所述数据采集模块,用于将采集到的所述日志信息对应的数据格式转换为所述数据库对应的数据格式,并将转换数据格式后的所述日志信息作为日志信息。
6.根据权利要求5所述的日志信息采集装置,其特征在于,
所述待采集数据源包括:Avro数据类型的数据源、Thrift数据类型的数据源、Java数据类型的数据源、文件、kafka服务、预先绑定的端口和HTTP服务中的任意一个或多个;
所述数据采集模块,用于当所述待采集数据源包括Avro数据类型的数据源时,所述日志收集组件包括:Avro Source组件;调用所述Avro Source组件,在监听到Avro数据类型的所述数据源的Avro服务端口有数据流时,从所述Avro服务端口采集Avro数据序列化后的数据,并将采集的Avro数据序列化后的所述数据作为日志信息;当所述待采集数据源包括所述Thrift数据类型的数据源时,所述日志收集组件包括:Thrift Source组件;调用所述Thrift Source组件,在监听到Thrift数据类型的所述数据源的Thrift服务端口有数据流时,从所述Thrift服务端口采集Thrift数据序列化后的数据,并将采集的Thrift数据序列化后的所述数据作为日志信息;当所述待采集数据源包括所述Java数据类型的数据源时,所述日志收集组件包括:JMS Source组件;调用所述JMS Source组件,采集Java数据类型的所述数据源中更新的数据,并将采集的数据作为日志信息;当所述待采集数据源包括所述文件时,所述日志收集组件包括:Spooling Directory Source组件;调用所述SpoolingDirectory Source组件,采集所述文件中更新的数据,并将采集的数据作为日志信息;当所述待采集数据源包括所述kafka服务时,所述日志收集组件包括:Kafka Source组件;调用所述Kafka Source组件,从所述Kafka服务中采集数据,并将采集的数据作为日志信息;当所述待采集数据源包括所述端口时,所述日志收集组件包括:NetCatSource组件;调用所述NetCatSource组件,采集流经所述端口的文本行数据,并将所述文本行数据作为日志信息;当所述待采集数据源包括所述HTTP服务时,所述日志收集组件包括:HTTP Source组件;调用所述HTTP Source组件,在监听到所述HTTP的接收数据的行为或发送数据的行为时,采集所述HTTP服务产生的数据,并将采集的数据作为日志信息。
7.根据权利要求5或6所述的日志信息采集装置,其特征在于,
所述临时缓存组件包括:Memory Channel组件、File Channel组件、Spillable MemoryChannel组件、JDBC Channel组件和Kafka Channel组件;
所述数据缓存模块,用于当所述临时缓存组件包括:所述Memory Channel组件时,调用所述Memory Channel组件,将所述日志信息缓存在内存中;当所述临时缓存组件包括:FileChannel组件时,调用所述File Channel组件,将所述日志信息缓存在文件中;当所述临时缓存组件包括:Spillable Memory Channel组件时,调用所述Spillable Memory Channel组件,将所述日志信息缓存在内存中,当所述内存的剩余空间达到预设的阈值时,将所述内存中的所述日志信息移动至预设的文件中;当所述临时缓存组件包括:JDBC Channel组件时,调用所述JDBC Channel组件,使用JDBC数据源缓存所述日志信息;当所述临时缓存组件包括:Kafka Channel组件时,调用所述Kafka Channel组件,使用Kafka服务缓存所述日志信息;
和/或,
所述数据消费模块,进一步用于调用所述临时缓存组件,分别将每一条所述日志信息发送给Kafka队列;并执行:
针对所述Kafka队列中的每一条日志信息,调用所述Kafka队列执行:
S0:将所述日志信息发送给预设的数据库;
S1:确定所述数据库是否接收到所述日志信息,如果是,执行S2,否则,执行S3;
S2:向所述临时缓存组件发送用于指示信息发送成功的提示信息,并执行所述调用所述临时缓存组件删除所述数据库已接收到的所述日志信息;
S3:确定将所述日志信息发送给所述数据库的次数是否等于预设的发送次数,如果是,执行S4,否则,返回S0;
S4:将所述日志信息标记为异常信息。
8.存储介质,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至4中任一所述的日志信息采集方法。
9.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至4任一所述的日志信息采集方法。
CN202010231861.6A 2020-03-27 2020-03-27 日志信息采集方法及装置 Active CN111427903B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010231861.6A CN111427903B (zh) 2020-03-27 2020-03-27 日志信息采集方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010231861.6A CN111427903B (zh) 2020-03-27 2020-03-27 日志信息采集方法及装置

Publications (2)

Publication Number Publication Date
CN111427903A CN111427903A (zh) 2020-07-17
CN111427903B true CN111427903B (zh) 2023-04-21

Family

ID=71551661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010231861.6A Active CN111427903B (zh) 2020-03-27 2020-03-27 日志信息采集方法及装置

Country Status (1)

Country Link
CN (1) CN111427903B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104579777A (zh) * 2015-01-06 2015-04-29 浪潮软件股份有限公司 日志管理系统和实现方法
CN105100128A (zh) * 2014-04-24 2015-11-25 北京金山网络科技有限公司 服务器集群日志的获取与提供方法、日志服务器及节点服务器
CN105824744A (zh) * 2016-03-21 2016-08-03 焦点科技股份有限公司 一种基于b2b平台的实时日志采集分析方法
CN106850748A (zh) * 2016-12-26 2017-06-13 曙光信息产业(北京)有限公司 云桌面的订阅发布系统
CN107040608A (zh) * 2017-05-19 2017-08-11 宁波绮耘软件股份有限公司 一种数据处理方法及系统
CN107341258A (zh) * 2017-07-12 2017-11-10 中国工商银行股份有限公司 一种日志数据采集方法及系统
CN107908690A (zh) * 2017-11-01 2018-04-13 南京欣网互联网络科技有限公司 一种基于大数据运营分析的数据处理方法
CN109542844A (zh) * 2018-12-03 2019-03-29 郑州云海信息技术有限公司 一种事件日志收集方法、系统及电子设备和存储介质
CN109542733A (zh) * 2018-12-05 2019-03-29 焦点科技股份有限公司 一种高可靠的实时日志收集及可视化检索方法
CN109684370A (zh) * 2018-09-07 2019-04-26 平安普惠企业管理有限公司 日志数据处理方法、系统、设备及存储介质
CN110515695A (zh) * 2019-07-26 2019-11-29 济南浪潮数据技术有限公司 一种日志数据处理方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2419305C (en) * 2003-02-20 2006-03-21 Ibm Canada Limited - Ibm Canada Limitee Unified logging service for distributed applications
US20060064503A1 (en) * 2003-09-25 2006-03-23 Brown David W Data routing systems and methods

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100128A (zh) * 2014-04-24 2015-11-25 北京金山网络科技有限公司 服务器集群日志的获取与提供方法、日志服务器及节点服务器
CN104579777A (zh) * 2015-01-06 2015-04-29 浪潮软件股份有限公司 日志管理系统和实现方法
CN105824744A (zh) * 2016-03-21 2016-08-03 焦点科技股份有限公司 一种基于b2b平台的实时日志采集分析方法
CN106850748A (zh) * 2016-12-26 2017-06-13 曙光信息产业(北京)有限公司 云桌面的订阅发布系统
CN107040608A (zh) * 2017-05-19 2017-08-11 宁波绮耘软件股份有限公司 一种数据处理方法及系统
CN107341258A (zh) * 2017-07-12 2017-11-10 中国工商银行股份有限公司 一种日志数据采集方法及系统
CN107908690A (zh) * 2017-11-01 2018-04-13 南京欣网互联网络科技有限公司 一种基于大数据运营分析的数据处理方法
CN109684370A (zh) * 2018-09-07 2019-04-26 平安普惠企业管理有限公司 日志数据处理方法、系统、设备及存储介质
CN109542844A (zh) * 2018-12-03 2019-03-29 郑州云海信息技术有限公司 一种事件日志收集方法、系统及电子设备和存储介质
CN109542733A (zh) * 2018-12-05 2019-03-29 焦点科技股份有限公司 一种高可靠的实时日志收集及可视化检索方法
CN110515695A (zh) * 2019-07-26 2019-11-29 济南浪潮数据技术有限公司 一种日志数据处理方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
韦彪 ; 刘天琪 ; 苏学能 ; .依托Hadoop架构的海量变压器实时监测与存储方案构建.电测与仪表.(第10期), *

Also Published As

Publication number Publication date
CN111427903A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
US10484326B2 (en) Distributed message queue stream verification
CN110069354A (zh) 微服务全链路跟踪方法及微服务架构
CN104092717B (zh) 消息处理方法及系统、消息目的端设备
CN111478965A (zh) 设备影子的处理方法、装置和系统
CN111061498B (zh) 一种配置信息管理系统
CN103441861A (zh) 一种数据记录生成方法及装置
CN112069264A (zh) 异构数据源采集方法、装置、电子设备及存储介质
CN111611094A (zh) 对异常mq信息的监控及管理方法
CN107943618B (zh) 仿真系统的数据快速恢复方法及存储介质
US10938633B2 (en) Facilitating resilient and fault tolerant asynchronous messaging
CN114363144A (zh) 一种面向分布式系统的故障信息关联上报方法及相关设备
CN111427903B (zh) 日志信息采集方法及装置
CN113094166B (zh) 一种链路追踪方法、装置、介质和计算设备
CN115017218B (zh) 分布式调用链的处理方法及装置、存储介质、电子设备
CN112527519A (zh) 一种高性能本地缓存方法、系统、设备及介质
CN111930385A (zh) 数据采集方法、装置、设备及存储介质
CN112181927A (zh) 一种微服务架构下的日志审计方法
CN116016117A (zh) 网络设备运维数据采集方法、系统、电子设备及存储介质
CN111597026B (zh) 用于获取信息的方法及装置
CN115473858A (zh) 数据传输方法和流式数据传输系统
CN114201659A (zh) 一种消息轨迹传输查询方法、装置及系统
CN114579416A (zh) 一种指标确定方法、装置、服务器和介质
CN113407415A (zh) 智能终端的日志管理方法和装置
CN113434473A (zh) 一种分布式日志的处理方法、装置、介质及电子设备
US11190432B2 (en) Method and first node for managing transmission of probe messages

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