1.本发明涉及大数据技术领域,具体而言,涉及一种分布式计算作业日志数据处理方法、系统、存储介质以及电子设备。
背景技术:
2.一般分布式实时计算引擎都是集群部署多台机器,计算作业会同时运行在多个计算节点,每个计算节点上运行的jvm虚拟机会产生两种日志,一种是计算引擎本身自带的系统日志(log),一种是运行在该节点的计算作业应用(app)产生的日志,而通常一个计算节点上会混合运行多个计算作业应用,所以会使系统日志和多份计算作业应用日志混合在同一份文件中。现有技术中,需要通过日志文件对计算作业应用进行监控和问题排查时,实时计算引擎会在计算作业运行完成后将日志异步上传到固定节点或者在web后台逐个对计算节点进行日志查询,但是当控制台日志输出较多时,上述方式容易出现加载显示时卡死,也存在无法灵活查看某一个计算作业应用自身的日志,以及无法对特定计算作业应用进行监控报警的问题,远不能满足业务需求。
技术实现要素:
3.为解决上述问题,本发明的目的在于提供一种能够实时的将计算节点的日志根据计算作业应用的不同进行日志标记和汇聚入库,并对不同计算作业应用的日志进行查找和搜索,以及根据计算作业应用的日志发现异常,并对异常作业进行监控和告警。
4.本发明提供了一种分布式计算作业日志数据处理方法,该方法包括:日志标记,针对分布式计算引擎的各个计算节点,将不同计算作业应用实时产生的日志根据唯一标识进行标记,每个计算作业应用具有一个唯一标识,并将各个计算作业应用进行标记后的计算作业应用日志和计算节点的系统日志同时输出;汇聚入库,针对分布式计算引擎的各个计算节点,将标记后的计算作业应用日志和系统日志采用消息队列采集,同时生成汇聚日志topic,并采用远程消息队列发送;消费所述汇聚日志topic,根据日志标识进行系统日志和计算作业应用日志拆分;并根据所述计算作业应用日志中计算作业应用的唯一标识,按照一个计算作业应用对应一份日志的粒度进行实时分流,并将分流后的日志利用搜索引擎进行索引数据入库,构建所述计算作业应用日志的日志搜索数据库。
5.作为本发明进一步的改进,所述将不同计算作业应用实时产生的日志根据唯一标识进行标记包括:针对所述计算任务应用的启动参数,通过jvm环境变量进行携带参数并透传到日志组件,然后在日志输出时进行拦截,补充所述唯一标志,并将补充所述唯一标志后的日志作为该计算任务应用的日志重新输出。
6.作为本发明进一步的改进,所述计算作业应用的唯一标识包括一个或多个标识码,当一个标识码不能区分多个计算作业应用时,则自定义标识码已将一个所述标识码扩
充至多个标识码,将所述多个标识码作为所述计算作业应用的唯一标识。
7.作为本发明进一步的改进,所述远程消息队列发送包括远程分布式配置中心,所述远程分布式配置中心包括配置日志信息输出的阈值开关和消息队列地址信息。
8.作为本发明进一步的改进,根据所述计算作业应用的唯一标识进行日志实时分流包括:查询数据库中是否存在所述计算作业应用的日志topic,若所述计算作业应用的日志topic不存在,则在数据库中创建所述计算作业应用的日志topic,并将所述计算作业应用的日志发送至相应的日志topic,完成计算作业应用日志的实时分流。
9.作为本发明进一步的改进,该方法还包括异常日志过滤,包括:针对每个所述计算作业应用的异常日志,根据异常日志的等级或者关键字进行过滤,将能够反馈所述计算作业应用运行异常的日志单独入库。
10.作为本发明进一步的改进,该方法还包括日志异常告警,包括:针对每个计算作业应用,配置异常告警规则,通过所述异常告警规则对所述计算作业应用的异常情况进行告警。
11.本发明提供了一种分布式计算作业日志数据处理系统,该系统包括:日志标记模块,其针对分布式计算引擎的各个计算节点,将不同计算作业应用实时产生的日志根据唯一标识进行标记,每个计算作业应用具有一个唯一标识,并将各个计算作业应用进行标记后的计算作业应用日志和计算节点的系统日志同时输出;汇聚入库模块,其针对分布式计算引擎的各个计算节点,将标记后的计算作业应用日志和系统日志采用消息队列采集,同时生成汇聚日志topic,并采用远程消息队列发送;消费所述汇聚日志topic,根据日志标识进行系统日志和计算作业应用日志拆分;并根据所述计算作业应用日志中计算作业应用的唯一标识,按照一个计算作业应用对应一份日志的粒度进行实时分流,并将分流后的日志利用搜索引擎进行索引数据入库,构建所述计算作业应用日志的日志搜索数据库。
12.作为本发明进一步的改进,所述日志标记模块将不同计算作业应用实时产生的日志根据唯一标识进行标记包括:针对所述计算任务应用的启动参数,通过jvm环境变量进行携带参数并透传到日志组件,然后在日志输出时进行拦截,补充所述唯一标志,并将补充所述唯一标志后的日志作为该计算任务应用的日志重新输出。
13.作为本发明进一步的改进,该系统还包括异常日志过滤模块,所述异常日志过滤模块针对每个所述计算作业应用的异常日志,根据异常日志的等级或者关键字进行过滤,将能够反馈所述计算作业应用运行异常的日志单独入库。
14.作为本发明进一步的改进,该系统还包括日志异常告警模块,包括:针对每个计算作业应用,配置异常告警规则,通过所述异常告警规则对所述计算作业应用的异常情况进行告警。
15.作为本发明进一步的改进,所述日志拆分模块将不同计算作业实时产生的日志根据唯一标识进行拆分,所述唯一标识包括一个或多个标识码,若采用一个标志码不能区分多个计算作业应用,则自定义扩充标识码,将多个标识码作为唯一标识。
16.作为本发明进一步的改进,所述汇聚入库模块采用远程消息队列发送,所述远程
消息队列发送包括远程分布式配置中心,所述远程分布式配置中心包括配置日志信息输出的阈值开关和消息队列地址信息。
17.作为本发明进一步的改进,所述汇聚入库模块根据所述计算作业的唯一标识进行日志实时分流包括:查询数据库中是否存在所述计算作业的日志topic,若所述计算作业的日志topic不存在,则在数据库中创建所述计算作业的日志topic,并将所述计算作业的日志发送至相应的日志topic,完成计算作业应用日志的实时分流。
18.本发明提供了一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器执行以实现上述分布式计算作业日志数据处理方法。
19.本发明提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行以实现上述分布式计算作业日志数据处理方法。
20.本发明的有益效果为:通过针对实时计算作业应用产生的日志,进行日志标记,将不同的计算作业应用产生的日志进行区分,有利于异常问题定位;利用高可用的日志采集方式,进行实时计算引擎的日志汇聚,提高了计算作业的稳定性和可用性;利用搜索引擎进行索引数据入库,构建搜索数据库,用于日常日志搜索,提高了日志查询效率。
21.针对每个计算作业应用的日志,进行异常日志过滤,能够减少异常日志检索耗时,有利于对异常日志进行监控;通过配置异常告警规则,对计算作业应用的异常情况进行告警,解决了实时计算引擎框架在日志汇聚、任务监控和运维等问题,提高了计算节点的稳定性以及可用性。
附图说明
22.图1为本发明实施例所述的一种分布式计算作业日志数据处理方法的流程示意图;图2为本发明实施例所述的一种分布式计算作业日志数据处理方法的日志汇聚、分流示意图;图3为本发明实施例所述的一种分布式计算作业日志数据处理系统的功能模块示意图;图4为本发明实施例所述的另一种分布式计算作业日志数据处理系统的功能模块示意图。
具体实施方式
23.下面将结合本发明实施例中的附图,对发明开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
24.需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后
……
),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
25.另外,在本发明的描述中,所用术语仅用于说明目的,并非旨在限制本公开的范
围。术语“包括”和/或“包含”用于指定元件、步骤、操作和/或组件的存在,但并不排除存在或添加一个或多个其他元件、步骤、操作和/或组件的情况。术语“第一”、“第二”等可能用于描述各种元件,不代表顺序,且不对这些元件起限定作用。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个及两个以上。这些术语仅用于区分一个元素和另一个元素。结合以下附图,这些和/或其他方面变得显而易见,并且,本领域普通技术人员更容易理解关于本发明实施例的说明。附图仅出于说明的目的用来描绘本公开实施例。本领域技术人员将很容易地从以下说明中认识到,在不背离本公开原理的情况下,可以采用本发明所示结构和方法的替代实施例。
26.本发明实施例所述的一种分布式计算作业日志数据处理方法,如图1-2所示,该方法包括:日志标记和汇聚入库;其中,日志标记包括:分布式计算引擎的各个计算节点,可采用收集插件收集各个计算节点的日志,将不同计算作业应用实时产生的日志根据唯一标识进行标记,每个计算作业应用具有一个唯一标识,并将各个计算作业应用进行标记后的计算作业应用日志和计算节点的系统日志同时输出;日志标记可以解决不同计算作业应用的日志进行区分的问题,否则一个计算节点上会多个计算作业应用的日志混在一起,无法进行拆分和异常问题定位。
27.汇聚入库包括:针对分布式计算引擎的各个计算节点,将标记后的计算作业应用日志和系统日志采用消息队列采集,同时生成汇聚日志topic,并采用远程消息队列发送。通过汇聚将不同计算节点上不同计算作业应用产生的日志汇聚,方便针对不同计算作业应用的日志进行管理、搜索和分析。消费生成的汇聚日志topic,根据日志标识进行系统日志和计算作业应用日志拆分;并根据计算作业应用日志中计算作业应用的唯一标识,按照一个计算作业应用对应一份日志的粒度进行实时分流,并将分流后的日志利用搜索引擎进行索引数据入库,构建计算作业应用日志的日志搜索数据库。根据不同计算作业应用的唯一标识进行日志实时分流,可以对大量的日志数据进行处理,提高日志处理效率;计算作业应用日志与计算节点产生的系统日志完全分离,不同的计算作业应用日志也是分开的,通过搜索引擎对计算作业应用日志进行索引查询,能够提高计算作业应用日志的查询效率和计算作业应用的异常问题定位。
28.一种可选的实施方式,将不同计算作业应用实时产生的日志根据唯一标识进行标记包括:运行在分布式计算引擎的各个计算节点的计算作业应用产会生的日志,一个计算节点上会混合运行多个计算作业应用,为了区分各个计算作业应用产会生的日志,需要对各个计算作业应用产会生的日志进行标记。计算引擎原本产生的计算作业应用日志是无法区分的,本实施例通过针对计算任务应用的启动参数,通过jvm环境变量进行携带参数并透传到日志组件,然后在日志输出时进行拦截,在原始的计算任务应用日志中补充唯一标志,并将补充唯一标志后的日志作为该计算任务应用的日志重新输出,这样输出的日志就可以按照不同的计算任务应用进行区分,方便后续日志检索和异常计算任务应用的定位。
29.一种可选的实施方式,计算作业应用的唯一标识包括一个或多个标识码,当采用一个标志码不能区分多个计算作业应用,则自定义标识码以将一个标识码扩充至多个标识码,将多个标识码作为计算作业应用的唯一标识。例如,apache flink、storm等实时计算引擎均会默认支持log4j的日志输出方式,需要自定义扩充标识码时,可以在日志中额外进行关键字段的填充,例如:主机ip、应用id、子任务id等;并可以通过修改java虚拟机的方式在
启动命令时增加系统变量。对于apache flink,容器id已存储在$ container_id 环境变量中,因此需要修改env.java.opts 使其包含以下额外的java属性,然后在日志配置中设置参数,将额外扩充标识码的日志输出,用于计算作业应用日志拆分,具体包括:启动命令增加:env.java.opts.taskmanager:
ꢀ‑
dyarncontainerid=$container_id ;env.java.opts.jobmanager:
ꢀ‑
dyarncontainerid=$container_id;日志配置增加:log4j.应用ender.kafka.layout.userfields=yarncontainerid:${yarncontainerid}。
30.一种可选的实施方式,如图2所示,针对分布式计算引擎的各个计算节点,将标记后的计算作业应用日志和系统日志采用消息队列采集,例如使用kafka-log4j-应用ender实现日志采集,并采用远程消息队列发送。远程消息队列发送包括远程分布式配置中心,远程分布式配置中心包括配置日志信息输出的阈值开关和消息队列地址信息。通过接入远程分布式配置中心,进行日志输出阈值开关以及消息队列地址信息的配置,可以做到及时停止、随时切换消息队列,能够做到动态可插拔,防止消息队列阻塞或者异常引起的集群灾难性故障。
31.一种可选的实施方式,如图2所示,针对分布式计算引擎的各个计算节点,根据计算作业应用的唯一标识进行日志实时分流包括:查询数据库中是否存在计算作业应用的日志topic,若计算作业应用的日志topic不存在,则在数据库中创建计算作业应用的日志topic,并将计算作业应用的日志发送至相应的日志topic,完成日志分流。例如,消费汇聚日志topic,利用apache flink sql进行计算作业id提取,先查询是否存在该计算作业应用id的topic,如果没有则创建,有则发送数据到该计算作业应用的topic,即可完成计算作业应用日志的实时分流。并可根据ip、容器id、日志类型等常用检索字段进行搜索数据库构建,用于日常日志搜索。
32.一种可选的实施方式,该实施方式的日志数据处理方法还包括异常日志过滤,异常过滤是针对每个计算作业应用的异常日志进行过滤,主要解决计算作业应用日志较大时,检索异常日志耗时的问题。针对不同计算作业应用产生的日志,建立异常日志数据库,并设定过滤规则,例如根据日志的等级或者关键字进行过滤,实现对实时收集的异常日志数据进行收集并单独入库,并可进一步匹配相应的异常日志处理规则,实现异常告警。
33.一种可选的实施方式,该实施方式的日志数据处理方法还包括日志异常告警,包括:针对每个计算作业应用,配置异常告警规则,通过异常告警规则对计算作业应用的异常情况进行监控预警。异常告警规则包括定义监控规则维度以及指标,例如:时间维度、日志类型维度等;其中,时间维度例如为:天、小时和分钟等;日志类型维度例如为:warn、error等,指标例如包括:次数、去重次数等。日志异常告警利用规则引擎自定义异常告警的明细数据计算,例如:“error”类型的日志每分钟出现10次则进行告警,实现对计算作业状态进行监控报警,提高分布式实时计算引擎的计算作业应用的稳定性以及可用性。
34.本发明实施例所述的一种分布式计算作业日志数据处理系统,如图3所示,该系统包括:日志标记模块和汇聚入库模块;其中,日志标记模块针对分布式计算引擎的各个计算节点,将不同计算作业应用实时产
生的日志根据唯一标识进行标记,每个计算作业应用具有一个唯一标识,并将各个计算作业应用进行标记后的计算作业应用日志和计算节点的系统日志同时输出,日志标记模块对日志进行标记可以解决不同计算作业应用的日志进行区分的问题,否则一个计算节点上会多个计算作业应用的日志混在一起,无法进行拆分和异常问题定位。
35.汇聚入库模块针对分布式计算引擎的各个计算节点,将标记后的计算作业应用日志和系统日志采用消息队列采集,同时生成汇聚日志topic,并采用远程消息队列发送;通过汇聚将不同计算节点上不同计算作业应用产生的日志汇聚,方便针对不同计算作业应用的日志进行管理、搜索和分析。
36.消费所述汇聚日志topic,根据日志标识进行系统日志和计算作业应用日志拆分;并根据所述计算作业应用日志中计算作业应用的唯一标识,按照一个计算作业应用对应一份日志的粒度进行实时分流,并将分流后的日志利用搜索引擎进行索引数据入库,构建所述计算作业应用日志的日志搜索数据库。根据不同计算作业应用的唯一标识进行日志实时分流,可以对大量的日志数据进行处理,提高日志处理效率;计算作业应用日志与计算节点产生的系统日志完全分离,通过搜索引擎对计算作业应用日志进行索引查询,能够提高计算作业应用日志的查询效率和计算作业应用的异常问题定位。
37.一种可选的实施方式,如图4所示,该实施例的日志数据处理系统还包括异常日志过滤模块,异常过滤模块是针对每个计算作业应用的异常日志进行过滤,主要解决计算作业应用日志较大时,检索异常日志耗时的问题。针对不同计算作业应用产生的日志,建立异常日志数据库,并设定过滤规则,例如根据日志的等级或者关键字进行过滤,实现对实时收集的异常日志数据进行收集并单独入库,并可进一步匹配相应的异常日志处理规则,实现异常告警。
38.一种可选的实施方式,如图4所示,该实施方式的日志数据处理系统还包括日志异常告警模块,包括:针对每个计算作业应用,配置异常告警规则,通过异常告警规则对所述计算作业应用的异常情况进行告警。异常告警规则包括定义监控规则维度以及指标,例如:时间维度、日志类型维度等;其中,时间维度例如为:天、小时和分钟等;日志类型维度例如为:warn、error等,常用的指标例如包括:次数、去重次数等。日志异常告警例如利用规则引擎自定义异常告警的明细数据计算,例如:“error”类型的日志每分钟出现10次则进行告警,实现对计算作业状态进行监控报警,提高分布式实时计算引擎的计算作业应用的稳定性以及可用性。
39.一种可选的实施方式,该实施方式的日志数据处理系统的日志拆分模块将不同计算作业应用实时产生的日志根据唯一标识进行拆分,唯一标识包括一个或多个标识码,若采用一个标志码不能区分多个计算作业应用,则自定义标识码以将一个标识码扩充至多个标识码,将多个标识码作为计算作业应用的唯一标识。例如,apache flink、storm等实时计算引擎均会默认支持log4j的日志输出方式,需要自定已扩孔标识码时,可以在日志中额外进行关键字段的填充,例如:主机ip、应用id、子任务id等;并可以通过修改java虚拟机的方式在启动命令时增加系统变量。对于apache flink,容器id已存储在$ container_id 环境变量中,因此需要修改env.java.opts 使其包含以下额外的java属性,然后在日志配置中设置参数,将额外扩充标识码的计算作业日志输出,用于计算作业应用日志拆分,具体包括:
启动命令增加:env.java.opts.taskmanager:
ꢀ‑
dyarncontainerid=$container_id ;env.java.opts.jobmanager:
ꢀ‑
dyarncontainerid=$container_id;日志配置增加:log4j.应用ender.kafka.layout.userfields=yarncontainerid:${yarncontainerid}。
40.一种可选的实施方式,针对分布式计算引擎的各个计算节点,将标记后的计算作业应用日志和系统日志采用消息队列采集,例如使用kafka-log4j-应用ender实现日志采集,并采用远程消息队列发送。消息队列远程发送包括远程分布式配置中心,远程分布式配置中心包括配置日志信息输出的阈值开关和消息队列地址信息。通过接入远程分布式配置中心,进行日志输出阈值开关以及消息队列地址信息的配置,可以做到及时停止、随时切换消息队列,能够做到动态可插拔,防止消息队列阻塞或者异常引起的集群灾难性故障。
41.一种可选的实施方式,该实施方式的日志数据处理系统的日志入库模块根据计算作业应用的唯一标识进行日志实时分流包括:查询数据库中是否存在所述计算作业应用的日志topic,若计算作业应用的日志topic不存在,则在数据库中创建计算作业应用的日志topic,并将计算作业应用的日志发送至相应的日志topic,完成日志分流。例如,消费汇聚日志topic,利用apache flink sql进行计算作业应用id提取,先查询是否存在该计算作业应用id的topic,如果没有则创建,有则发送数据到该计算作业应用的topic,即可完成计算作业应用日志的实时分流。并可根据ip、容器id、日志类型等常用检索字段进行搜索数据库构建,用于日常日志搜索。
42.本发明还涉及一种电子设备,包括服务器、终端等。该电子设备包括:至少一个处理器;与至少一个处理器通信连接的存储器;以及与存储介质通信连接的通信组件,所述通信组件在处理器的控制下接收和发送数据;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行以实现上述实施例中的方法。
43.在一种可选的实施方式中,存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现方法。
44.存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
45.一个或者多个模块存储在存储器中,当被一个或者多个处理器执行时,执行上述任意方法实施例中的方法。
46.上述产品可执行本技术实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本技术实施例所提供的方法。
47.本发明还涉及一种计算机可读存储介质,用于存储计算机可读程序,所述计算机
可读程序用于供计算机执行上述部分或全部的方法实施例。
48.即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
49.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
50.此外,本领域普通技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
51.本领域技术人员应理解,尽管已经参考示例性实施例描述了本发明,但是在不脱离本发明的范围的情况下,可进行各种改变并可用等同物替换其元件。另外,在不脱离本发明的实质范围的情况下,可进行许多修改以使特定情况或材料适应本发明的教导。因此,本发明不限于所公开的特定实施例,而是本发明将包括落入所附权利要求范围内的所有实施例。
技术特征:
1.一种分布式计算作业日志数据处理方法,其特征在于,该方法包括:日志标记,针对分布式计算引擎的各个计算节点,将不同计算作业应用实时产生的日志根据唯一标识进行标记,每个计算作业应用具有一个唯一标识,并将各个计算作业应用进行标记后的计算作业应用日志和计算节点的系统日志同时输出;汇聚入库,针对分布式计算引擎的各个计算节点,将标记后的计算作业应用日志和系统日志采用消息队列采集,同时生成汇聚日志topic,并采用远程消息队列发送;消费所述汇聚日志topic,根据日志标识进行系统日志和计算作业应用日志拆分;并根据所述计算作业应用日志中计算作业应用的唯一标识,按照一个计算作业应用对应一份日志的粒度进行实时分流,并将分流后的日志利用搜索引擎进行索引数据入库,构建所述计算作业应用日志的日志搜索数据库。2.根据权利要求1所述的方法,其特征在于,所述将不同计算作业应用实时产生的日志根据唯一标识进行标记包括:针对所述计算任务应用的启动参数,通过jvm环境变量进行携带参数并透传到日志组件,然后在日志输出时进行拦截,补充唯一标志,并将补充唯一标志后的日志作为该计算任务应用的日志重新输出。3.根据权利要求1或2所述的方法,其特征在于,所述计算作业应用的唯一标识包括一个或多个标识码,当一个标识码不能区分多个计算作业应用时,则自定义标识码以将一个所述标识码扩充至多个标识码,将所述多个标识码作为所述计算作业应用的唯一标识。4.根据权利要求1所述的方法,其特征在于,该方法还包括异常日志过滤,包括:针对每个所述计算作业应用的异常日志,根据异常日志的等级或者关键字进行过滤,将反馈所述计算作业应用运行异常的日志单独入库。5.根据权利要求4所述的方法,其特征在于,该方法还包括日志异常告警,包括:针对每个计算作业应用,配置异常告警规则,通过所述异常告警规则对所述计算作业应用的异常情况进行告警。6.一种分布式计算作业日志数据处理系统,其特征在于,该系统包括:日志标记模块,其针对分布式计算引擎的各个计算节点,将不同计算作业应用实时产生的日志根据唯一标识进行标记,每个计算作业应用具有一个唯一标识,并将各个计算作业应用进行标记后的计算作业应用日志和计算节点的系统日志同时输出;汇聚入库模块,其针对分布式计算引擎的各个计算节点,将标记后的计算作业应用日志和系统日志采用消息队列采集,同时生成汇聚日志topic,并采用远程消息队列发送;消费所述汇聚日志topic,根据日志标识进行系统日志和计算作业应用日志拆分;并根据所述计算作业应用日志中计算作业应用的唯一标识,按照一个计算作业应用对应一份日志的粒度进行实时分流,并将分流后的日志利用搜索引擎进行索引数据入库,构建所述计算作业应用日志的日志搜索数据库。7.根据权利要求6所述的系统,其特征在于,该系统还包括异常日志过滤模块,所述异常日志过滤模块针对每个所述计算作业应用的异常日志,根据异常日志的等级或者关键字进行过滤,将能够反馈所述计算作业应用运行异常的日志单独入库。8.根据权利要求6所述的系统,其特征在于,该系统还包括日志异常告警模块,包括:针对每个计算作业应用,配置异常告警规则,通过所述异常告警规则对所述计算作业应用的
异常情况进行告警。9.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器执行以实现如权利要求1-5中任一项所述的方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行以实现如权利要求1-5中任一项所述的方法。
技术总结
本发明公开了一种分布式计算作业日志数据处理方法和系统。该方法包括:日志标记,针对分布式计算引擎的各个计算节点,将不同计算作业应用实时产生的日志根据唯一标识进行标记;汇聚入库,将标记后的计算作业应用日志和系统日志采用消息队列采集,并根据日志标识进行日志拆分,按照一个计算作业应用对应一份日志的粒度进行实时分流,并将分流后的日志利用搜索引擎进行索引数据入库,构建计算作业应用日志的日志搜索数据库。本发明的有益效果为:通过针对实时计算作业产生的日志进行标识,区分不同的计算作业,利用高可用的日志采集方式,进行实时计算引擎的日志汇聚,并利用搜索引擎进行索引数据入库,用于日常日志搜索,提高了日志查询效率。志查询效率。志查询效率。
技术研发人员:朱辉 张涛 薛延波 赵鹏
受保护的技术使用者:北京华品博睿网络技术有限公司
技术研发日:2022.02.09
技术公布日:2022/3/8