基于消息队列实现的分布式监控方法、系统、设备及存储介质技术方案

技术编号:38283356 阅读:13 留言:0更新日期:2023-07-27 10:30
本发明专利技术公开了一种基于消息队列实现的分布式监控方法、系统、设备及存储介质,包括定义任务对应的监控规则;基于监控规则生成对应的定时任务调度表达式,并将定时任务调度表达式注册到分布式定时任务中;监听定时任务,并将定时任务触发后的运行状态发送到MQ任务状态监控队列;将定时任务触发后的运行状态与监控规则进行校验,若定时任务触发后的运行状态满足监控规则,则发送告警消息。本发明专利技术基于定义任务的监控规则以及对任务的监听,实现了自动监控,且出现问题会自动发送告警消息。且出现问题会自动发送告警消息。且出现问题会自动发送告警消息。

【技术实现步骤摘要】
基于消息队列实现的分布式监控方法、系统、设备及存储介质


[0001]本专利技术涉及监控平台
,尤其涉及一种基于消息队列实现的分布式监控方法、系统、设备及存储介质。

技术介绍

[0002]随着互联网的发展,大数据技术被越来越多的应用在我们生活中的诸多领域,而在大数据任务在持续运行过程中,通常都需要伴随着各种类型的监控需求,使得大数据任务能够平稳、正常的运行,然而现阶段大数据任务在生产环境中仍缺少可靠稳定的监控方案,通常借助运维人员手动排查和发现,往往效率底下且无法及时发现异常并处理;从而造成一些不必要的损失。

技术实现思路

[0003]针对上述问题中存在的不足之处,本专利技术提供一种基于消息队列实现的分布式监控方法、系统、设备及存储介质。
[0004]为实现上述目的,本专利技术提供一种基于消息队列实现的分布式监控方法,包括:
[0005]定义任务对应的监控规则;
[0006]基于所述监控规则生成对应的定时任务调度表达式,并将所述定时任务调度表达式注册到分布式定时任务中;
[0007]监听所述定时任务,并将所述定时任务触发后的运行状态发送到MQ任务状态监控队列;
[0008]将所述定时任务触发后的运行状态与所述监控规则进行校验,若所述定时任务触发后的运行状态满足所述监控规则,则发送告警消息。
[0009]优选的是,所述定时任务调度表达式包括离线任务的任务未完成运行、周期未完成运行根据设置的定时检查时间点生成调度表达式和实时任务的任务运行失败、任务重启次数、任务延迟运行根据设置的告警频率生成调度表达式。
[0010]优选的是,将所述定时任务触发后的运行状态与所述监控规则进行校验,若所述定时任务触发后的运行状态为超时未完成则发送到MQ延迟队列。
[0011]优选的是,所述MQ延迟队列中的所述定时任务触发后的运行状态间隔一定时间后,重新对所述定时任务触发后的运行状态进行校验。
[0012]优选的是,将所述定时任务触发后的运行状态包括离线任务周期未完成运行状态、离线任务未完成运行状态、实时任务失败运行状态、任务重启次数运行状态和任务延迟运行状态。
[0013]优选的是,所述告警消息通过短信、钉钉或邮件发送。
[0014]本专利技术还提供一种基于消息队列实现的分布式监控系统,包括:
[0015]定义模块,用于定义任务对应的监控规则;
[0016]定时模块,用于基于所述监控规则生成对应的定时任务调度表达式,并将所述定
时任务调度表达式注册到分布式定时任务中;
[0017]监听模块,用于监听所述定时任务,并将所述定时任务触发后的运行状态发送到MQ任务状态监控队列;
[0018]校验模块,用于将所述定时任务触发后的运行状态与所述监控规则进行校验,若所述定时任务触发后的运行状态满足所述监控规则,则发送告警消息。
[0019]本专利技术还提供一种设备,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行上述的方法。
[0020]本专利技术还提供一种存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行上述的方法。
[0021]与现有技术相比,本专利技术的有益效果为:
[0022]本专利技术基于定义任务的监控规则以及对任务的监听,实现了自动监控,且出现问题会自动发送告警消息。
附图说明
[0023]图1是本专利技术基于消息队列实现的分布式监控方法的流程图;
[0024]图2是本专利技术基于消息队列实现的分布式监控系统的架构图。
具体实施方式
[0025]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0026]参照图1,本专利技术提供一种基于消息队列实现的分布式监控方法,方法包括:
[0027]定义任务对应的监控规则;
[0028]具体地,户通过调用监控系统标准API对监控规则定制、修改、删除;监控系统会根据不同的规则提供不同的监控策略,即监控系统收到任务状态通知时,根据任务制定的监控规则去适配不同的处理器,任务包括任务未完成Processor、任务运行失败Processor、任务运行成功Processor、任务超时未完成Processor、实时任务运行失败Processor、实时任务延迟Processor、实时任务重启监控Processor,根据监控规则确定发送对象、发送频率、发送时间。
[0029]基于监控规则生成对应的定时任务调度表达式,并将定时任务调度表达式注册到分布式定时任务中;
[0030]具体地,定时任务调度表达式包括离线任务的任务未完成运行、周期未完成运行根据设置的定时检查时间点生成调度表达式和实时任务的任务运行失败、任务重启次数、任务延迟运行根据设置的告警频率生成调度表达式。根据定义监控规则后产生的定时任务,当到达指定时间就会主动触发监控运行,如用户指定了每天9:00执行监控。
[0031]监听定时任务,并将定时任务触发后的运行状态发送到MQ任务状态监控队列;
[0032]具体地,定时任务触发后的运行状态包括:任务运行失败、任务运行成功、任务运
行超时未完成。
[0033]将定时任务触发后的运行状态与监控规则进行校验,若定时任务触发后的运行状态满足监控规则,则发送告警消息。
[0034]具体地,根据调度表达式自动触发检查任务运行情况,检测到任务运行状态后启动监控规则的校验,如探测到离线任务周期未完成、未完成情况,或者实时任务失败、任务重启次数、任务延迟,若任务状态满足当前规则发送告警消息,告警消息会根据当前用户设置的发送渠道进行告警消息的发送,如短信、钉钉、邮件等。
[0035]在本实施例,将定时任务触发后的运行状态与监控规则进行校验,若定时任务触发后的运行状态为超时未完成则发送到MQ延迟队列。MQ延迟队列中的定时任务触发后的运行状态间隔一定时间后,重新对定时任务触发后的运行状态进行校验。
[0036]本专利技术还提供一种基于消息队列实现的分布式监控系统,包括:
[0037]定义模块,用于定义任务对应的监控规则;
[0038]定时模块,用于基于监控规则生成对应的定时任务调度表达式,并将定时任务调度表达式注册到分布式定时任务中;
[0039]监听模块,用于监听定时任务,并将定时任务触发后的运行状态发送到MQ任务状态监控队列;
[0040]校验模块,用于将定时任务触发后的运行状态与监控规则进行校验,若定时任务触发后的运行状态满足监控规则,则发送告警消息。
[0041]参照图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于消息队列实现的分布式监控方法,其特征在于,包括:定义任务对应的监控规则;基于所述监控规则生成对应的定时任务调度表达式,并将所述定时任务调度表达式注册到分布式定时任务中;监听所述定时任务,并将所述定时任务触发后的运行状态发送到MQ任务状态监控队列;将所述定时任务触发后的运行状态与所述监控规则进行校验,若所述定时任务触发后的运行状态满足所述监控规则,则发送告警消息。2.根据权利要求1所述的基于消息队列实现的分布式监控方法,其特征在于,所述定时任务调度表达式包括离线任务的任务未完成运行、周期未完成运行根据设置的定时检查时间点生成调度表达式和实时任务的任务运行失败、任务重启次数、任务延迟运行根据设置的告警频率生成调度表达式。3.根据权利要求1所述的基于消息队列实现的分布式监控方法,其特征在于,将所述定时任务触发后的运行状态与所述监控规则进行校验,若所述定时任务触发后的运行状态为超时未完成则发送到MQ延迟队列。4.根据权利要求3所述的基于消息队列实现的分布式监控方法,其特征在于,所述MQ延迟队列中的所述定时任务触发后的运行状态间隔一定时间后,重新对所述定时任务触发后的运行状态进行校验。5.根据权利要求4所述的基于消息队列实现的分布式监控方法,其特...

【专利技术属性】
技术研发人员:章利原攀峰陈廷梁陈廷权
申请(专利权)人:浙江数新网络有限公司
类型:发明
国别省市:

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

1