CN111459984B - 基于流式处理的日志数据处理系统及方法 - Google Patents

基于流式处理的日志数据处理系统及方法 Download PDF

Info

Publication number
CN111459984B
CN111459984B CN202010238775.8A CN202010238775A CN111459984B CN 111459984 B CN111459984 B CN 111459984B CN 202010238775 A CN202010238775 A CN 202010238775A CN 111459984 B CN111459984 B CN 111459984B
Authority
CN
China
Prior art keywords
data
processing
log
analysis
module
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
CN202010238775.8A
Other languages
English (en)
Other versions
CN111459984A (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202010238775.8A priority Critical patent/CN111459984B/zh
Publication of CN111459984A publication Critical patent/CN111459984A/zh
Application granted granted Critical
Publication of CN111459984B publication Critical patent/CN111459984B/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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries

Landscapes

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

Abstract

本发明公开了一种基于流式处理的日志数据处理系统及方法,其中,系统包括:规则配置模块,用于在界面上配置日志流程处理的处理参数;策略提测模块,用于对日志解析函数以及日志源进行数据测试;可视化模块,用于以Vue框架为基础搭建可视化交互界面;处理器添加模块,用于分发日志数据处理任务至流式处理引擎集群上进行执行;数据解析模块,用于对数据进行正式的处理解析,通过Grok函数解析的方式将数据从无结构数据转化为有结构数据;数据转换模块,用于对有结构数据中的字段进行匹配,并按照配置规则进行数据的转换。该系统实现对海量日志的实时数据解析,中小数据量情况下解析表达式的划词生成,异常数据处理,以及解析策略的实时提测。

Description

基于流式处理的日志数据处理系统及方法
技术领域
本发明涉及信息技术及数据业务技术领域,特别涉及一种基于流式处理的日志数据处理系统及方法。
背景技术
在现代互联网企业的发展壮大过程中,日志数据是其业务运行是否良好,系统是否健康,是否遭受攻击的一个及其重要的参考指标。同时,在系统出现问题时,开发人员或运维人员能否对问题及时解决,很大程度上都依赖于一个良好的日志监控平台。其中,日志解析方案作为日志监控平台中特别的一环,不仅需要能够进行基础的日志数据的解析,还应该能够具备进行分布式扩展的能力,高性能的计算能力,解析过程不影响业务集群的能力,解析函数和解析配置可复用的能力。
现有主流的日志处理解析方案,如Logstash,在数据从源传输到存储库的过程中,Logstash的过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成有结构数据。
然而,现有日志解析方案和技术,在进行日志解析的时候虽然也拥有比较强大的解析能力以及存储模板。但是其消耗性能不低,并且可复用性不强,对于无法解析的异常数据,其无法很好的处理。解析逻辑只能手动输入,对专业性要求太高的同时会消耗数据开发人员大量的时间。
另外,由于缺乏对解析表达式或解析函数在有效真实数据下的测试能力,而且它不能提供给数据开发人员一个简单易操作的可视化界面,从而导致数据开发人员的学习成本较大,有待解决。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于流式处理的日志数据处理系统,该系统实现对海量日志的实时数据解析,中小数据量情况下解析表达式的划词生成,异常数据处理,以及解析策略的实时提测,简单易实现。
本发明的另一个目的在于提出一种基于流式处理的日志数据处理方法。
为达到上述目的,本发明一方面实施例提出了一种基于流式处理的日志数据处理系统,包括:规则配置模块,用于在对数据开发人员友好的界面上配置日志流程处理的处理参数;策略提测模块,用于调用后台提供的模拟处理器对日志解析函数以及日志源进行数据测试;可视化模块,用于以Vue框架为基础搭建可视化交互界面,以与数据开发人员进行交互;处理器添加模块,用于分发日志数据处理任务至流式处理引擎集群上进行执行;数据解析模块,用于调用流式处理引擎以依据配置的处理流程对数据进行正式的处理解析,通过Grok函数解析的方式将所述数据从无结构数据转化为有结构数据;数据转换模块,用于对所述有结构数据中的字段进行匹配,并按照配置规则进行数据的转换。
本发明实施例的基于流式处理的日志数据处理系统,将日志数据处理与流式处理引擎将结合,保证了海量日志数据的实时稳定处理解析;同时,提供了一个日志数据处理平台,节约了数据开发人员在日志数据解析流程上所消耗的时间;针对不同的情况提供了不同的解析规则生成方式,在小数据量的情况下使用智能表达式生成方式可节省数据开发人员大量的时间,在大数据量的情况下使用精准匹配可极大的优化系统性能;在数据开发人员生成调试其解析函数时,提供了极大的便利,通过将消费端加入不同的分组以实现真实数据下的测试环境,从而保证了数据开发人员解析规则,数据源,数据转换方式的正确性。
另外,根据本发明上述实施例的基于流式处理的日志数据处理系统还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述处理参数包括选择日志源、选择日志处理解析函数、选择处理后的目标库,其中,所述选择日志处理解析函数由智能表达式或者用户自定义表达式生成。
进一步地,在本发明的一个实施例中,其中,所述选择日志处理解析函数由智能表达式生成具体为:通过定位前端传入基于测试日志字符串划动产生的start和end下标,并根据start和end下标生成一个区间Tab标记,对所述区间Tab标记中的内容使用通用表达式进行匹配,如果在传入时同时传入了名称,则以数据开发人员传入的名称进行命名,并采用与原字符串相同位置的字符代替两个Tab中间的内容,以生成所述选择日志处理解析函数。
进一步地,在本发明的一个实施例中,所述数据转换模块进一步用于根据所述配置规则进行IP到地理位置转换、日期格式转换和标签字段添加。
进一步地,在本发明的一个实施例中,还包括:异常数据处理模块,用于在数据解析的过程中判断出解析数据为空或者解析失败时,将无法解析的异常数据自动存入Elasticsearch。
为达到上述目的,本发明另一方面实施例提出了一种基于流式处理的日志数据处理方法,包括以下步骤:在对数据开发人员友好的界面上配置日志流程处理的处理参数;调用后台提供的模拟处理器对日志解析函数以及日志源进行数据测试;以Vue框架为基础搭建可视化交互界面,以与数据开发人员进行交互;分发日志数据处理任务至流式处理引擎集群上进行执行;调用流式处理引擎以依据配置的处理流程对数据进行正式的处理解析,通过Grok函数解析的方式将所述数据从无结构数据转化为有结构数据;对所述有结构数据中的字段进行匹配,并按照配置规则进行数据的转换。
本发明实施例的基于流式处理的日志数据处理方法,将日志数据处理与流式处理引擎将结合,保证了海量日志数据的实时稳定处理解析;同时,提供了一个日志数据处理平台,节约了数据开发人员在日志数据解析流程上所消耗的时间;针对不同的情况提供了不同的解析规则生成方式,在小数据量的情况下使用智能表达式生成方式可节省数据开发人员大量的时间,在大数据量的情况下使用精准匹配可极大的优化系统性能;在数据开发人员生成调试其解析函数时,提供了极大的便利,通过将消费端加入不同的分组以实现真实数据下的测试环境,从而保证了数据开发人员解析规则,数据源,数据转换方式的正确性。
另外,根据本发明上述实施例的基于流式处理的日志数据处理方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述处理参数包括选择日志源、选择日志处理解析函数、选择处理后的目标库,其中,所述选择日志处理解析函数由智能表达式或者用户自定义表达式生成。
进一步地,在本发明的一个实施例中,其中,所述选择日志处理解析函数由智能表达式生成具体为:通过定位前端传入基于测试日志字符串划动产生的start和end下标,并根据start和end下标生成一个区间Tab标记,对所述区间Tab标记中的内容使用通用表达式进行匹配,如果在传入时同时传入了名称,则以数据开发人员传入的名称进行命名,并采用与原字符串相同位置的字符代替两个Tab中间的内容,以生成所述选择日志处理解析函数。
进一步地,在本发明的一个实施例中,所述对所述有结构数据中的字段进行匹配,并按照配置规则进行数据的转换进一步包括:根据所述配置规则进行IP到地理位置转换、日期格式转换和标签字段添加。
进一步地,在本发明的一个实施例中,还包括:在数据解析的过程中判断出解析数据为空或者解析失败时,将无法解析的异常数据自动存入Elasticsearch。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的基于流式处理的日志数据处理系统的结构示意图;
图2为根据本发明实施例的基于流式处理的日志数据处理方案架构图;
图3为根据本发明实施例的日志处理平台总体流程图;
图4为根据本发明实施例的进入配置流程视图;
图5为根据本发明实施例的从数据源获取数据测试图;
图6为根据本发明实施例的Grok验证测试流程;
图7为根据本发明实施例的Grok函数验证流程图;
图8为根据本发明实施例的Flink管理Dashboard图;
图9为根据本发明实施例的智能表达式生成图;
图10为根据本发明实施例的Grok解析耗时对比图;
图11为根据本发明实施例的基于流式处理的日志数据处理方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于流式处理的日志数据处理系统及方法,首先将参照附图描述根据本发明实施例提出的基于流式处理的日志数据处理系统。
图1是本发明一个实施例的基于流式处理的日志数据处理系统的结构示意图。
如图1所示,该基于流式处理的日志数据处理系统10包括:规则配置模块100、策略提测模块200、可视化模块300、处理器添加模块400、数据解析模块500和数据转换模块600。
其中,规则配置模块100用于在对数据开发人员友好的界面上配置日志流程处理的处理参数;策略提测模块200用于调用后台提供的模拟处理器对日志解析函数以及日志源进行数据测试;可视化模块300用于以Vue框架为基础搭建可视化交互界面,以与数据开发人员进行交互;处理器添加模块400用于分发日志数据处理任务至流式处理引擎集群上进行执行;数据解析模块500用于调用流式处理引擎以依据配置的处理流程对数据进行正式的处理解析,通过Grok函数解析的方式将数据从无结构数据转化为有结构数据;数据转换模块600用于对有结构数据中的字段进行匹配,并按照配置规则进行数据的转换。本发明实施例的系统10实现对海量日志的实时数据解析,中小数据量情况下解析表达式的划词生成,异常数据处理,以及解析策略的实时提测,简单易实现。
需要说明的是,本发明实施例提出了基于流式处理的日志数据处理方案,方案采用流式处理引擎搭配Grok解析进行日志数据的处理解析。基于流式处理的日志数据处理方案架构图如图2所示。
其中,最底层是消息队列Kafka,可以看出整个系统所采集、所产生的数据主要依靠Kafka进行中转;再上面一层是引擎层,其左边是实时计算引擎,主要为Flink,除了计算引擎外,本发明实施例的方案中还提供了一些实时存储能力,这一类存储主要包含了Elasticsearch、Redis、Hbase;再上一层,是数据开发层,这一层主要是用于,对处理器的配置测试管理,包括数据转换的选择,数据解析的表达式选择等。整个实时日志数据处理平台提供有数据解析、数据转换、处理器添加、规则配置,策略提测和可视化等几个方面的能力。
其中,Flink:Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。
具体而言,本发明实施例采用流式处理引擎搭配Grok解析进行日志数据的处理解析,针对不同的系统日志匹配不同的日志解析规则,同时包含了异常解析处理等过程,保证了系统的稳定性以及数据的完整性。本发明实施例的日志数据处理系统主要包括以下几个模块:规则配置、策略提测、可视化、处理器添加、数据解析、数据转换等。
其中,规则配置:在对数据开发人员友好的界面上配置日志流程处理的处理参数,包括选择日志源,选择日志处理解析函数,选择处理后的目标库等,其中在解析函数生成方面提供了两种生成方式分别为智能表达式生成以及用户自定义表达式生成。
策略提测:调用后台提供的模拟处理器,对日志解析函数以及日志源进行数据测试。
可视化:以Vue框架为基础,搭建可视化交互界面,实现与数据开发人员的交互。
处理器添加:对日志数据处理任务进行分发,将其分发到流式处理引擎集群上进行执行。
数据解析:调用流式处理引擎,依据配置好的处理流程,对数据进行正式的处理解析,通过Grok函数解析的方式将数据从无结构数据转化为有结构数据。
数据转换:对有结构数据中的字段进行匹配,并按照配置规则进行数据的转换,包括IP到地理位置的转换,日期格式转换,标签字段添加等。
下面将通过使用基于流式处理的日志数据处理系统来具体实现日志数据处理解析的技术实现细节,主要分为2部分,日志处理解析平台技术细节和流式处理解析技术细节。具体如下:
1、日志处理解析平台技术细节
1.1、日志处理平台总流程
如图3所示,日志处理平台的总体流程为:
数据开发人员通过点击添加日志处理器进入总配置流程,而后数据开发人员选择数据源,这里一般为kafka,并进行数据源的数据测试,若未发现数据或者无法连上该数据源,流程结束。
若数据源测试成功,数据开发人员将会选择使用的Grok解析函数,并在之前配置好的数据源的基础上进行Grok函数的测试。
若测试满足数据开发人员的预期目标,数据开发人员可选择存储该Grok表达式或者直接进入转换配置阶段,本系统提供了IP地址到地理位置的转换以及时间转换两种转换方式。
在解析好的测试数据进行转换测试验证成功的基础上,数据开发人员可选择处理后的日志数据所需要存储的目标库,之后将该日志处理任务分发到Flink集群上,Flink集群会自动安装数据开发人员的任务进行日志数据的处理。
1.2、日志处理平台交互流程
进入配置流程:数据开发人员通过点击添加日志处理器,进入日志处理配置流程,其按钮如图4所示。在进入配置流程后,数据开发人员即可进行日志数据处理流程的配置启动。
测试从数据源获取数据:数据开发人员在选择好数据源配置后,即可通过点击获取数据对数据源日志数据进行验证。从图5可以看出,数据开发人员在选择好数据源,以及topicName后,通过点击获取数据,即可查看到数据源上的数据是否为自己希望处理的数据,同时,也可以据此判断数据源是否正常连通,是否可以访问。
Grok验证测试流程:数据开发人员在填写自己的Grok函数或者选择了之前存储的Grok函数后,也可通过测试按钮进行样例日志数据的解析测试,如图6所示,其流程为:数据开发人员点击解析样例日志,后台会根据数据开发人员传入的Grok函数去解析之前配置源的数据,之后将结果以可视化的方式展示给数据开发人员。
其中,Grok函数验证流程图如图7所示:数据开发人员在选择数据源,并且选择填写好Grok函数后,可以通过点击解析样例数据进行数据的解析,此时,服务器将从Kafka消息队列中获取配置数据源的样例数据,之后通过后台服务器本地的Grok解析引擎对获取到的样例数据进行Grok函数解析,将无结构的数据转化为有结构的数据,之后将解析结果返回给数据开发人员,数据开发人员可据此判断该日志数据和该Grok函数是否匹配。是否将其分发到Flink集群上进行正式启动流程。
启动远程正式处理解析任务:数据开发人员点击启动后,后台将调用RemoteEnvironment,将任务流配置完整的传输到Flink集群,以日志处理后台为客户端,最终通过调用Excute命令让Flink集群进行任务处理。如图8所示,可以通过Flink的管理界面查看到任务在Flink的运行状况。Flink在处理解析完数据后,会将处理后的结构化数据发送到之前配置好的数据仓库中进行存储。
2、流式处理解析技术细节
2.1、Grok表达式生成
在使用Grok解析日志数据时,在考虑到数据解析表达式编写的复杂性以及繁琐性,本发明实施例提出一种在牺牲一定性能情况下的智能表达式生成方式。
智能表达式生成方式:数据开发人员采用划词的方式进行Grok函数的自动生成。具体地,如图9所示:通过定位前端传入的,基于测试日志字符串划动产生的start和end下标,生成一个区间Tab标记,对其中的内容使用通用表达式进行匹配,若同时传入了名称,则将其以数据开发人员传入的名称进行命名,对于两个Tab中间的内容,采用与原字符串相同位置的字符代替。最终生成数据开发人员希望得到的Grok表达式。此模式中,生成的表达式是以.*为核心的表达式,大多数据都采用模糊的匹配进行解析,方便数据开发人员使用的同时极大的提升了在小数据规模下的开发效率
自定义精准匹配:智能表达式生成方式给了数据开发人员极大的便捷,但在大数据量的情况下,其性能较为一般,因此,本系统向数据开发人员提供了自定义Grok函数的能力,数据开发人员可以根据Grok规则输入自己的精准表达式,通过更精准的匹配解析,实现性能的极大提升。在使用格式相同,且日志数据格式正确,长度为300字节的数据进行测试后。其测试结果如图10所示。
因此,本发明实施例中给数据开发人员提供了两种日志数据的解析方式,使用智能表达式生成方式生成Grok表达式让数据开发人员能以最快的速度完成日志数据的解析搭建,适合数据量不大的数据开发人员,降低数据开发门槛的同时,节省了数据开发人员的时间,当数据开发人员数据量过大时,则适合使用自定义精准匹配的方式进行日志数据的解析处理。一个处理节点,在Grok表达式精准的情况下可以达到处理每秒3万条300字节大小数据的处理速度。
2.2、异常数据处理
由于Grok在数据解析的过程中,遇到了无法解析的异常数据时,会大量的消耗服务器的性能。因此,在发明实施例中,在判断出解析数据为空,或者解析失败时,会将无法解析的异常数据自动存入Elasticsearch中,数据开发人员可以从Elasticsearch中查看到自己各个处理任务的异常数据,同时,凭借Elasticsearch的强大搜索能力,数据开发人员可以通过简单的搜索,快速定位问题。若是之前未考虑到的数据,可以通过本平台再次编写其Grok解析函数以及转换方式,启动处理器,之后将未考虑周全的处理流程停止掉。
本发明实施例在消费Kafka的topic时可使用同一个Group,因此在架构上即可保证处理流正常运行的情况下实现解析切换。
2.3、策略提测
本发明实施例所指的策略主要包括用于日志源的选择,解析日志数据的Grok表达式,以及用于完成日志数据转换的转换策略。
本发明实施例提供真实环境下对各策略进行测试的能力,通过调用后台提供的模拟处理器,对日志解析函数,日志转换策略以及日志源进行数据测试。在策略提测流程中,分别存在三个链路提测流程,分别为在真实环境下对数据源的测试,对数据源、解析表达式的测试,对数据源、解析表达式、转换策略的完整测试。
其中,最长链路提测流程为:平台从Kafka消息队列以提测消费组消费固定条数的原始数据。获取到真实日志数据后,平台根据解析表达式对原始日志数据进行Grok数据解析,将会获得有结构的日志数据。之后依据数据转换策略对有结构的日志数据进行数据转换,如IP转换为地址,日期格式的转换等。将处理完毕的数据以可视化的方式进行展示。
数据开发人员据此判断其数据源,解析表达式,转换策略等是否适应该日志或是否正确,若其在真实数据环境下完全正确,再将其处理流程发布到流式处理引擎上进行持续处理。避免了正式环境中可能产生的数据污染问题。
根据本发明实施例提出的基于流式处理的日志数据处理系统,将日志数据处理与流式处理引擎将结合,保证了海量日志数据的实时稳定处理解析;同时,提供了一个日志数据处理平台,节约了数据开发人员在日志数据解析流程上所消耗的时间;针对不同的情况提供了不同的解析规则生成方式,在小数据量的情况下使用智能表达式生成方式可节省数据开发人员大量的时间,在大数据量的情况下使用精准匹配可极大的优化系统性能;在数据开发人员生成调试其解析函数时,提供了极大的便利,通过将消费端加入不同的分组以实现真实数据下的测试环境,从而保证了数据开发人员解析规则,数据源,数据转换方式的正确性。
其次参照附图描述根据本发明实施例提出的基于流式处理的日志数据处理方法。
图11是本发明一个实施例的基于流式处理的日志数据处理方法的流程图。
如图11所示,该基于流式处理的日志数据处理方法包括以下步骤:
在步骤S101中,在对数据开发人员友好的界面上配置日志流程处理的处理参数;
在步骤S102中,调用后台提供的模拟处理器对日志解析函数以及日志源进行数据测试;
在步骤S103中,以Vue框架为基础搭建可视化交互界面,以与数据开发人员进行交互;
在步骤S104中,分发日志数据处理任务至流式处理引擎集群上进行执行;
在步骤S105中,调用流式处理引擎以依据配置的处理流程对数据进行正式的处理解析,通过Grok函数解析的方式将数据从无结构数据转化为有结构数据;
在步骤S106中,对有结构数据中的字段进行匹配,并按照配置规则进行数据的转换。
进一步地,在本发明的一个实施例中,处理参数包括选择日志源、选择日志处理解析函数、选择处理后的目标库,其中,选择日志处理解析函数由智能表达式或者用户自定义表达式生成。
进一步地,在本发明的一个实施例中,其中,选择日志处理解析函数由智能表达式生成具体为:通过定位前端传入基于测试日志字符串划动产生的start和end下标,并根据start和end下标生成一个区间Tab标记,对区间Tab标记中的内容使用通用表达式进行匹配,如果在传入时同时传入了名称,则以数据开发人员传入的名称进行命名,并采用与原字符串相同位置的字符代替两个Tab中间的内容,以生成选择日志处理解析函数。
进一步地,在本发明的一个实施例中,对有结构数据中的字段进行匹配,并按照配置规则进行数据的转换进一步包括:根据配置规则进行IP到地理位置转换、日期格式转换和标签字段添加。
进一步地,在本发明的一个实施例中,还包括:在数据解析的过程中判断出解析数据为空或者解析失败时,将无法解析的异常数据自动存入Elasticsearch。
需要说明的是,前述对基于流式处理的日志数据处理系统实施例的解释说明也适用于该实施例的基于流式处理的日志数据处理方法此处不再赘述。
根据本发明实施例提出的基于流式处理的日志数据处理方法,将日志数据处理与流式处理引擎将结合,保证了海量日志数据的实时稳定处理解析;同时,提供了一个日志数据处理平台,节约了数据开发人员在日志数据解析流程上所消耗的时间;针对不同的情况提供了不同的解析规则生成方式,在小数据量的情况下使用智能表达式生成方式可节省数据开发人员大量的时间,在大数据量的情况下使用精准匹配可极大的优化系统性能;在数据开发人员生成调试其解析函数时,提供了极大的便利,通过将消费端加入不同的分组以实现真实数据下的测试环境,从而保证了数据开发人员解析规则,数据源,数据转换方式的正确性。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种基于流式处理的日志数据处理系统,其特征在于,包括:
规则配置模块,用于在对数据开发人员友好的界面上配置日志流程处理的处理参数;
策略提测模块,用于调用后台提供的模拟处理器对日志解析函数以及日志源进行数据测试;
可视化模块,用于以Vue框架为基础搭建可视化交互界面,以与数据开发人员进行交互;
处理器添加模块,用于分发日志数据处理任务至流式处理引擎集群上进行执行;
数据解析模块,用于调用流式处理引擎以依据配置的处理流程对数据进行正式的处理解析,通过Grok函数解析的方式将所述数据从无结构数据转化为有结构数据;以及
数据转换模块,用于对所述有结构数据中的字段进行匹配,并按照配置规则进行数据的转换。
2.根据权利要求1所述的系统,其特征在于,所述处理参数包括选择日志源、选择日志处理解析函数、选择处理后的目标库,其中,所述选择日志处理解析函数由智能表达式或者用户自定义表达式生成。
3.根据权利要求2所述的系统,其特征在于,其中,所述选择日志处理解析函数由智能表达式生成具体为:
通过定位前端传入基于测试日志字符串划动产生的start和end下标,并根据start和end下标生成一个区间Tab标记,对所述区间Tab标记中的内容使用通用表达式进行匹配,如果在传入时同时传入了名称,则以数据开发人员传入的名称进行命名,并采用与原字符串相同位置的字符代替两个Tab中间的内容,以生成所述选择日志处理解析函数。
4.根据权利要求1所述的系统,其特征在于,所述数据转换模块进一步用于根据所述配置规则进行IP到地理位置转换、日期格式转换和标签字段添加。
5.根据权利要求1所述的系统,其特征在于,还包括:
异常数据处理模块,用于在数据解析的过程中判断出解析数据为空或者解析失败时,将无法解析的异常数据自动存入Elasticsearch。
6.一种基于流式处理的日志数据处理方法,其特征在于,包括以下步骤:
在对数据开发人员友好的界面上配置日志流程处理的处理参数;
调用后台提供的模拟处理器对日志解析函数以及日志源进行数据测试;
以Vue框架为基础搭建可视化交互界面,以与数据开发人员进行交互;
分发日志数据处理任务至流式处理引擎集群上进行执行;
调用流式处理引擎以依据配置的处理流程对数据进行正式的处理解析,通过Grok函数解析的方式将所述数据从无结构数据转化为有结构数据;以及
对所述有结构数据中的字段进行匹配,并按照配置规则进行数据的转换。
7.根据权利要求6所述的方法,其特征在于,所述处理参数包括选择日志源、选择日志处理解析函数、选择处理后的目标库,其中,所述选择日志处理解析函数由智能表达式或者用户自定义表达式生成。
8.根据权利要求7所述的方法,其特征在于,其中,所述选择日志处理解析函数由智能表达式生成具体为:
通过定位前端传入基于测试日志字符串划动产生的start和end下标,并根据start和end下标生成一个区间Tab标记,对所述区间Tab标记中的内容使用通用表达式进行匹配,如果在传入时同时传入了名称,则以数据开发人员传入的名称进行命名,并采用与原字符串相同位置的字符代替两个Tab中间的内容,以生成所述选择日志处理解析函数。
9.根据权利要求6所述的方法,其特征在于,所述对所述有结构数据中的字段进行匹配,并按照配置规则进行数据的转换进一步包括:
根据所述配置规则进行IP到地理位置转换、日期格式转换和标签字段添加。
10.根据权利要求6所述的方法,其特征在于,还包括:
在数据解析的过程中判断出解析数据为空或者解析失败时,将无法解析的异常数据自动存入Elasticsearch。
CN202010238775.8A 2020-03-30 2020-03-30 基于流式处理的日志数据处理系统及方法 Active CN111459984B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010238775.8A CN111459984B (zh) 2020-03-30 2020-03-30 基于流式处理的日志数据处理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010238775.8A CN111459984B (zh) 2020-03-30 2020-03-30 基于流式处理的日志数据处理系统及方法

Publications (2)

Publication Number Publication Date
CN111459984A CN111459984A (zh) 2020-07-28
CN111459984B true CN111459984B (zh) 2023-03-14

Family

ID=71680639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010238775.8A Active CN111459984B (zh) 2020-03-30 2020-03-30 基于流式处理的日志数据处理系统及方法

Country Status (1)

Country Link
CN (1) CN111459984B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113032341A (zh) * 2021-02-09 2021-06-25 中通服创发科技有限责任公司 一种基于可视化配置的日志处理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294673B (zh) * 2016-08-08 2020-04-24 杭州玳数科技有限公司 一种用户自定义规则实时解析日志数据的方法与系统
CN106682097B (zh) * 2016-12-01 2020-06-05 北京奇虎科技有限公司 一种处理日志数据的方法和装置
US10740170B2 (en) * 2016-12-08 2020-08-11 Nec Corporation Structure-level anomaly detection for unstructured logs
CN107451034A (zh) * 2017-08-17 2017-12-08 浪潮软件股份有限公司 一种大数据集群日志管理装置、方法及系统
CN109902020A (zh) * 2019-03-13 2019-06-18 中南大学 一种用于持续监控自动化测试生成日志文件的可视化方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
阮晓龙等.基于ELK的Apache日志实时分析系统探索与分析模型研究.2020,第28卷(第1期),54-57页. *

Also Published As

Publication number Publication date
CN111459984A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
US7003781B1 (en) Method and apparatus for correlation of events in a distributed multi-system computing environment
US20030177417A1 (en) System and method for remote performance analysis and optimization of computer systems
EP4091059B1 (en) Intelligently fuzzing data to exercise a service
CN112394942B (zh) 基于云计算的分布式软件开发编译方法及软件开发平台
US20110016452A1 (en) Method and system for identifying regression test cases for a software
Chen et al. Coverage prediction for accelerating compiler testing
CN111158741B (zh) 监控业务模块对第三方类库依赖关系变化的方法及装置
CN111737033A (zh) 一种基于运行时图谱分析的微服务故障定位方法
CN111459698A (zh) 一种数据库集群故障自愈方法及装置
CN113946499A (zh) 一种微服务链路跟踪及性能分析方法、系统、设备及应用
Wang et al. A model-based framework for cloud API testing
CN111913824A (zh) 确定数据链路故障原因的方法及相关设备
CN111459984B (zh) 基于流式处理的日志数据处理系统及方法
Bielefeld Online performance anomaly detection for large-scale software systems
Wong et al. Applying design metrics to predict fault‐proneness: a case study on a large‐scale software system
CN105677569B (zh) 基于事件处理器的Android自动化测试工具及测试方法
CN112559525B (zh) 数据检查系统、方法、装置和服务器
US20030177414A1 (en) Model for performance tuning applications
CN116088846A (zh) 一种持续集成代码格式的处理方法、相关装置及设备
Saluja et al. Optimized approach for antipattern detection in service computing architecture
CN113254350A (zh) 一种Flink作业测试方法、装置、设备及存储介质
CN112685316A (zh) 代码执行路径的获取方法、装置、计算机设备及存储介质
WO2016190869A1 (en) Determining potential test actions
CN112506564A (zh) 一种用于建立控制流图的方法、系统和介质
WO2014142876A1 (en) Kernel functionality checker

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