CN113342608B - 流式计算引擎任务的监控方法及装置 - Google Patents
流式计算引擎任务的监控方法及装置 Download PDFInfo
- Publication number
- CN113342608B CN113342608B CN202110639027.5A CN202110639027A CN113342608B CN 113342608 B CN113342608 B CN 113342608B CN 202110639027 A CN202110639027 A CN 202110639027A CN 113342608 B CN113342608 B CN 113342608B
- Authority
- CN
- China
- Prior art keywords
- delay
- task
- record
- time
- flink
- 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
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000002159 abnormal effect Effects 0.000 claims abstract description 31
- 238000013500 data storage Methods 0.000 claims description 20
- 238000012800 visualization Methods 0.000 claims description 13
- 238000012806 monitoring device Methods 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 abstract description 10
- 230000003111 delayed effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3017—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/18—Status alarms
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种流式计算引擎任务的监控方法及装置,该方法包括:按照第一时间步长,周期性获取Flink应用的应用标识;获取与应用标识对应的至少存在一个任务标识的任务标识列表;确定每个任务标识所对应的Flink任务,并基于各个Flink任务确定Flink应用的整体延迟时间;生成与整体延迟时间对应的延迟记录,并将延迟记录的状态标记为未读取状态后写入记录文件中;按照第二时间步长,周期性的调用监控模块读取记录文件中状态为未读取状态的延迟记录,判断读取到的各个延迟记录中是否存在延迟异常的延迟记录,若存在,则向告警模块发送生成的告警指令,使得告警模块进行告警。对延迟记录进行监控,以便在存在延迟异常时及时向工作人员进行告警。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种流式计算引擎任务的监控方法及装置。
背景技术
随着大数据的飞速发展,各种热门的开源社区技术开始应用在计算机行业中,具体如Hadoop、Storm、Spark以及Flink等,其中,Flink是一个针对流数据和批数据的分布式处理引擎,Flink是目前开源社区中唯一一套集高吞吐、低延迟、高性能三者于一身的分布式流式数据处理框架,因此,Flink成为在实时计算领域的各个用户的主流选择。
基于Flink构建的应用可称为Flink应用,Flink应用在运行时会执行与其对应的Flink任务来实现Flink应用的功能,其中,Flink任务还可称为流式计算引擎任务。Flink框架虽然包含了多种优点,但是Flink框架中针对任务执行延迟进行告警的手段并不完善,使得使用Flink框架构建的应用在运行时易出现任务长时间延迟的情况,且该情况无法及时得到解决的问题。
发明内容
有鉴于此,本发明提供一种流式计算引擎任务的监控方法及装置,用于监控流计算引擎任务,并在出现延迟异常的情况时及时进行告警,使得工作人员及时得知延迟异常的情况。
为实现上述目的,本发明实施例提供如下技术方案:
一种流式计算引擎任务的监控方法,包括:
按照预设的第一时间步长,周期性的获取Flink应用的应用标识;
获取与所述应用标识对应的任务标识列表,所述任务标识列表中包含至少一个任务标识;
确定每个所述任务标识所对应的Flink任务,并基于各个所述Flink任务确定所述Flink应用的整体延迟时间;
生成与所述整体延迟时间对应的延迟记录,将所述延迟记录的状态标记为未读取状态,并将标记后的延迟记录写入预设的记录文件中;
按照预设的第二时间步长,周期性的调用监控模块读取所述记录文件,使得所述监控模块获取所述记录文件中状态为未读取状态的各个延迟记录,将获取到的各个延迟记录的状态更新为已读取状态,并对获取到的各个延迟记录进行解析,以判断各个所述延迟记录中是否存在延迟异常的延迟记录,若存在延迟异常的延迟记录,则生成告警指令,并将所述告警指令发送至预设的告警模块,使得所述告警模块进行延迟告警。
上述的方法,可选的,还包括:
所述监控模块将获取到的各个延迟记录保存至预设的数据存储平台;
调用预设的可视化组件对所述数据存储平台中的各个延迟记录进行处理,使得所述可视化组件将所述数据存储平台中的各个延迟记录进行展示。
上述的方法,可选的,所述基于各个所述Flink任务确定所述Flink应用的整体延迟时间,包括:
在各个所述Flink任务中确定关键任务;
确定所述关键任务的任务水平线时间,以及确定执行所述关键任务的节点的当前时间;
基于所述当前时间和所述任务水平线时间,确定所述关键任务的第一延迟时间,并将所述第一延迟时间作为所述Flink应用的整体延迟时间。
上述的方法,可选的,所述基于各个所述Flink任务确定所述Flink应用的整体延迟时间,包括:
对于每个所述Flink任务,确定所述Flink任务的任务水平线时间和执行所述Flink任务的节点的当前时间,并基于所述任务水平线时间和所述当前时间,计算所述Flink任务的第二延迟时间;
对各个所述第二延迟时间进行加权平均运算,得到平均延迟时间,并将所述平均延迟时间作为所述Flink应用的整体延迟时间。
上述的方法,可选的,所述生成与所述整体延迟时间对应的延迟记录,包括:
采集执行所述关键任务的节点的节点信息;
将所述节点信息和所述第一延迟时间填入预设的第一记录模板中,得到与所述整体延迟时间对应的延迟记录。
上述的方法,可选的,所述生成与整体延迟时间对应的延迟记录,包括:
对于每个所述Flink任务,确定执行所述Flink任务的节点的节点信息;
将所述平均延迟时间以及每个所述Flink任务的节点信息和第二延迟时间写入预设的第二记录模板中,生成与所述整体延迟时间对应的延迟记录。
一种流式计算引擎任务的监控装置,包括:
第一获取单元,用于按照预设的第一时间步长,周期性的获取Flink应用的应用标识;
第二获取单元,用于获取与所述应用标识对应的任务标识列表,所述任务标识列表中包含至少一个任务标识;
确定单元,用于确定每个所述任务标识所对应的Flink任务,并基于各个所述Flink任务确定所述Flink应用的整体延迟时间;
生成单元,用于生成与所述整体延迟时间对应的延迟记录,将所述延迟记录的状态标记为未读取状态,并将标记后的延迟记录写入预设的记录文件中;
告警单元,用于按照预设的第二时间步长,周期性的调用监控模块读取所述记录文件,使得所述监控模块获取所述记录文件中状态为未读取状态的各个延迟记录,将获取到的各个延迟记录的状态更新为已读取状态,并对获取到的各个延迟记录进行解析,以判断各个所述延迟记录中是否存在延迟异常的延迟记录,若存在延迟异常的延迟记录,则生成告警指令,并将所述告警指令发送至预设的告警模块,使得所述告警模块进行延迟告警。
上述的装置,可选的,还包括:
保存单元,用于所述监控模块将获取到的各个延迟记录保存至预设的数据存储平台;
调用单元,用于调用预设的可视化组件对所述数据存储平台中的各个延迟记录进行处理,使得所述可视化组件将所述数据存储平台中的各个延迟记录进行展示。
上述的装置,可选的,所述确定单元,包括:
第一确定子单元,用于在各个所述Flink任务中确定关键任务;
第二确定子单元,用于确定所述关键任务的任务水平线时间,以及确定执行所述关键任务的节点的当前时间;
第三确定子单元,用于基于所述当前时间和所述任务水平线时间,确定所述关键任务的第一延迟时间,并将所述第一延迟时间作为所述Flink应用的整体延迟时间。
上述的装置,可选的,所述确定单元,包括:
第四确定子单元,用于对于每个所述Flink任务,确定所述Flink任务的任务水平线时间和执行所述Flink任务的节点的当前时间,并基于所述任务水平线时间和所述当前时间,计算所述Flink任务的第二延迟时间;
运算子单元,用于对各个所述第二延迟时间进行加权平均运算,得到平均延迟时间,并将所述平均延迟时间作为所述Flink应用的整体延迟时间。
上述的装置,可选的,所述生成单元,包括:
采集子单元,用于采集执行所述关键任务的节点的节点信息;
获得子单元,用于将所述节点信息和所述第一延迟时间填入预设的第一记录模板中,得到与所述整体延迟时间对应的延迟记录。
上述的装置,可选的,所述生成单元,包括:
第五确定子单元,用于对于每个所述Flink任务,确定执行所述Flink任务的节点的节点信息;
生成子单元,用于将所述平均延迟时间以及每个所述Flink任务的节点信息和第二延迟时间写入预设的第二记录模板中,生成与所述整体延迟时间对应的延迟记录。
与现有技术相比,本发明具有以下优点:
本发明提供一种流式引擎任务的监控方法及装置,该方法包括:按照第一时间步长,周期性获取Flink应用的应用标识;获取与应用标识对应的任务标识列表,任务标识列表中包含至少一个任务标识;确定每个任务标识所对应的Flink任务,并基于各个Flink任务确定Flink应用的整体延迟时间;生成与整体延迟时间对应的延迟记录,并将延迟记录的状态标记为未读取状态后写入记录文件中;按照第二时间步长,周期性的调用监控模块读取记录文件中状态为未读取状态的延迟记录,判断读取到的各个延迟记录中是否存在延迟异常的延迟记录,若存在,则向告警模块发送生成的告警指令,使得告警模块进行延迟告警。生成Flink应用的整体延迟时间的延迟记录,并监控延迟记录中是否存在异常的延迟记录,若存在,可及时向工作人员进行告警,以使工作人员及时解决延迟异常的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种流式计算引擎任务的监控方法的方法流程图;
图2为本发明实施例提供的一种流式计算引擎任务的监控方法的又一方法流程图;
图3为本发明实施例提供的一种流式计算引擎任务的监控方法的另一方法流程图;
图4为本发明实施例提供的一种流式计算引擎任务的监控装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了解决使用Flink框架构建的应用在运行时易出现任务长时间延迟而无法及时得到解决的情况,本发明提供了一种流式计算引擎任务的监控方法,该方法可应用于监控平台,该方法的执行主体可为监控平台中的处理器或服务器,参照图1,为本发明实施例提供的一种流式计算引擎任务的监控方法的方法流程图,相关说明如下所述:
S101、按照预设的第一时间步长,周期性的获取Flink应用的应用标识。
本发明实施例提供的方法中,监控平台按照预设的第一时间步长,周期性的获取Flink应用的应用标识,第一时间步长可基于实际需求进行设置,具体如2分钟,则每隔2分钟就获取一次Flink应用的应用标识;进一步的,应用标识为Flink应用的唯一身份标识,Flink应用为在Yarn集群上运行的Flink计算应用程序。
S102、获取与所述应用标识对应的任务标识列表,所述任务标识列表中包含至少一个任务标识。
基于应用标识,获取Flink应用的任务标识列表,任务标识列表存在列表标识,列表标识为任务标识列表的身份识别标识,其中,列表标识与Flink应用的应用标识存在关联,可将与应用标识一致的列表标识所对应的任务标识列表作为Flink应用的任务标识列表。
本发明的任务标识列表中包含至少一个任务标识,其中,任务标识为Flink应用的Flink任务的唯一身份标识。
S103、确定每个所述任务标识所对应的Flink任务,并基于各个所述Flink任务确定所述Flink应用的整体延迟时间。
确定每个任务标识所对应的Flink任务,Flink任务为Flink应用在运行时需要执行的任务或进程;基于各个Flink任务,确定Flink应用的整体延迟时间,整体延迟时间为时间长度,具体如5分钟、30秒等,整体延迟时间可用于表征Flink应用在执行的过程的延迟情况,整体延迟时间可用于后续判断Flink应用在执行的过程中出现的延迟是否异常。
S104、生成与所述整体延迟时间对应的延迟记录,将所述延迟记录的状态标记为未读取状态,并将标记后的延迟记录写入预设的记录文件中。
为该整体延迟时间生成对应的延迟记录,该延迟记录用于记录Flink应用在当前第一时间步长内的运行状况,将该延迟记录标记为未读取状态,并将标记后的延迟记录写入预设的记录文件中,其中,将该延迟记录标记为未读取状态用于表示该延迟记录尚未被读取。
记录文件用于保存记录Flink应用的运行状况的延迟记录,对本发明中的记录文件进行说明,记录文件中的延迟记录可以仅仅为未读取状态的延迟记录,即记录文件中不包含状态不为未读取状态的延迟记录;可选的,记录文件中可以保存多种状态的延迟记录,例如未读取状态的延迟记录和已读取状态的延迟记录。
S105、按照预设的第二时间步长,周期性的调用监控模块读取所述记录文件,使得所述监控模块获取所述记录文件中状态为未读取状态的各个延迟记录,将获取到的各个延迟记录的状态更新为已读取状态。
本发明提供的方法中,监控平台还可以按照预设的第二时间步长,周期性的调用监控模块读取记录文件,以使监控模块定时获取记录文件中状态为未读取状态的延迟记录,其中,第二时间步长可根据实际需求进行设置,优选的,第二时间步长大于或等于第一时间步长。在监控模块获取到记录文件中状态为未读取状态的延迟记录后,将获取到的各个延迟记录在记录文件中的状态更新为已读取状态。
S106、判断获取到的各个延迟记录中是否存在延迟异常的延迟记录,若存在延迟异常的延迟记录,则执行S107;若不存在延迟异常的延迟记录,则执行S108。
对获取到的各个延迟记录进行解析,以确定每个延迟记录中的整体延迟时间;判断获取到的各个延迟记录中是否存在延迟异常的延迟记录时,具体过程如下所述:
将每个所述延迟记录中的整体延迟时间与预设延迟时间进行比对,判断各个整体延迟时间中是否存在大于或等于预设延迟时间的整体延迟时间;
若各个整体延迟时间中存在大于或等于预设延迟时间的整体延迟时间,则确定各个延迟记录中存在延迟异常的延迟记录,并将大于或等于预设延迟时间的整体延迟时间所属的延迟记录确定为延时异常的延迟记录;此时可确定Flink应用存在延迟异常;
若各个整体延迟时间中不存在大于或等于预设延迟时间的整体延迟时间,则确定各个延迟记录中不存在延迟异常的延迟记录,并将各个延迟记录均确定为延迟正常的延迟记录;此时可确定Flink应用不存在延迟异常。
本发明中的预设延迟时间为时间长度,例如2分钟,或是1分钟,预设延迟时间可根据实际需求进行设置。
S107、生成告警指令,并将所述告警指令发送至预设的告警模块,使得所述告警模块进行延迟告警。
在各个延迟记录中存在延迟异常的延迟记录时,生成与该延迟异常的延迟记录对应的告警指令,其中,告警指令中包含延迟异常的延迟记录的信息,将所述告警指令发送至告警模块,使得告警模块进行延迟告警,其中告警模块进行告警的方式有多种,具体如发送告警短信、告警邮件或是发出告警警报声。告警模块进行延迟告警时,实际上也是进行延迟异常告警,从而及时告知工作人员Flink应用出现延迟异常,以便工作人员及时解决Flink应用的延迟异常的问题。
S108、生成监控正常记录,并将所述监控正常记录进行保存。
基于各个延迟正常的延迟记录的记录信息生成监控正常记录,将监控正常记录进行保存,以便后续进行查验。
本发明实施例提供的方法中,监控模块可将获取到的各个延迟记录保存至预设的数据存储平台中,其中,数据存储平台包括但不限于数据库和ES(Elastic Search,一个开源分布式搜索和数据分析引擎),ES用于保存、检索和分析数据。
监控模块在将延迟记录保存至数据存储平台后,可调用预设的可视化组件对数据存储平台中的各个延迟记录进行处理,使得可视化组件将所述数据存储平台中的各个延迟记录进行展示,其中,可视化组件将延迟记录进行展示时,可按照时间维度将每个延迟记录中的延迟时间进行绘制,进而展示整体的延迟情况。
本发明实施例提供的方法中,按照第一时间步长,周期性的获取Flink应用的应用标识;获取与应用标识对应的任务标识列表,任务标识列表中包含至少一个任务标识;确定每个任务标识所对应的Flink任务,并基于各个Flink任务确定Flink应用的整体延迟时间;生成与整体延迟时间对应的延迟记录,将延迟记录的状态标记为未读取状态,并将标记后的延迟记录写入预设的记录文件中;按照预设的第二时间步长,周期性的调用监控模块读取所述记录文件,使得所述监控模块获取所述记录文件中状态为未读取状态的各个延迟记录,将获取到的各个延迟记录的状态更新为已读取状态,并对获取到的各个延迟记录进行解析,以判断各个所述延迟记录中是否存在延迟异常的延迟记录,若存在延迟异常的延迟记录,则生成告警指令,并将所述告警指令发送至预设的告警模块,使得所述告警模块进行延迟告警。基于Flink应用的各个Flink任务,确定Flink应用的整体延迟时间,使用监控模块监控与整体延迟时间对应的延迟记录,并在存在延迟异常的延迟记录时,及时触发告警模块进行告警,以便工作人员能够及时发现问题。
参照图2,为本发明实例提供的一种基于各个Flink任务确定Flink应用的整体延迟时间的方法流程图,具体说明如下所述:
S201、在各个所述Flink任务中确定关键任务。
本发明实施例提供的方法中,在各个Flink任务中确定关键任务,其中,所述关键任务为各个Flink任务中最后执行的Flink任务,在确定关键任务时,可先获取每个Flink任务的执行时间,其中,执行时间为Flink任务被与其对应的Yarn集群的节点所执行的时间;确定最晚的执行时间,并将最晚的执行时间所对应的Flink任务确定为关键任务。
S202、确定所述关键任务的任务水平线时间,以及确定执行所述关键任务的节点的当前时间。
获取关键任务的任务水平线时间,其中,任务水平线时间为一个时间戳;确定执行所述关键任务的节点的当前时间,其中,节点的当前时间为节点的***时间。
S203、基于所述当前时间和所述任务水平线时间,确定所述关键任务的第一延迟时间,并将所述第一延迟时间作为所述Flink应用的整体延迟时间。
基于当前时间和任务水平线时间,计算出关键任务的第一延迟时间,并将第一延迟时间作为Flink应用的整体延迟时间,具体的,在计算关键任务的第一延迟时间时,可将当前时间减去任务水平线时间,得到第一延迟时间,本发明中的第一延迟时间为时间长度,例如1分钟、2分钟或是52秒等;第一延迟时间有可能是负数,如果第一延迟时间是负数,则表示关键任务在被节点执行时没有发生延迟;如果第一延迟时间是正数,则表示关键任务在被节点执行时发生了延迟。
本发明实施例提供的方法中,基于关键任务的任务时间线和执行关键任务的当前时间,确定Flink应用的整体延迟时间,由此可以准确的得到Flink应用在运行时的延迟状态,进而可通过整体延迟时间确定Flink应用是否出现延迟异常的情况。
在确定了Flink应用的整体延迟时间后,还需生成与整体延迟时间对应的延迟记录,具体的方式如:采集执行所述关键任务的节点的节点信息;将所述节点信息和所述第一延迟时间填入预设的第一记录模板中,得到与所述整体延迟时间对应的延迟记录。本发明中的第一记录模块具体为:<序号><节点信息><第一延迟时间>;其中,记录模板中的序号为生成延迟记录时为延迟记录分配的序号,该序号具有唯一性。使用第一记录模板可快速的生成与整体延迟时间对应的延迟记录,从而提高了对Flink应用监控的效率和简化对Flink应用监控的过程。
参照图3,为本发明实施例提供的又一种基于各个Flink任务确定Flink应用功能的整体延迟时间的方法流程图,具体说明如下所述:
S301、对于每个所述Flink任务,确定所述Flink任务的任务水平线时间和执行所述Flink任务的节点的当前时间,并基于所述任务水平线时间和所述当前时间,计算所述Flink任务的第二延迟时间。
本发明中的第二延迟时间的说明可参照图2中第一延迟时间的相关说明,第二延迟时间的计算过程与第一延迟时间的计算过程相同,此处不再对第二延迟时间进行说明。
S302、对各个所述第二延迟时间进行加权平均运算,得到平均延迟时间,并将所述平均延迟时间作为所述Flink应用的整体延迟时间。
对各个第二延迟时间进行加权平均运算的其中一种方式可为:将各个第二延迟时间进行求和运算,并将得到的时间数值除以第二延迟时间的个数,以得到平均延迟时间,将平均延迟时间作为所述Flink应用的整体延迟时间,其中,平均延迟时间为时间长度,具体如1分钟、2分钟或是40秒等。
通过对各个Flink任务的第二延迟时间进行加权平均运算,将得到的平均延迟时间作为Flink应用的整体延迟时间,使得Flink应用的整体延迟时间更具有代表性和普遍性,使得Flink应用的整体延迟时间更具有代表性。
在确定了Flink应用的整体延迟时间后,还需要生成与整体延迟时间对应的延迟记录,本发明提供一种基于各个Flink任务生成与整体延迟时间对应的延迟记录的方式,具体过程如下所述:对于每个所述Flink任务,确定执行所述Flink任务的节点的节点信息;将所述平均延迟时间以及每个所述Flink任务的节点信息和第二延迟时间写入预设的第二记录模板中,生成与所述整体延迟时间对应的延迟记录。
获取每个Flink任务所对应的节点的节点信息,将平均延迟时间、每个Flink任务的节点信息和第二延迟时间均写入预设的第二记录模板中,从而得到与整体延迟时间对应的延迟记录。
第二记录模板的具体可为:
<延迟记录编号><平均延迟时间>;
<任务序号><节点信息><第二延迟时间>;
进一步的,第二记录模板中的<延迟记录编号>用于记录延迟记录的编号,该编号为在生成延迟记录时为延迟记录分配的编号,该编号具有唯一性;其中,<任务序号><节点信息><第二延迟时间>用于对于一个Flink任务进行记录,其中,任务序号可为Flink任务的执行顺序或是Flink任务的任务序号,该序号对Flink任务而言具有唯一性,使用第二记录模板生成的延迟记录中有多条<任务序号><节点信息><第二延迟时间>。
本发明实施例提供的方法中,使用第二记录模板生成的延迟记录所记录的数据较为详细,为后续对Flink应用的监控提供了可靠、准确的数据支持,使得对Flink应用的监控更加的精确。
与图1相对应的,本发明实施例还提供一种流式计算引擎任务的监控装置,该装置应用在监控平台,用以支持本发明实施例提供的一种流式计算引擎任务的监控方法在现实中的应用。本发明实施例提供的装置的结构示意图如图4所示,具体说明如下所述:
第一获取单元401,用于按照预设的第一时间步长,周期性的获取Flink应用的应用标识;
第二获取单元402,用于获取与所述应用标识对应的任务标识列表,所述任务标识列表中包含至少一个任务标识;
确定单元403,用于确定每个所述任务标识所对应的Flink任务,并基于各个所述Flink任务确定所述Flink应用的整体延迟时间;
生成单元404,用于生成与所述整体延迟时间对应的延迟记录,将所述延迟记录的状态标记为未读取状态,并将标记后的延迟记录写入预设的记录文件中;
告警单元405,用于按照预设的第二时间步长,周期性的调用监控模块读取所述记录文件,使得所述监控模块获取所述记录文件中状态为未读取状态的各个延迟记录,将获取到的各个延迟记录的状态更新为已读取状态,并对获取到的各个延迟记录进行解析,以判断各个所述延迟记录中是否存在延迟异常的延迟记录,若存在延迟异常的延迟记录,则生成告警指令,并将所述告警指令发送至预设的告警模块,使得所述告警模块进行延迟告警。
本发明实施例提供的装置中,按照第一时间步长,周期性的获取Flink应用的应用标识;获取与应用标识对应的任务标识列表,任务标识列表中包含至少一个任务标识;确定每个任务标识所对应的Flink任务,并基于各个Flink任务确定Flink应用的整体延迟时间;生成与整体延迟时间对应的延迟记录,将延迟记录的状态标记为未读取状态,并将标记后的延迟记录写入预设的记录文件中;按照预设的第二时间步长,周期性的调用监控模块读取所述记录文件,使得所述监控模块获取所述记录文件中状态为未读取状态的各个延迟记录,将获取到的各个延迟记录的状态更新为已读取状态,并对获取到的各个延迟记录进行解析,以判断各个所述延迟记录中是否存在延迟异常的延迟记录,若存在延迟异常的延迟记录,则生成告警指令,并将所述告警指令发送至预设的告警模块,使得所述告警模块进行延迟告警。基于Flink应用的各个Flink任务,确定Flink应用的整体延迟时间,使用监控模块监控与整体延迟时间对应的延迟记录,并在存在延迟异常的延迟记录时,及时触发告警模块进行告警,以便工作人员能够及时发现并解决该Flink应用出现延迟异常的问题。
本发明实施例提供的装置中,该装置还包括:
保存单元,用于所述监控模块将获取到的各个延迟记录保存至预设的数据存储平台;
调用单元,用于调用预设的可视化组件对所述数据存储平台中的各个延迟记录进行处理,使得所述可视化组件将所述数据存储平台中的各个延迟记录进行展示。
本发明实施例提供的装置,所述确定单元403,可以配置为:
第一确定子单元,用于在各个所述Flink任务中确定关键任务;
第二确定子单元,用于确定所述关键任务的任务水平线时间,以及确定执行所述关键任务的节点的当前时间;
第三确定子单元,用于基于所述当前时间和所述任务水平线时间,确定所述关键任务的第一延迟时间,并将所述第一延迟时间作为所述Flink应用的整体延迟时间。
本发明实施例提供的装置,所述确定单元403,可以配置为:
第四确定子单元,用于对于每个所述Flink任务,确定所述Flink任务的任务水平线时间和执行所述Flink任务的节点的当前时间,并基于所述任务水平线时间和所述当前时间,计算所述Flink任务的第二延迟时间;
运算子单元,用于对各个所述第二延迟时间进行加权平均运算,得到平均延迟时间,并将所述平均延迟时间作为所述Flink应用的整体延迟时间。
本发明实施例提供的装置,所述生成单元404,可以配置为:
采集子单元,用于采集执行所述关键任务的节点的节点信息;
获得子单元,用于将所述节点信息和所述第一延迟时间填入预设的第一记录模板中,得到与所述整体延迟时间对应的延迟记录。
本发明实施例提供的装置,所述生成单元404,可以配置为:
第五确定子单元,用于对于每个所述Flink任务,确定执行所述Flink任务的节点的节点信息;
生成子单元,用于将所述平均延迟时间以及每个所述Flink任务的节点信息和第二延迟时间写入预设的第二记录模板中,生成与所述整体延迟时间对应的延迟记录。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述流式计算引擎任务的监控方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
按照预设的第一时间步长,周期性的获取Flink应用的应用标识;
获取与所述应用标识对应的任务标识列表,所述任务标识列表中包含至少一个任务标识;
确定每个所述任务标识所对应的Flink任务,并基于各个所述Flink任务确定所述Flink应用的整体延迟时间;
生成与所述整体延迟时间对应的延迟记录,将所述延迟记录的状态标记为未读取状态,并将标记后的延迟记录写入预设的记录文件中;
按照预设的第二时间步长,周期性的调用监控模块读取所述记录文件,使得所述监控模块获取所述记录文件中状态为未读取状态的各个延迟记录,将获取到的各个延迟记录的状态更新为已读取状态,并对获取到的各个延迟记录进行解析,以判断各个所述延迟记录中是否存在延迟异常的延迟记录,若存在延迟异常的延迟记录,则生成告警指令,并将所述告警指令发送至预设的告警模块,使得所述告警模块进行延迟告警。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***或***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的***及***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种流式计算引擎任务的监控方法,其特征在于,包括:
按照预设的第一时间步长,周期性的获取Flink应用的应用标识;
获取与所述应用标识对应的任务标识列表,所述任务标识列表中包含至少一个任务标识;
确定每个所述任务标识所对应的Flink任务,并基于各个所述Flink任务确定所述Flink应用的整体延迟时间;
生成与所述整体延迟时间对应的延迟记录,将所述延迟记录的状态标记为未读取状态,并将标记后的延迟记录写入预设的记录文件中;
按照预设的第二时间步长,周期性的调用监控模块读取所述记录文件,使得所述监控模块获取所述记录文件中状态为未读取状态的各个延迟记录,将获取到的各个延迟记录的状态更新为已读取状态,并对获取到的各个延迟记录进行解析,以判断各个所述延迟记录中是否存在延迟异常的延迟记录,若存在延迟异常的延迟记录,则生成告警指令,并将所述告警指令发送至预设的告警模块,使得所述告警模块进行延迟告警;
所述基于各个所述Flink任务确定所述Flink应用的整体延迟时间,包括:
在各个所述Flink任务中确定关键任务;
确定所述关键任务的任务水平线时间,以及确定执行所述关键任务的节点的当前时间;
基于所述当前时间和所述任务水平线时间,确定所述关键任务的第一延迟时间,并将所述第一延迟时间作为所述Flink应用的整体延迟时间。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述监控模块将获取到的各个延迟记录保存至预设的数据存储平台;
调用预设的可视化组件对所述数据存储平台中的各个延迟记录进行处理,使得所述可视化组件将所述数据存储平台中的各个延迟记录进行展示。
3.根据权利要求1所述的方法,其特征在于,所述基于各个所述Flink任务确定所述Flink应用的整体延迟时间,包括:
对于每个所述Flink任务,确定所述Flink任务的任务水平线时间和执行所述Flink任务的节点的当前时间,并基于所述任务水平线时间和所述当前时间,计算所述Flink任务的第二延迟时间;
对各个所述第二延迟时间进行加权平均运算,得到平均延迟时间,并将所述平均延迟时间作为所述Flink应用的整体延迟时间。
4.根据权利要求1所述的方法,其特征在于,所述生成与所述整体延迟时间对应的延迟记录,包括:
采集执行所述关键任务的节点的节点信息;
将所述节点信息和所述第一延迟时间填入预设的第一记录模板中,得到与所述整体延迟时间对应的延迟记录。
5.根据权利要求3所述的方法,其特征在于,所述生成与整体延迟时间对应的延迟记录,包括:
对于每个所述Flink任务,确定执行所述Flink任务的节点的节点信息;
将所述平均延迟时间以及每个所述Flink任务的节点信息和第二延迟时间写入预设的第二记录模板中,生成与所述整体延迟时间对应的延迟记录。
6.一种流式计算引擎任务的监控装置,其特征在于,包括:
第一获取单元,用于按照预设的第一时间步长,周期性的获取Flink应用的应用标识;
第二获取单元,用于获取与所述应用标识对应的任务标识列表,所述任务标识列表中包含至少一个任务标识;
确定单元,用于确定每个所述任务标识所对应的Flink任务,并基于各个所述Flink任务确定所述Flink应用的整体延迟时间;
生成单元,用于生成与所述整体延迟时间对应的延迟记录,将所述延迟记录的状态标记为未读取状态,并将标记后的延迟记录写入预设的记录文件中;
告警单元,用于按照预设的第二时间步长,周期性的调用监控模块读取所述记录文件,使得所述监控模块获取所述记录文件中状态为未读取状态的各个延迟记录,将获取到的各个延迟记录的状态更新为已读取状态,并对获取到的各个延迟记录进行解析,以判断各个所述延迟记录中是否存在延迟异常的延迟记录,若存在延迟异常的延迟记录,则生成告警指令,并将所述告警指令发送至预设的告警模块,使得所述告警模块进行延迟告警;
所述确定单元,包括:
第一确定子单元,用于在各个所述Flink任务中确定关键任务;
第二确定子单元,用于确定所述关键任务的任务水平线时间,以及确定执行所述关键任务的节点的当前时间;
第三确定子单元,用于基于所述当前时间和所述任务水平线时间,确定所述关键任务的第一延迟时间,并将所述第一延迟时间作为所述Flink应用的整体延迟时间。
7.根据权利要求6所述的装置,其特征在于,还包括:
保存单元,用于所述监控模块将获取到的各个延迟记录保存至预设的数据存储平台;
调用单元,用于调用预设的可视化组件对所述数据存储平台中的各个延迟记录进行处理,使得所述可视化组件将所述数据存储平台中的各个延迟记录进行展示。
8.根据权利要求6所述的装置,其特征在于,所述确定单元,包括:
第四确定子单元,用于对于每个所述Flink任务,确定所述Flink任务的任务水平线时间和执行所述Flink任务的节点的当前时间,并基于所述任务水平线时间和所述当前时间,计算所述Flink任务的第二延迟时间;
运算子单元,用于对各个所述第二延迟时间进行加权平均运算,得到平均延迟时间,并将所述平均延迟时间作为所述Flink应用的整体延迟时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110639027.5A CN113342608B (zh) | 2021-06-08 | 2021-06-08 | 流式计算引擎任务的监控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110639027.5A CN113342608B (zh) | 2021-06-08 | 2021-06-08 | 流式计算引擎任务的监控方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342608A CN113342608A (zh) | 2021-09-03 |
CN113342608B true CN113342608B (zh) | 2024-06-21 |
Family
ID=77475406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110639027.5A Active CN113342608B (zh) | 2021-06-08 | 2021-06-08 | 流式计算引擎任务的监控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342608B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115328974B (zh) * | 2022-10-12 | 2022-12-13 | 南斗六星***集成有限公司 | 一种数据实时性检测方法、装置、设备及可读存储介质 |
CN117408595B (zh) * | 2023-12-11 | 2024-04-30 | 上海文景信息科技有限公司 | 一种基于区块链的多式联运全程质控方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522719A (zh) * | 2020-04-27 | 2020-08-11 | 中国银行股份有限公司 | 大数据任务状态的监控方法及装置 |
CN111881011A (zh) * | 2020-07-31 | 2020-11-03 | 网易(杭州)网络有限公司 | 日志管理方法、平台、服务器及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130081001A1 (en) * | 2011-09-23 | 2013-03-28 | Microsoft Corporation | Immediate delay tracker tool |
CN109766198B (zh) * | 2018-12-28 | 2023-07-11 | 深圳前海微众银行股份有限公司 | 流式处理方法、装置、设备及计算机可读存储介质 |
CN110532152A (zh) * | 2019-08-05 | 2019-12-03 | 北明云智(武汉)网软有限公司 | 一种基于Kapacitor计算引擎的监控告警处理方法及*** |
CN112767080A (zh) * | 2021-01-19 | 2021-05-07 | 上海微盟企业发展有限公司 | 一种基于流式计算的告警方法、装置及介质 |
-
2021
- 2021-06-08 CN CN202110639027.5A patent/CN113342608B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522719A (zh) * | 2020-04-27 | 2020-08-11 | 中国银行股份有限公司 | 大数据任务状态的监控方法及装置 |
CN111881011A (zh) * | 2020-07-31 | 2020-11-03 | 网易(杭州)网络有限公司 | 日志管理方法、平台、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113342608A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110661659B (zh) | 一种告警方法、装置、***及电子设备 | |
CN110888783B (zh) | 微服务***的监测方法、装置以及电子设备 | |
CN113238913B (zh) | 服务器故障智能推送方法、装置、设备及存储介质 | |
US7409316B1 (en) | Method for performance monitoring and modeling | |
CN113342608B (zh) | 流式计算引擎任务的监控方法及装置 | |
CN110309130A (zh) | 一种用于主机性能监控的方法及装置 | |
CN106940677A (zh) | 一种应用日志数据告警方法及装置 | |
CN113190423B (zh) | 业务数据的监控方法、装置及*** | |
CN112311617A (zh) | 一种配置化数据监控告警方法及*** | |
CN111026621B (zh) | 面向Elasticsearch集群的监控报警方法、装置、设备、介质 | |
CN101252462B (zh) | 告警页面刷新方法以及服务器和客户端 | |
CN112636979B (zh) | 一种集群告警方法及相关装置 | |
CN114356499A (zh) | Kubernetes集群告警根因分析方法及装置 | |
CN113220534A (zh) | 集群多维度异常监控方法、装置、设备及存储介质 | |
CN106911519A (zh) | 一种数据采集监控方法及装置 | |
CN110674149B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN110363381B (zh) | 一种信息处理方法和装置 | |
CN111327466A (zh) | 一种告警分析方法、***、设备以及介质 | |
CN112685247B (zh) | 基于Zabbix监控***的告警抑制方法及监控*** | |
JP2008108154A (ja) | 稼働性能情報の管理システム | |
CN114116128B (zh) | 容器实例的故障诊断方法、装置、设备和存储介质 | |
CN112732517B (zh) | 一种磁盘故障告警方法、装置、设备及可读存储介质 | |
CN112732531A (zh) | 一种监控数据的处理方法及装置 | |
CN113254313A (zh) | 一种监控指标异常检测方法、装置、电子设备及存储介质 | |
CN115118575B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |