基于ELK采集日志数据方法和装置制造方法及图纸

技术编号:35261109 阅读:22 留言:0更新日期:2022-10-19 10:20
本申请提供了一种基于ELK采集日志数据方法和装置。所述方法包括:根据当前业务,确定采集所述当前业务所产生日志数据的日志采集插件;当所述日志采集插件为预设插件时,确定所述预设插件对应的主用消息队列的状态;根据所述主消息队列的状态,在所述主用消息队列和备用消息队列中,确定待使用的消息队列,所述主用消息队列和所述备用消息队列设置在不同的位置;将所述预设插件采集的日志数据写入待使用的消息队列中;通过采集管道,将消息队列中的日志数据写入搜索引擎,以使对搜索引擎中的日志数据进行分析处理。本申请可以避免消息队列不可用而影响采集端服务的性能或者导致采集端宕机的问题。集端宕机的问题。集端宕机的问题。

【技术实现步骤摘要】
基于ELK采集日志数据方法和装置


[0001]本申请涉及数据采集
,特别是涉及一种基于ELK采集日志数据方法和装置。

技术介绍

[0002]随着信息技术的发展,对各种业务类型的日志数据进行采集处理变的越来越重要。在实际过程中,往往使用ELK完成日志数据的采集。其中,ELK是由Elasticsearch+Logstash+Kibana组合而成的技术简称,Elasticsearch是基于json开发和支持restful风格的搜索引擎,Logstash是具有搜集数据的采集通道,Kibana是灵活的可视化平台。其核心是通过采集管道,将分散在不同采集端的日志信息统一采集到搜索引擎中,并通过可视化平台进行可视化展示。在ELK实际使用过程中,当日志量过大且采集速度太快时,向搜索引擎写入的速度往往会超过搜索引擎的写入阈值,进而导致日志数据无法写入搜索引擎。
[0003]为了解决上述问题,可以先将采集端采集到的日志数据写入kafka消息队列中,再通过采集管道将kafka消息队列中的日志数据写入搜索引擎,来避免上述由于日志量过大且采集速度太快而导致无法写入搜索引擎的问题。
[0004]然而,当由于磁盘爆满而导致日志数据写入kafka消息队列失败时,会导致无法将日志数据写入kafka消息队列,进而造成采集到的日志数据堆积,影响采集端服务的性能或者导致采集端宕机。

技术实现思路

[0005]有鉴于此,本申请提供一种基于ELK采集日志数据方法和装置,可以避免消息队列不可用而影响采集端服务的性能或者导致采集端宕机的问题。
[0006]为达到上述目的,本申请主要提供如下技术方案:
[0007]第一方面,本申请提供了一种基于ELK采集日志数据方法,所述方法包括:
[0008]根据当前业务,确定采集所述当前业务所产生日志数据的日志采集插件;
[0009]当所述日志采集插件为预设插件时,确定所述预设插件对应的主用消息队列的状态;
[0010]根据所述主用消息队列的状态,在所述主用消息队列和备用消息队列中,确定待使用的消息队列,所述主用消息队列和所述备用消息队列设置在不同的位置;
[0011]将所述预设插件采集的日志数据写入待使用的消息队列中;
[0012]通过采集管道,将所述消息队列中的日志数据写入搜索引擎,以使对搜索引擎中的日志数据进行分析处理。
[0013]第二方面,本申请提供了一种基于ELK采集日志数据装置,所述装置包括:
[0014]第一确定单元,用于根据当前业务,确定采集所述当前业务所产生日志数据的日志采集插件;
[0015]第二确定单元,用于当所述第一确定单元确定的日志采集插件为预设插件时,确
定所述预设插件对应的主用消息队列的状态;
[0016]第三确定单元,用于根据所述第二确定单元确定的主用消息队列的状态,在所述主用消息队列和备用消息队列中,确定待使用的消息队列,所述主用消息队列和所述备用消息队列设置在不同的位置;
[0017]第一写入单元,用于将所述预设插件采集的日志数据写入第三确定单元确定的待使用的消息队列中;
[0018]第二写入单元,用于通过采集管道,将所述第一写入单元写入的消息队列中的日志数据写入搜索引擎,以使对搜索引擎中的日志数据进行分析处理。
[0019]第三方面,本申请提供了一种终端,该终端用于运行程序,其中,该终端运行时执行该第一方面所述的基于ELK采集日志数据方法。
[0020]第四方面,本申请提供了一种存储介质,该存储介质用于存储计算机程序,其中,该计算机程序运行时控制该存储介质所在设备执行该第一方面所述的基于ELK采集日志数据方法。
[0021]借由上述技术方案,本申请提供了一种基于ELK采集日志数据方法和装置,当使用预设插件收集当前业务所产生的日志数据时,先确定预设插件对应的主用消息队列的状态,并根据所述主用消息队列的状态,在所述主用消息队列和备用消息队列中,确定待使用的消息队列,将所述预设插件采集的日志数据写入待使用的消息队列中,进而使得通过采集管道,将所述消息队列中的日志数据写入搜索引擎,以使对搜索引擎中的日志数据进行分析处理。这样,本申请由于根据主用消息队列的状态,在主用消息队列和备用消息队列中,确定待使用的消息队列,可以避免消息队列不可用而影响采集端服务的性能或者导致采集端宕机的问题。
[0022]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0023]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1为本申请公开的一种基于ELK采集日志数据方法的流程示意图;
[0025]图2为本申请公开的又一种基于ELK采集日志数据方法的流程示意图;
[0026]图3为本申请公开的又一种确定待使用的消息队列方法的流程示意图;
[0027]图4为本申请公开的一种在备用消息队列中确定待使用的消息队列方法的流程示意图;
[0028]图5为本申请公开的一种确定日志数据是否成功写入主用消息队列方法的流程示意图;
[0029]图6为本申请公开的一种基于ELK采集日志数据装置的结构示意图;
[0030]图7为本申请公开的又一种基于ELK采集日志数据装置的结构示意图。
具体实施方式
[0031]下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
[0032]随着信息技术的发展,对各种业务类型的日志数据进行采集处理变的越来越重要。在实际过程中,往往使用ELK完成日志数据的采集。其中,ELK是由Elasticsearch+Logstash+Kibana组合而成的技术简称,Elasticsearch是基于json开发和支持restful风格的搜索引擎,Logstash是具有搜集数据的采集通道,Kibana是灵活的可视化平台。其核心是通过采集管道,将分散在不同采集端的日志信息统一采集到搜索引擎中,并通过可视化平台进行可视化展示。在ELK实际使用过程中,当日志量过大且采集速度太快时,向搜索引擎写入的速度往往会超过搜索引擎的写入阈值,进而导致日志数据无法写入搜索引擎。
[0033]为了解决上述问题,可以先将采集端采集到的日志数据写入kafka消息队列中,再通过采集管道将kafka消息队列中的日志数据写入搜索引擎,来避本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于ELK采集日志数据方法,其特征在于,所述方法包括:根据当前业务,确定采集所述当前业务所产生日志数据的日志采集插件;当所述日志采集插件为预设插件时,确定所述预设插件对应的主用消息队列的状态;根据所述主用消息队列的状态,在所述主用消息队列和备用消息队列中,确定待使用的消息队列,所述主用消息队列和所述备用消息队列设置在不同的位置;将所述预设插件采集的日志数据写入待使用的消息队列中;通过采集管道,将所述消息队列中的日志数据写入搜索引擎,以使对搜索引擎中的日志数据进行分析处理。2.根据权利要求1所述的方法,其特征在于,所述根据所述主消息队列的状态,在所述主用消息队列和所述备用消息队列中,确定待使用的消息队列,包括:当所述主用消息队列的状态为不可用状态时,获取距当前时间点最近的写入失败时间点,所述写入失败时间点为当日志数据未成功写入所述主用消息队列时所记录的时间点;判断所述写入失败时间点与当前时间点之差是否小于第一预设时长;如果是,基于所述备用消息队列,确定待使用的消息队列;如果否,将所述主用消息队列确定为待使用的消息队列。3.根据权利要求2所述的方法,其特征在于,当将所述主用消息队列确定为待使用的消息队列时,所述将所述预设插件采集的日志数据写入待使用的消息队列中之后,所述方法还包括:判断采集的日志数据是否成功写入所述主用消息队列;如果是,将所述主用消息队列的状态修改为可用状态;如果否,将采集的日志数据写入备用消息队列中。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在将所述预设插件采集的日志数据发送给所述主用消息队列后,判断在第二预设时长内是否检测到ack消息,所述ack消息是当日志数据成功写入所述主用消息队列时,所述主用消息队列调用ack函数生成的;如果否,则确定所述预设插件采集的日志数据未成功写入所述主用消息队列,并将当前时间点记录为写入失败时间点;如果是,则确定所述预设插件采集的日志数据成功写入所述主用消息队列。5.根据权利要求1所述的方法,其特征在于,当所述预设插件为第一插件时,将设置在磁盘中的kafka消...

【专利技术属性】
技术研发人员:高维国陈贺巍
申请(专利权)人:百融至信北京征信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1