CN115269519A - 一种日志检测方法、装置及电子设备 - Google Patents
一种日志检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115269519A CN115269519A CN202210904778.XA CN202210904778A CN115269519A CN 115269519 A CN115269519 A CN 115269519A CN 202210904778 A CN202210904778 A CN 202210904778A CN 115269519 A CN115269519 A CN 115269519A
- Authority
- CN
- China
- Prior art keywords
- log data
- data
- current log
- preset
- template
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Abstract
本申请公开了一种日志检测方法、装置及电子设备,涉及数据处理技术领域。其中,方法包括:判断模板库中是否存在与当前日志数据匹配的预设模板;若存在,则通过预设模板对应的检测规则,对当前日志数据进行检测,得到当前日志数据对应的检测结果;若不存在,则根据当前日志数据中的目标数据,得到当前日志数据对应的检测结果。通过上述方法,在无需人工参与的情况下,基于预设模板对应的检测规则或者日志数据中的目标数据,对日志数据进行检测,能够避免对每一个日志数据进行整体性的分析,从而减少日志检测时间,有助于及时获取当前日志数据对应的检测结果,进而有助于及时排查业务运行过程中存在的问题,提高日志检测效率。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种日志检测方法、装置及电子设备。
背景技术
在分布式构架系统中,通常会部署大量的业务系统、物理设备以及多个维度的运维监控管理系统。在分布式构架系统运行的过程中,通常会生成各种日志,而对这些日志进行检测,成为了对分布式架构系统进行监控、管理的重要手段。现有技术在进行日志检测时,通常会存在日志信息检测滞后的情况,导致不能及时排查出业务运行过程中存在的问题,甚至很多问题仍需人工介入才能确定,增加运维难度。
发明内容
本申请公开了一种日志检测方法、装置及电子设备,在无需人工参与的情况下,能够及时检测日志中的关键信息,进而有助于及时排查业务运行过程中存在的问题,提高日志检测效率。
第一方面,本申请提供了一种日志检测方法,所述方法包括:
判断模板库中是否存在与当前日志数据匹配的预设模板;
若存在,则通过所述预设模板对应的检测规则,对所述当前日志数据进行检测,得到所述当前日志数据对应的检测结果;
若不存在,则根据所述当前日志数据中的目标数据,得到所述当前日志数据对应的检测结果,其中,所述目标数据包括记录内存资源使用状态和/或业务运行状态的指标数据。
通过上述方法,在无需人工参与的情况下,基于预设模板对应的检测规则或者日志数据中的目标数据,对日志数据进行检测,能够避免对每一个日志数据进行整体性的分析,从而减少日志检测时间,有助于及时获取当前日志数据对应的检测结果,进而有助于及时排查业务运行过程中存在的问题,提高日志检测效率。
在一种可能的设计中,所述判断模板库中是否存在与当前日志数据匹配的预设模板,包括:
获取所述当前日志数据;
提取所述当前日志数据中的目标数据;
根据所述目标数据,判断所述模板库中是否存在与所述当前日志数据匹配的预设模板。
通过上述方法,利用当前日志数据中的目标数据,来判断模板库中是否存在与当前日志数据匹配的预设模板,避免对日志数据进行整体性分析,可以实现在不影响匹配准确性的前提下,减小数据处理量。
在一种可能的设计中,所述获取所述当前日志数据,包括:
根据预设引擎的各个数据采集点,采集所述预设引擎所在分布式节点生成的各个日志数据;
根据所述预设引擎的预设数据输出点,将预处理后的各个日志数据传输至预设消息中间件;
在所述预设消息中间件中提取所述当前日志数据。
通过上述方法,采用分布式节点的方式来采集数据,可以使得日志数据采集均衡。
在一种可能的设计中,所述提取所述当前日志数据中的目标数据,包括:
利用流式计算框架中的第一节点,获取所述当前日志数据;
将所述当前日志数据传输给第二节点,并利用所述第二节点对所述当前日志数据进行预处理;
将预处理后的当前日志数据传输给第三节点,并通过所述第三节点提取所述当前日志数据中的目标数据。
通过上述方法,利用流式计算框架低延迟、高性能、高容错、可扩展性的特点,来提取当前日志数据中的目标数据,能够提高目标数据提取效率。
在一种可能的设计中,所述根据所述目标数据,判断所述模板库中是否存在与所述当前日志数据匹配的预设模板,包括:
确定所述目标数据对应的数据属性,其中,所述数据属性至少包括指标类别,所述指标类别表征业务运行状态;
根据所述数据属性,分别计算所述目标数据与模板库中各个预设模板之间的匹配度;
在各个匹配度中的最大值大于预设阈值时,确定所述最大值对应的预设模板与所述当前日志数据匹配;
在所述最大值小于或等于所述预设阈值时,判断所述模板库中不存在与所述当前日志数据匹配的预设模板。
通过上述方法,基于目标数据的数据属性,在模板库中确定出是否存在与当前日志数据匹配的预设模板,可以在不影响匹配准确性的前提下,减小数据处理量。
在一种可能的设计中,所述通过所述预设模板对应的检测规则,对所述当前日志数据进行检测,得到所述当前日志数据对应的检测结果,包括:
确定所述预设模板对应的检测规则;
根据所述检测规则,检测所述当前日志数据中的关键信息,其中,所述关键信息表征当前分布式节点上各个业务的运行状态;
对所述关键信息进行分析,得到所述当前日志数据对应的检测结果,其中,所述检测结果包括业务运行异常和/或业务运行正常。
通过上述方法,基于日志数据中的关键信息实现对日志的检测,可以实现在不影响日志检测准确性的前提下,减少数据处理工作量,进而提高日志检测效率。
在一种可能的设计中,在所述对所述关键信息进行分析,得到所述当前日志数据对应的检测结果之后,还包括:
将所述目标数据、所述检测结果以及所述关键信息,作为日志信息;
将所述日志信息发送给预设存储空间进行保存,其中,所述预设存储空间为持续化存储空间。
通过上述方法,将检测出来的目标数据、检测结果以及关键信息作为日志信息来存储,相比将原始日志信息及业务运行数据来存储而言,可以降低存储空间使用占比。
在一种可能的设计中,在所述得到所述当前日志数据对应的检测结果之后,还包括:
获取用户查询指令;
在预设存储空间中,获取所述查询指令对应的日志信息,其中,所述日志信息至少包括所述检测结果和/或所述目标数据;
将所述日志信息作为查询结果,进行可视化展示。
通过上述方法,基于预设存储空间中储存的日志信息进行检索,可以提高检索效率。同时,对用户查询的日志信息进行可视化展示,便于及时发现和解决业务运行过程中存在的问题。
在一种可能的设计中,在所述将所述当前日志数据中的目标数据对应的检测结果,作为所述当前日志数据对应的检测结果之后,还包括:
根据所述目标数据,生成所述当前日志数据对应的新建模板;
将所述新建模板作为预设模板添加到所述模板库中。
通过上述方法,更新用于检测日志数据的模板库,使得模板库中的预设模板能够适用于更多种类的日志数据,进而提高检测效率。
第二方面,本申请提供了一种日志检测装置,所述装置包括:
判断模块,用于判断模板库中是否存在与当前日志数据匹配的预设模板;
检测模块,用于若存在所述预设模板,则通过所述预设模板对应的检测规则,对所述当前日志数据进行检测,得到所述当前日志数据对应的检测结果;若不存在所述预设模板,则根据所述当前日志数据中的目标数据,得到所述当前日志数据对应的检测结果,其中,所述目标数据包括记录内存资源使用状态和/或业务运行状态的指标数据。
在一种可能的设计中,所述判断模块包括:
获取单元,用于获取所述当前日志数据;
提取单元,用于提取所述当前日志数据中的目标数据;
判断单元,用于根据所述目标数据,判断所述模板库中是否存在与所述当前日志数据匹配的预设模板。
在一种可能的设计中,所述获取单元具体用于:
根据预设引擎的各个数据采集点,采集所述预设引擎所在分布式节点生成的各个日志数据;
根据所述预设引擎的预设数据输出点,将预处理后的各个日志数据传输至预设消息中间件;
在所述预设消息中间件中提取所述当前日志数据。
在一种可能的设计中,所述提取单元具体用于:
利用流式计算框架中的第一节点,获取所述当前日志数据;
将所述当前日志数据传输给第二节点,并利用所述第二节点对所述当前日志数据进行预处理;
将预处理后的当前日志数据传输给第三节点,并通过所述第三节点提取所述当前日志数据中的目标数据。
在一种可能的设计中,所述判断单元具体用于:
确定所述目标数据对应的数据属性,其中,所述数据属性至少包括指标类别,所述指标类别表征业务运行状态;
根据所述数据属性,分别计算所述目标数据与模板库中各个预设模板之间的匹配度;
在各个匹配度中的最大值大于预设阈值时,确定所述最大值对应的预设模板与所述当前日志数据匹配;
在所述最大值小于或等于所述预设阈值时,判断所述模板库中不存在与所述当前日志数据匹配的预设模板。
在一种可能的设计中,所述检测模块还用于:
确定所述预设模板对应的检测规则;
根据所述检测规则,检测所述当前日志数据中的关键信息,其中,所述关键信息表征当前分布式节点上各个业务的运行状态;
对所述关键信息进行分析,得到所述当前日志数据对应的检测结果,其中,所述检测结果包括业务运行异常和/或业务运行正常。
在一种可能的设计中,所述装置还包括:
确定模块,用于将所述目标数据、所述检测结果以及所述关键信息,作为日志信息;
保存模块,用于将所述日志信息发送给预设存储空间进行保存,其中,所述预设存储空间为持续化存储空间。
在一种可能的设计中,所述装置还包括:
获取模块,用于获取用户查询指令;
查询模块,用于在预设存储空间中,获取所述查询指令对应的日志信息,其中,所述日志信息至少包括所述检测结果和/或所述目标数据;
展示模块,用于将所述日志信息作为查询结果,进行可视化展示。
在一种可能的设计中,所述装置还包括:
新建模块,用于根据所述目标数据,生成所述当前日志数据对应的新建模板;
添加模块,用于将所述新建模板作为预设模板添加到所述模板库中。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,实现上述日志检测方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述日志检测方法步骤。
基于上述日志检测方法,在无需人工参与的情况下,基于预设模板对应的检测规则或者日志数据中的目标数据,对日志数据进行检测,能够避免对每一个日志数据进行整体性的分析,从而减少日志检测时间,有助于及时获取当前日志数据对应的检测结果,进而有助于及时排查业务运行过程中存在的问题,提高日志检测效率。
上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果参照上述针对第一方面或者第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
图1为本申请提供的一种日志检测方法的流程图;
图2为本申请提供的一种日志检测系统的结构示意图;
图3为本申请提供的一种日志检测装置的结构示意图;
图4为本申请提供的一种电子设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本申请的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。A与B连接,可以表示:A与B直接连接和A与B通过C连接这两种情况。另外,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面结合附图,对本申请实施例进行详细描述。
现有技术在进行日志检测时,通常会存在日志信息检测滞后的情况,导致不能及时排查出业务运行过程中存在的问题,甚至很多问题仍需人工介入才能确定,增加运维难度。
为了解决上述问题,本申请提供了一种日志检测方法,在无需人工参与的情况下,基于预设模板对应的检测规则或者日志数据中的目标数据,对日志数据进行检测,能够避免对每一个日志数据进行整体性的分析,从而减少日志检测时间,有助于及时获取当前日志数据对应的检测结果,进而有助于及时排查业务运行过程中存在的问题,提高日志检测效率。其中,本申请实施例所述方法和装置基于同一技术构思,由于方法及装置所解决问题的原理相似,因此装置与方法的实施例可以相互参见,重复之处不再赘述。
如图1所示,为本申请提供的一种日志检测方法的流程图,具体包括如下步骤:
S11,判断模板库中是否存在与当前日志数据匹配的预设模板;
S12,若存在,则通过预设模板对应的检测规则,对当前日志数据进行检测,得到当前日志数据对应的检测结果;
S13,若不存在,则根据当前日志数据中的目标数据,得到当前日志数据对应的检测结果。
在本申请实施例中,若要发现各个分布式节点中业务运行过程中的问题,需要采集各个分布式节点分别生成的日志数据,具体采集方法为:
根据预设引擎的各个数据采集点,采集预设引擎所在分布式节点生成的各个日志数据。其中,预设引擎可以是Logstash引擎,Logstash引擎具备实时数据传输能力,可以将数据信息从输入端传输到输出端,此外,Logstash引擎还可以支持对传输的数据进行过滤,进而可以满足各种应用场景。在本申请实施例中,在分布式架构集群的每个分布式节点上都要部署预设引擎,并且每个预设引擎配置多个输入端以及多个输出端,其中,输入端记为数据采集点,用于采集当前分布式节点上各个业务运行过程中生成的日志数据。
在采集到各个日志数据后,通过Filter等预设组件对各个日志数据进行过滤、删除等预处理操作,实现对各个日志数据中不符合规范的字段格式化。然后,根据预设引擎的预设数据输出点,将预处理后的各个日志数据传输至预设消息中间件。在本申请实施例中,预设数据输出点为Output组件,预设消息中间件为Kafka件,Kafka件是一个分布式、支持分区、多副本的分布式消息系统,在基于Kafka件进行数据处理时,具有快捷高效、低延时的特点,可以适用于对数据处理实时率要求较高的引用场景。在进行日志检测时,通过在预设消息中间件中提取日志数据,便可以快速得到用于进行日志检测的当前日志数据。
在得到当前日志数据后,进一步提取当前日志数据中的目标数据,其中,目标数据至少包括记录内存资源使用状态和/或业务运行状态的指标数据,这些指标数据可以反映出当前分布式节点的个业务线程是否正常运转。提取目标数据的方法包括:
利用流式计算框架中的第一节点,获取当前日志数据。在本申请实施例中,流式计算框架可以是Storm框架,Storm框架具有低延迟、高性能、高容错、可扩展的特点,由数据输入源KafkaSpout节点、预处理RoutingBolt节点、模型计算ComputationBolt节点和结果存储WriteBolt节点组成。其中,数据输入源KafkaSpout节点即为流式计算框架的第一节点。
接下来,第一节点将当前日志数据传输给第二节点,即预处理RoutingBolt节点,并利用第二节点对当前日志数据进行预处理,删除当前日志数据中的无效数据和不符合规则的数据,实现对当前日志数据的过滤。
进一步,第二节点将预处理后的当前日志数据传输给第三节点,即模型计算ComputationBolt节点,并通过第三节点提取当前日志数据中的目标数据。此外,第三节点还可以将目标数据发送给结果存储WriteBolt节点中进行储存。
通过上述方法,获取得到当前日志数据中的目标数据后,进一步,根据目标数据,判断模板库中是否存在与当前日志数据匹配的预设模板,具体判断方法可以是:
首先,确定目标数据对应的数据属性,其中,数据属性可以是指标类别,还可以是数据大小、内存使用占比等,这些数据属性都可以真实反映目标数据对应业务线程的运行状态,进而有助于确定出业务线程运行过程中是否存在风险问题。
然后,根据数据属性,分别计算目标数据与模板库中各个预设模板之间的匹配度。比如,基于指标类型、数据大小、内存使用占比,分别将目标数据与模板库中的各个预设模板之间进行匹配,并计算出匹配度。在计算匹配度的过程中,可以根据各个属性反映业务运行情况的准确性,对指标类型、数据大小、以及内存使用占比等分别设置权重值,举例来讲:
目标数据对应的指标类型为a1、数据大小为b1、内存使用占比为c1,任一预设模板的指标类型为a2、数据大小为b2、内存使用占比为c2,在计算目标数据与所述任一预设模板之间的匹配度时,若指标类型对应的权重值为k1、数据大小对应的权重值为k2、内存使用占比对应的权重值为k3,并且a1与a2之间的匹配度为s1、b1与b2之间的匹配度为s2、c1与c2之间的匹配度为s3,那么可以计算得到目标数据与所述任一预设模板之间的匹配度为(k1 s1+k2s2+k3 s3)。
在得到目标数据与模板库中各个预设模板之间的匹配度时,确定出各个匹配度中的最大值,最大值对应的预设模板即为当前模板库中与目标数据匹配度最高的模板,若最大值对应的预设模板不满足要求,那么可以确定整个模板库中不存在与目标数据匹配的预设模板。
在本申请实施例中,若最大值大于预设阈值时,则认为最大值对应的预设模板满足要求,即确定最大值对应的预设模板与当前日志数据匹配;若最大值小于或等于预设阈值时,则认为模板库中不存在与当前日志数据匹配的预设模板。
在确定出模板库中存在与当前日志数据匹配的预设模板时,就可以根据匹配的预设模板,对当前日志数据进行检测。具体来讲:
首先,确定预设模板对应的检测规则。在本申请实施例中,模板库中的每个预设模板都对应一种预设的检测规则,这种检测规则可以针对当前日志数据中的关键信息进行检测。其中,每个预设模板所检测的关键信息之间可以根据检测目的不同而存在差异,比如,若是要检测当前分布式节点中业务运行过程中是否存在风险问题,那么关键信息可以是反映当前分布式节点的业务运行状态的各种数据指标。
在检测出关键信息以后,进一步对关键信息进行分析,得到当前日志数据对应的检测结果,其中,检测结果至少包括业务运行异常和/或业务运行正常,还可以将关键信息放入检测结果中。
通过上述方法,通过检测当前日志数据中的关键信息,来实现对当前日志数据的检测,相比完整检测所有日志数据而言,在减少数据处理量,增强日志处理的实时性的同时,还不会影响日志检测的准确性,并且还能有效避免日志检测列表堆积,防止因为日志检测不及时导致的业务风险问题扩大。
在确定出模板库中不存在与当前日志数据匹配的预设模板时,就将当前日志数据中的目标数据对应的检测结果,作为当前数据对应的检测结果。其中,目标数据对应的检测结果,是通过对目标数据进行检测分析得到,包括当前分布式节点上各个业务运行状态信息,以及运行过程中是否存在风险问题等,还可以将目标数据本身打包放入目标数据对应的检测结果中。
通过上述过程,在无需人工参与的情况下,基于预设模板对应的检测规则或者日志数据中的目标数据,对日志数据进行检测,能够避免对每一个日志数据进行整体性的分析,从而减少日志检测时间,有助于及时获取当前日志数据对应的检测结果,进而有助于及时排查业务运行过程中存在的问题,提高日志检测效率。
在完成对当前日志数据进行检测,并得到当前日志数据对应的检测结果之后,还可以将目标数据、各个检测结果以及关键信息等,打包作为日志信息,并将日志信息发送给预设存储空间进行保存,其中,预设存储空间为持续化存储空间,比如Elasticsearch搜索引擎。Elasticsearch搜索引擎是一个分布式的搜索引擎,具有实时搜索、稳定、可靠、快速、安装使用方便的特点,能够适应海量日志数据并行检测的应用场景。此外,上述预设引擎中各个分布式节点采集的各个日志数据,也可以通过预设引擎的指定输出点传输至Elasticsearch搜索引擎中,进行持久化存储。
同时,在得到当前日志数据对应的检测结果之后,若获取得到用户查询指令,则在预设存储空间中,获取查询指令对应的日志信息,其中,日志信息包括检测结果、目标数据、以及关键信息等,并将日志信息作为查询结果,进行可视化展示,具体展示方法可以通过Kibana自定义可视化模块来实现。Kibana是一个开源的分析与可视化平台,通常和Elasticsearch一起使用。可以使用kibana搜索、查看存放在Elasticsearch中的数据,Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。
这种基于预设存储空间中储存的日志信息进行检索,可以提高检索效率。同时,对用户查询的日志信息进行可视化展示,便于及时发现和解决业务运行过程中存在的问题。
作为优选方案,模板库中不存在与当前日志数据匹配的预设模板时,还可以根据当前日志中的目标数据,生成当前日志数据对应的新建模板,并将新建模板作为预设模板添加到模板库中,实现对模板库的更新。
此外,若存在多个日志数据均不能找到匹配的预设模板,则可以将这些日志数据融合后,生成一个新建模板,并将新建模板作为预设模板添加到模板库中,实现对模板库的更新。
同时,为了保证模板库中的预设模板数量超过上限,还可以定期对各个预设模板进行融合处理,实现在更新模板库的同时,防止预设模板数量过多,影响日志检测效率。
通过上述日志检测方法,在无需人工参与的情况下,基于预设模板对应的检测规则或者日志数据中的目标数据,对日志数据进行检测,能够避免对每一个日志数据进行整体性的分析,从而减少日志检测时间,有助于及时获取当前日志数据对应的检测结果,进而有助于及时排查业务运行过程中存在的问题,提高日志检测效率。
为了更加详细阐述本申请实施例所阐述的日志检测方法,下面通过具体应用场景进一步进行说明。具体来讲:
如图2所述,为图1所示的日志检测方法对应的一种应用系统图。该系统包括4个模块,分别为日志采集模块,日志分析模块,日志存储模块以及日志展示模块。各个模块的主要功能如下:
日志采集模块,用于负责监听分布式节点上各个业务运行过程中上产生的日志数据,并对日志数据进行批处理后,将日志发送到消息中间件Kafka中,供后续计算和分析;日志分析模块,用于负责对日志采集模块采集得到的日志数据进行实时计算和分析;日志存储模块,用于将日志数据和计算分析结果持久化存储到Elasticsearch中,保证数据存储的稳定性和查询效率;日志展示模块,用于提供日志数据的查询服务,对日志存储的数据和计算分析结果数据进行自定义可视化的展示。
具体的,日志采集模块的分布式日志采集基于Logstash来实现,通过在节点上配置Logstash进行分布式日志收集,日志采集主要包括日志输入、预处理和输出三个部分。在分布式架构集群中,每个节点上部署单个Logstash,而每个Logstash可以配置多个输入源,同时监控节点上多个业务运行过程中生产的日志数据。而且Logstash能够配置多个输出源,能够将数据同时输出到消息中间件Kafka和搜索引擎Elasticsearch中,消息中间件Kafka和搜索引擎Elasticsearch共同构成本系统中的日志存储模块。
在系统中,利用Filter组件对日志进行预处理,将处理后的数据信息输入到消息中间件Kafka中,供后续实时计算和分析。同时,通过Output组件将日志数据输入到Elasticsearch中,存储原始日志信息。
当日志数据采集完成以后,需要通过日志分析模块对日志数据进行计算和分析,计算和分析过程即为对日志数据进行检测的过程,具体计算和分析方案如下:
首先从消息中间件Kafka中提取日志数据,然后使用流式计算Storm框架对日志数据进行计算,Storm框架具有低延迟、高性能、高容错、可扩展的特点,包括数据输入源KafkaSpout节点、预处理RoutingBolt节点、模型计算ComputationBolt节点和结果存储WriteBolt节点。具体的,通过数据流源头KafkaSpout节点获取日志数据后,依次流向预处理RoutingBolt节点、模型计算ComputationBolt节点和结果存储WriteBolt节点,进而实现对日志数据中的目标数据进行筛选。
进一步,把计算后的结果利用算法分析,得到日志数据对应的检测结果,该检测结果包括业务运行正常或者业务运行异常,然后将目标数据以及把检测结果写入Elasticsearch搜索引擎中,进行持久化保存。
进一步,使用日志分析模块对目标数据进行检测,具体来讲:将目标数据与模板库中的各个预设模板进行匹配,若存在匹配的预设模板,则使用匹配的预设模板对应的检测规则,对目标数据进行检测,得到检测结果,并将检测结果写入Elasticsearch搜索引擎中,进行持久化保存;否则,对目标数据生成新的模板,并将新的模板作为预设模板保存在模板库中,依次保证下一次日志数据匹配时所使用模板的完整性和有效性。
此外,若存在多个日志数据均不能找到匹配的预设模板,则可以将这些日志数据融合后,生成一个新建模板,并将新建模板作为预设模板添加到模板库中,实现对模板库的更新。
最后,通过日志展示模块对日志检测结果进行展示,本系统中,日志展示模块主要通过Kibana自定义可视化模块来实现。
基于上述日志检测系统,通过ELK(KLK由Elasticsearch搜索服务器、Logstash数据收集引擎、Kibana可视化平台组成)成熟的框架搭建日志系统,保证日志系统的高可用、稳定性,且满足系统框架分布式的特点,对于大规模的分布式并行计算有很好的扩展性。同时,通过提供日志实时计算方案,并行计算提高了日志处理效率,保证了日志数据处理的实时性,提升了实时响应的能力。通过更新模板库,实现对日志数据的检测结果更为全面准确,在大量日志数据中深入分析获取有用信息,挖掘其中的价值。
基于同一发明构思,本申请还提供了一种日志检测装置,如图3所示,为本申请提供的一种日志检测装置的结构示意图,所述装置包括:
判断模块31,用于判断模板库中是否存在与当前日志数据匹配的预设模板;
检测模块32,用于若存在所述预设模板,则通过所述预设模板对应的检测规则,对所述当前日志数据进行检测,得到所述当前日志数据对应的检测结果;若不存在所述预设模板,则根据所述当前日志数据中的目标数据,得到所述当前日志数据对应的检测结果,其中,所述目标数据包括记录内存资源使用状态和/或业务运行状态的指标数据。
在一种可能的设计中,所述判断模块31包括:
获取单元,用于获取所述当前日志数据;
提取单元,用于提取所述当前日志数据中的目标数据;
判断单元,用于根据所述目标数据,判断所述模板库中是否存在与所述当前日志数据匹配的预设模板。
在一种可能的设计中,所述获取单元具体用于:
根据预设引擎的各个数据采集点,采集所述预设引擎所在分布式节点生成的各个日志数据;
根据所述预设引擎的预设数据输出点,将预处理后的各个日志数据传输至预设消息中间件;
在所述预设消息中间件中提取所述当前日志数据。
在一种可能的设计中,所述提取单元具体用于:
利用流式计算框架中的第一节点,获取所述当前日志数据;
将所述当前日志数据传输给第二节点,并利用所述第二节点对所述当前日志数据进行预处理;
将预处理后的当前日志数据传输给第三节点,并通过所述第三节点提取所述当前日志数据中的目标数据。
在一种可能的设计中,所述判断单元具体用于:
确定所述目标数据对应的数据属性,其中,所述数据属性至少包括指标类别,所述指标类别表征业务运行状态;
根据所述数据属性,分别计算所述目标数据与模板库中各个预设模板之间的匹配度;
在各个匹配度中的最大值大于预设阈值时,确定所述最大值对应的预设模板与所述当前日志数据匹配;
在所述最大值小于或等于所述预设阈值时,判断所述模板库中不存在与所述当前日志数据匹配的预设模板。
在一种可能的设计中,所述检测模块32还用于:
确定所述预设模板对应的检测规则;
根据所述检测规则,检测所述当前日志数据中的关键信息,其中,所述关键信息表征当前分布式节点上各个业务的运行状态;
对所述关键信息进行分析,得到所述当前日志数据对应的检测结果,其中,所述检测结果包括业务运行异常和/或业务运行正常。
在一种可能的设计中,所述装置还包括:
确定模块,用于将所述目标数据、所述检测结果以及所述关键信息,作为日志信息;
保存模块,用于将所述日志信息发送给预设存储空间进行保存,其中,所述预设存储空间为持续化存储空间。
在一种可能的设计中,所述装置还包括:
获取模块,用于获取用户查询指令;
查询模块,用于在预设存储空间中,获取所述查询指令对应的日志信息,其中,所述日志信息至少包括所述检测结果和/或所述目标数据;
展示模块,用于将所述日志信息作为查询结果,进行可视化展示。
在一种可能的设计中,所述装置还包括:
新建模块,用于根据所述目标数据,生成所述当前日志数据对应的新建模板;
添加模块,用于将所述新建模板作为预设模板添加到所述模板库中。
通过上述日志检测装置,在无需人工参与的情况下,基于预设模板对应的检测规则或者日志数据中的目标数据,对日志数据进行检测,能够避免对每一个日志数据进行整体性的分析,从而减少日志检测时间,有助于及时获取当前日志数据对应的检测结果,进而有助于及时排查业务运行过程中存在的问题,提高日志检测效率。
基于同一发明构思,本申请实施例中还提供了一种电子设备,所述电子设备可以实现前述日志检测装置的功能,参考图4,所述电子设备包括:
至少一个处理器41,以及与至少一个处理器41连接的存储器42,本申请实施例中不限定处理器41与存储器42之间的具体连接介质,图4中是以处理器41和存储器42之间通过总线40连接为例。总线40在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线40可以分为地址总线、数据总线、控制总线等,为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器41也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器42存储有可被至少一个处理器41执行的指令,至少一个处理器41通过执行存储器42存储的指令,可以执行前文论述日志检测方法。处理器41可以实现图3所示的装置中各个模块的功能。
其中,处理器41是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器42内的指令以及调用存储在存储器42内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的设计中,处理器41可包括一个或多个处理单元,处理器41可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器41中。在一些实施例中,处理器41和存储器42可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器41可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的日志检测方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器42作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器42可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等。存储器42是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器42还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器41进行设计编程,可以将前述实施例中介绍的日志检测方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图1所示的实施例的日志检测方法的步骤。如何对处理器41进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述日志检测方法。
在一些可能的实施方式中,本申请提供的日志检测方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本申请各种示例性实施方式的日志检测方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种日志检测方法,其特征在于,所述方法包括:
判断模板库中是否存在与当前日志数据匹配的预设模板;
若存在,则通过所述预设模板对应的检测规则,对所述当前日志数据进行检测,得到所述当前日志数据对应的检测结果;
若不存在,则根据所述当前日志数据中的目标数据,得到所述当前日志数据对应的检测结果,其中,所述目标数据包括记录内存资源使用状态和/或业务运行状态的指标数据。
2.如权利要求1所述的方法,其特征在于,所述判断模板库中是否存在与当前日志数据匹配的预设模板,包括:
获取所述当前日志数据;
提取所述当前日志数据中的目标数据;
根据所述目标数据,判断所述模板库中是否存在与所述当前日志数据匹配的预设模板。
3.如权利要求2所述的方法,其特征在于,所述获取所述当前日志数据,包括:
根据预设引擎的各个数据采集点,采集所述预设引擎所在分布式节点生成的各个日志数据;
根据所述预设引擎的预设数据输出点,将预处理后的各个日志数据传输至预设消息中间件;
在所述预设消息中间件中提取所述当前日志数据。
4.如权利要求2所述的方法,其特征在于,所述提取所述当前日志数据中的目标数据,包括:
利用流式计算框架中的第一节点,获取所述当前日志数据;
将所述当前日志数据传输给第二节点,并利用所述第二节点对所述当前日志数据进行预处理;
将预处理后的当前日志数据传输给第三节点,并通过所述第三节点提取所述当前日志数据中的目标数据。
5.如权利要求2所述的方法,其特征在于,所述根据所述目标数据,判断所述模板库中是否存在与所述当前日志数据匹配的预设模板,包括:
确定所述目标数据对应的数据属性,其中,所述数据属性至少包括指标类别,所述指标类别表征业务运行状态;
根据所述数据属性,分别计算所述目标数据与模板库中各个预设模板之间的匹配度;
在各个匹配度中的最大值大于预设阈值时,确定所述最大值对应的预设模板与所述当前日志数据匹配;
在所述最大值小于或等于所述预设阈值时,判断所述模板库中不存在与所述当前日志数据匹配的预设模板。
6.如权利要求1所述的方法,其特征在于,所述通过所述预设模板对应的检测规则,对所述当前日志数据进行检测,得到所述当前日志数据对应的检测结果,包括:
确定所述预设模板对应的检测规则;
根据所述检测规则,检测所述当前日志数据中的关键信息,其中,所述关键信息表征当前分布式节点上各个业务的运行状态;
对所述关键信息进行分析,得到所述当前日志数据对应的检测结果,其中,所述检测结果包括业务运行异常和/或业务运行正常。
7.如权利要求6所述的方法,其特征在于,在所述对所述关键信息进行分析,得到所述当前日志数据对应的检测结果之后,还包括:
将所述目标数据、所述检测结果以及所述关键信息,作为日志信息;
将所述日志信息发送给预设存储空间进行保存,其中,所述预设存储空间为持续化存储空间。
8.如权利要求1所述的方法,其特征在于,在所述得到所述当前日志数据对应的检测结果之后,还包括:
获取用户查询指令;
在预设存储空间中,获取所述查询指令对应的日志信息,其中,所述日志信息至少包括所述检测结果和/或所述目标数据;
将所述日志信息作为查询结果,进行可视化展示。
9.如权利要求1所述的方法,其特征在于,在所述将所述当前日志数据中的目标数据对应的检测结果,作为所述当前日志数据对应的检测结果之后,还包括:
根据所述目标数据,生成所述当前日志数据对应的新建模板;
将所述新建模板作为预设模板添加到所述模板库中。
10.一种日志检测装置,其特征在于,所述装置包括:
判断模块,用于判断模板库中是否存在与当前日志数据匹配的预设模板;
检测模块,用于若存在所述预设模板,则通过所述预设模板对应的检测规则,对所述当前日志数据进行检测,得到所述当前日志数据对应的检测结果;若不存在所述预设模板,则根据所述当前日志数据中的目标数据,得到所述当前日志数据对应的检测结果,其中,所述目标数据包括记录内存资源使用状态和/或业务运行状态的指标数据。
11.一种电子设备,其特征在于,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1-9中任一项所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9中任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210904778.XA CN115269519A (zh) | 2022-07-29 | 2022-07-29 | 一种日志检测方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210904778.XA CN115269519A (zh) | 2022-07-29 | 2022-07-29 | 一种日志检测方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115269519A true CN115269519A (zh) | 2022-11-01 |
Family
ID=83770734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210904778.XA Pending CN115269519A (zh) | 2022-07-29 | 2022-07-29 | 一种日志检测方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269519A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116860871A (zh) * | 2023-06-12 | 2023-10-10 | 武汉江汉城市科技发展有限公司 | 统一处理源数据的元数据标准化方法、设备及存储介质 |
-
2022
- 2022-07-29 CN CN202210904778.XA patent/CN115269519A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116860871A (zh) * | 2023-06-12 | 2023-10-10 | 武汉江汉城市科技发展有限公司 | 统一处理源数据的元数据标准化方法、设备及存储介质 |
CN116860871B (zh) * | 2023-06-12 | 2024-04-05 | 武汉江汉城市科技发展有限公司 | 统一处理源数据的元数据标准化方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11614990B2 (en) | Automatic correlation of dynamic system events within computing devices | |
CN107145489B (zh) | 一种基于云平台的客户端应用的信息统计方法和装置 | |
WO2017096892A1 (zh) | 索引构建方法、查询方法及对应装置、设备、计算机存储介质 | |
CN104584524A (zh) | 聚合中介系统中的数据 | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
CN110928851B (zh) | 处理日志信息的方法、装置、设备及存储介质 | |
CN110134738B (zh) | 分布式存储系统资源预估方法、装置 | |
CN107463479A (zh) | 一种社交数据监控系统 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN111400361A (zh) | 数据实时存储方法、装置、计算机设备和存储介质 | |
CN111221890B (zh) | 通用指标类自动监控预警方法及装置 | |
CN115269519A (zh) | 一种日志检测方法、装置及电子设备 | |
CN113094154A (zh) | 一种基于阿里云的大数据处理方法及系统 | |
CN106257447A (zh) | 云存储服务器的视频存储及检索方法、视频云存储系统 | |
CN107894942B (zh) | 数据表访问量的监控方法和装置 | |
CN114625805B (zh) | 一种回测配置方法、装置、设备及介质 | |
CN111061719B (zh) | 数据收集方法、装置、设备和存储介质 | |
CN113220551A (zh) | 指标趋势预测及预警方法、装置、电子设备及存储介质 | |
CN113778996A (zh) | 一种大数据流数据处理方法、装置、电子设备及存储介质 | |
CN111427858A (zh) | 日志处理系统及其处理方法 | |
CN109739883A (zh) | 提升数据查询性能的方法、装置和电子设备 | |
CN115374109B (zh) | 数据访问方法、装置、计算设备和系统 | |
CN114595363A (zh) | 一种基于轻量级架构的业务日志处理方法、系统、存储介质及终端 | |
CN116644111A (zh) | 一种基于物联数据的指标确定方法、装置及电子设备 | |
CN114116614A (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 |