CN113641549B - 任务监控方法、装置、电子设备和存储介质 - Google Patents
任务监控方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113641549B CN113641549B CN202110252613.4A CN202110252613A CN113641549B CN 113641549 B CN113641549 B CN 113641549B CN 202110252613 A CN202110252613 A CN 202110252613A CN 113641549 B CN113641549 B CN 113641549B
- Authority
- CN
- China
- Prior art keywords
- state information
- task
- running state
- pieces
- component
- 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 60
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012806 monitoring device Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012800 visualization Methods 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/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- 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/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及任务监管技术领域,具体公开了一种Kubernetes环境下的任务监控方法、装置、电子设备和存储介质,其中,Kubernetes环境下的任务监控方法包括:通过第一组件获取n个组件发出的n个运行状态信息,其中,所述n个组件为在Kubernetes环境下参与任务的生命周期的各个组件,所述n个运行状态信息用于标识所述n个运行状态信息对应的任务在生命周期中各个节点的运行状态,且所述n个组件与所述n个运行状态信息一一对应,n为大于或等于1的整数;根据所述n个运行状态信息对所述n个运行状态信息对应的任务的运行状态进行监控。
Description
技术领域
本发明涉及任务监管技术领域,具体涉及一种Kubernetes环境下的任务监控方法、装置、电子设备和存储介质。
背景技术
随着云计算技术的不断成熟,容器技术逐步成为业界的发展热点,各主流云计算平台也无一例外地迅速提供了容器服务,Kubernetes作为容器应用的管理中心,对集群内部所有容器的生命周期进行管理,结合自身的健康检查及错误恢复机制,实现了集群内部应用层的高可用性,容器集群提供强大便利的同时,如何有效地对集群内应用进行资源监控成为研究的重点。
目前,Kubernetes作为云原生架构的核心基础设施,已经成为云原生应用的编排、调度、部署的标准。Kubernetes可以承载无状态应用(Deployment)、有状态应用(StatefulSet)、一次性任务(Job)、周期性任务(CronJob)等各种类型的任务。
但是,在对任务的监控方面,传统的Kubernetes社区提供了kube-state-metrics、prometheus等组件对Kubernetes集群各种资源进行全面的监控。这对于有状态应用Deployment和无状态应用StatefulSet,kube-state-metrics的监控指标比较完善;而对于Job类型的任务,kube-state-metrics无法对其进行准且全面的监控。
发明内容
为了解决现有技术中存在的上述问题,本申请实施方式提供了一种Kubernetes环境下的任务监控方法、装置、电子设备和存储介质,可以实现对Job类型的任务的全面监控。
第一方面,本申请的实施方式提供了一种Kubernetes环境下的任务监控方法,包括:
通过第一组件获取n个组件发出的n个运行状态信息,其中,n个组件为在Kubernetes环境下参与任务的生命周期的各个组件,n个运行状态信息用于标识n个运行状态信息对应的任务在生命周期中各个节点的运行状态,且n个组件与n个运行状态信息一一对应,n为大于或等于1的整数;
根据n个运行状态信息对n个运行状态信息对应的任务的运行状态进行监控。
在本申请的实施方式中,第一组件为Kubernetes环境下的Logstash组件;
因此,通过第一组件获取n个组件发出的n个运行状态信息,包括:
调用Logstash组件通过消息队列获取n个组件发出的n个运行状态信息。
在本申请的实施方式中,在通过第一组件获取n个组件发出的n个运行状态信息之后,监控方法还包括:
通过第一组件将n个运行状态信息发送至数据库进行存储;
其中,数据库为ClickHouse。
在本申请的实施方式中,根据n个运行状态信息确定n个运行状态信息对应的任务的运行状态,包括:
通过Grafana对n个运行状态信息进行展示,从而实现对n个运行状态信息对应的任务的监控。
第二方面,本申请的实施方式提供了一种Kubernetes环境下的任务监控装置,包括:
获取模块,用于通过第一组件获取n个组件发出的n个运行状态信息,其中,n个组件为在Kubernetes环境下参与任务的生命周期的各个组件,n个运行状态信息用于标识n个运行状态信息对应的任务在生命周期中各个节点的运行状态,且n个组件与n个运行状态信息一一对应,n为大于或等于1的整数;
监控模块,用于根据n个运行状态信息对n个运行状态信息对应的任务的运行状态进行监控。
在本申请的实施方式中,第一组件为Kubernetes环境下的Logstash组件;
因此,在通过第一组件获取n个组件发出的n个运行状态信息方面,获取模块,具体用于:
调用Logstash组件通过消息队列获取n个组件发出的n个运行状态信息。
在本申请的实施方式中,监控装置还包括:
存储模块,用于在通过第一组件获取n个组件发出的n个运行状态信息之后,通过第一组件将n个运行状态信息发送至数据库进行存储;
其中,数据库为ClickHouse。
在本申请的实施方式中,在根据n个运行状态信息确定n个运行状态信息对应的任务的运行状态方面,监控模块,具体用于:
通过Grafana对n个运行状态信息进行展示,从而实现对n个运行状态信息对应的任务的监控。
第三方面,本申请实施方式提供一种电子设备,包括:处理器,处理器与存储器相连,存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序,以使得电子设备执行如第一方面的方法。
第四方面,本申请实施方式提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序使得计算机执行如第一方面的方法。
第五方面,本申请实施方式提供一种计算机程序产品,计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,计算机可操作来使计算机执行如第一方面的方法。
实施本申请实施方式,具有如下有益效果:
可以看出,在本申请实施方式中,通过获取参与Job类型的任务的生命周期中的各个节点的相关组件生成的运行状信息,对该任务的运行状态进行监控。相对于传统的kube-state-metrics、prometheus等组件,可以更加全面且精确的监控Job类型任务的运行状态,从而在出现异常时,及时的进行异常分析、定位及处理。
附图说明
为了更清楚地说明本申请实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施方式提供的一种Kubernetes环境下的任务监控方法的流程示意图;
图2为本申请实施方式提供的一种在Job类型的任务的等待中、运行中、执行完成时的监控的示意图;
图3为本申请实施方式提供的一种在Job类型的任务由于内存溢出、超时退出、返回码错误等各类异常的监控告警的示意图;
图4为本申请实施方式提供的一种对历史的明细Job任务进行分析查询的示意图;
图5为本申请实施方式提供的一种对任务的排队时长、实际执行时长进行监控的示意图
图6为本申请实施方式提供的一种对任务的内存进行监控和统计分析的示意图;
图7为本申请实施方式提供的一种Kubernetes环境下的任务监控装置的功能模块组成框图;
图8为本申请实施方式提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施方式”意味着,结合实施方式描述的特定特征、结果或特性可以包含在本申请的至少一个实施方式中。在说明书中的各个位置出现该短语并不一定均是指相同的实施方式,也不是与其它实施方式互斥的独立的或备选的实施方式。本领域技术人员显式地和隐式地理解的是,本文所描述的实施方式可以与其它实施方式相结合。
目前,对于Kubernetes环境,由于Kubernetes本身的功能缺失,kube-state-metrics组件无法区分Job类型的任务的Pending、Running等状态。在传统的监控中,无论Job类型的任务处于何种状态,Kubernetes均认为该Job类型的任务处于Running状态,即使该Job类型的任务处于Pending还未成功的状态。
同时,针对运行有大规模的Job类型的任务的场景(例如在AI审图项目,每天的Job类型的任务的数量高达数十万),Kubernetes的元数据存储ETCD无法满足此类场景的压力,所以Job类型的任务在运行完成之后的5Min之内会加入清理机制,避免对ETCD的压力。这导致kube-state-metrics组件对于Job类型的任务Complete的任务统计也是无效的。此外,由于无法区分Job类型的任务的实际运行状态,kube-state-metrics组件对于由内存溢出、超时导致失败的任务,也无法进行监控并报告。
基于此,本申请提出了一种在Kubernetes环境下对于Job类型的任务的监控方法,可以实现对Job类型的任务全面且精准的监控,具体如下:
参阅图1,图1为本申请实施方式提供的一种Kubernetes环境下的任务监控方法的流程示意图。该Kubernetes环境下的任务监控方法包括以下步骤:
101:通过第一组件获取n个组件发出的n个运行状态信息。
在本实施方式中,n个组件为在Kubernetes环境下参与任务的生命周期的各个组件。示例性的,n个组件可以包括:JobManager组件、JobWoker组件、Job容器和JobMonitor组件等。n个运行状态信息用于标识n个运行状态信息对应的任务在生命周期中各个节点的运行状态,且n个组件与n个运行状态信息一一对应,n为大于或等于1的整数。
示例性的,第一组件可以为Kubernetes环境下的Logstash组件,由Logstash组件通过消息队列获取n个组件发出的n个运行状态信息。
以下,将以某个Job类型的任务的整个生命周期为例,对步骤101的详细实现进行说明。
首先,由客户端将任务提交至Kubernetes环境下的JobManager组件,JobManager组件收到任务之后,将任务信息发送到RabbitMQ任务队列。同时,JobManager组件生成任务QUEUEING(排队中)的运行状态信息,并发送至到消息队列。
JobWoker组件持续对RabbitMQ任务队列进行监听,当发现RabbitMQ任务队列中收到任务信息后,JobWoker组件根据该任务信息创建新的Job,并调用Kubernetes接口,提交创建的新Job。同时,JobWoker组件生成任务创建中的运行状态信息,并发送至到消息队列。
Job容器等待Kubernetes调度、启动、并开始执行创建的Job任务,在Job任务开始执行时,Job容器生成任务RUNNING(运行中)的运行状态信息,并发送到消息队列;在Job任务运行完成时,Job容器生成任务SUCCESS(运行成功)的运行状态信息,并发送到消息队列。
JobMonitor组件在Job任务运行中时对Job任务进行实时监控,在Job任务由于超时、OOM溢出等原因运行失败时,生成任务FAILED(失败)的运行状态信息,并发送到消息队列。
最后,由Logstash组件实时收集消息队列中的运行状态信息。
在可选的实施方式中,JobMonitor组件使用开源Kubernetes客户端组件进行开发,由此,可以保证任务即使因OOM内存溢出、超时退出等错误,JobMonitor组件也能够产生相应的运行状态信息。
此外,在Job任务在运行中,需要产生运行状态信息、内存占用信息,在本实施方式中,提供了一种实现产生运行状态信息、内存占用信息的关键逻辑,具体如下:
在可选的实施方式中,运行状态信息可以是Event事件,由此,Job任务的生命周期中,提交排队、任务执行、任务完成、内存占用、执行时长等各个时期的数据均以Event事件的形式实时输出到消息队列,使涉及Job生命周期的任何事件都可以被捕捉到,实现了对Job任务的全面监管。
102:根据n个运行状态信息对n个运行状态信息对应的任务的运行状态进行监控。
在本实施方式中,在步骤102之前,还可以通过第一组件将n个运行状态信息发送至数据库进行存储。由此,可以通过诸如Grafana的可视化工具,对n个运行状态信息进行展示,从而实现对n个运行状态信息对应的任务的监控。
示例性的,沿用上述Job任务的示例,在Logstash组件实时收集消息队列中的运行状态信息之后,Logstash组件可以将收集到的运行状态信息发送到ClickHouse中存储。
具体而言,Logstash组件可以监听RabbitMQ数据源并将数据实时ETL抽取到ClickHouse(以HTTP形式输出到ClickHouse),在本实施方式中,提供了一种实现上述抽取的关键逻辑,具体如下:
在本实施方式中,将运行状态数据存储至ClickHouse后,可以通过在Grafana中配置ClickHouse数据源、各类监控仪表盘、各类告警仪表盘,从而将ClickHouse中的各类运行状态信息根据其来源选取不同的监控仪表盘或告警仪表盘进行展示。
在本实施方式中,各类仪表盘需要编写相应的查询SQL完成,示例性的,查询最终排队中的任务情况的查询SQL关键逻辑如下:
由此,本申请提供的Kubernetes环境下的任务监控方法支持在Job类型的任务的等待中、运行中、执行完成时的监控,如图2所示;同时,也支持在Job类型的任务由于内存溢出、超时退出、返回码错误等各类异常的监控告警,如图3所示。
同时,由于所有任务的运行状态信息均存储在ClickHouse中,本申请提供的Kubernetes环境下的任务监控方法支持对历史的明细Job任务进行分析查询,如图4所示,图4示出了一种查询过去24H内的所有异常任务的示意图。同样的,本申请提供的Kubernetes环境下的任务监控方法还支持对任务的排队时长、实际执行时长进行监控,如图5所示;以及支持对任务的内存进行监控和统计分析,如图6所示。
此外,在可选的实施方式中,ClickHouse的数据存储空间如果受限,可以针对数据表数据设置TTL(即过期自动清理),从而定期清理一些较长时间的运行状态信息,由此,可以保证大数据组件基本处于免运维状态。
可以看出,在本申请实施方式中,通过获取参与Job类型的任务的生命周期中的各个节点的相关组件生成的运行状信息,对该任务的运行状态进行监控。相对于传统的kube-state-metrics、prometheus等组件,可以更加全面且精确的监控Job类型任务的运行状态,从而在出现异常时,及时的进行异常分析、定位及处理。同时,通过参与Job类型的任务的生命周期中的各个节点的相关组件,将Job类型的任务各个节点的运行状态信息发送至消息队列,再由Logstash组件从消息队列进行拉取,实现了对大规模的Job类型的任务执行场景下的实时监控告警。此外,本申请所提供的Kubernetes环境下的任务监控方法,逻辑简单、易于实现,可以节省大量的资源成本。
在可选的实施方式中,运维状态信息可以包括对应任务的任务标识、对应时期的时期标识和时间戳。基于此,步骤102还可以通过以下方式实现:
首先,在任务被提交至JobManager组件后,系统可以根据该任务的信息,预先预测该任务会经过的节点,从而预测该任务对应的运行状态信息的数量。
然后,对接收到的运行状态信息,按照其自身携带的任务标识进行分类。在检测到某个任务的任务结束状态信息后,判定接收到的该任务的运行状态信息的数量与预测的数量是否一致。若一致,则可以不用对该任务的运行状态信息进行分析,直接判定任务运行正常。若不一致,则对接收到的运行状态信息进行分析,确定是否出现异常情况。
由此,可以实现对任务的快速分析,提高了Kubernetes环境下对Job类型的任务的监控效率。
此外,在分析过程中,可以通过时间戳判定任务在运行过程中是否出现异常。示例性的,在预测接受到的任务会经过的节点时,还可以对其在每个节点的运行时间进行预测。由此,根据每个运行状态信息的时间戳,可以得到该任务在每个节点所运用的时间。结合事先预测的时间可以对出现异常的节点进行快速定位。
具体而言,假定客户端提交了任务A,在接收到任务A后,根据任务A的任务信息对其经过的节点及每个节点所需的运行时间进行预测,得到:(节点1,2s)、(节点2,4s)、(节点3,10s)和(节点4,3s)共4对节点-时间信息。在任务结束后,确认收到的运行状态信息为(接收,2021.02.21-10:20:00)、(创建,2021.02.21-10:20:02)、(开始运行,2021.02.21-10:20:06)和(任务结束,2021.02.21-10:20:36)。由此,可以看出该任务在节点3时的实际运行时间为30s,远大于预测的10s,因此,可以初步判定在该环节中,可能存在相关异常,优先对该环节的任务状态信息进行分析。
参阅图7,图7为本申请实施方式提供的一种Kubernetes环境下的任务监控装置的功能模块组成框图。如图7所示,该Kubernetes环境下的任务监控装置700包括:
获取模块701,用于通过第一组件获取n个组件发出的n个运行状态信息,其中,n个组件为在Kubernetes环境下参与任务的生命周期的各个组件,n个运行状态信息用于标识n个运行状态信息对应的任务在生命周期中各个节点的运行状态,且n个组件与n个运行状态信息一一对应,n为大于或等于1的整数;
监控模块702,用于根据n个运行状态信息对n个运行状态信息对应的任务的运行状态进行监控。
在本发明的实施方式中,第一组件为Kubernetes环境下的Logstash组件;
因此,在通过第一组件获取n个组件发出的n个运行状态信息方面,获取模块701,具体用于:
调用Logstash组件通过消息队列获取n个组件发出的n个运行状态信息。
在本发明的实施方式中,监控装置还包括:
存储模块703,用于在通过第一组件获取n个组件发出的n个运行状态信息之后,通过第一组件将n个运行状态信息发送至数据库进行存储;
其中,数据库可以为ClickHouse。
在本发明的实施方式中,在根据n个运行状态信息确定n个运行状态信息对应的任务的运行状态方面,监控模块702,具体用于:
通过Grafana对n个运行状态信息进行展示,从而实现对n个运行状态信息对应的任务的监控。
参阅图8,图8为本申请实施方式提供的一种电子设备的结构示意图。如图8所示,电子设备800包括收发器801、处理器802和存储器803。它们之间通过总线804连接。存储器803用于存储计算机程序和数据,并可以将存储器803存储的数据传输给处理器802。
处理器802用于读取存储器803中的计算机程序执行以下操作:
通过第一组件获取n个组件发出的n个运行状态信息,其中,n个组件为在Kubernetes环境下参与任务的生命周期的各个组件,n个运行状态信息用于标识n个运行状态信息对应的任务在生命周期中各个节点的运行状态,且n个组件与n个运行状态信息一一对应,n为大于或等于1的整数;
根据n个运行状态信息对n个运行状态信息对应的任务的运行状态进行监控。
在本发明的实施方式中,第一组件为Kubernetes环境下的Logstash组件;
因此,在通过第一组件获取n个组件发出的n个运行状态信息方面,处理器802,具体用于执行以下操作:
调用Logstash组件通过消息队列获取n个组件发出的n个运行状态信息。
在本发明的实施方式中,在通过第一组件获取n个组件发出的n个运行状态信息之后,监控方法还包括:
通过第一组件将n个运行状态信息发送至数据库进行存储;
其中,数据库可以为ClickHouse。
在本发明的实施方式中,在根据n个运行状态信息确定n个运行状态信息对应的任务的运行状态方面,处理器802,具体用于执行以下操作:
通过Grafana对n个运行状态信息进行展示,从而实现对n个运行状态信息对应的任务的监控。
应理解,本申请中Kubernetes环境下的任务监控装置可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备MID(Mobile Internet Devices,简称:MID)或穿戴式设备等。上述Kubernetes环境下的任务监控装置仅是举例,而非穷举,包含但不限于上述Kubernetes环境下的任务监控装置。在实际应用中,上述Kubernetes环境下的任务监控装置还可以包括:智能车载终端、计算机设备等等。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。
因此,本申请实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如上述方法实施方式中记载的任何一种Kubernetes环境下的任务监控方法的部分或全部步骤。例如,所述存储介质可以包括硬盘、软盘、光盘、磁带、磁盘、优盘、闪存等。
本申请实施方式还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施方式中记载的任何一种Kubernetes环境下的任务监控方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于可选实施方式,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施方式中,对各个实施方式的描述都各有侧重,某个实施方式中没有详述的部分,可以参见其他实施方式的相关描述。
在本申请所提供的几个实施方式中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施方式的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施方式进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施方式的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种Kubernetes环境下的任务监控方法,其特征在于,所述监控方法包括:
通过第一组件获取n个组件发出的n个运行状态信息,其中,所述n个组件为在Kubernetes环境下参与任务的生命周期的各个组件,所述n个运行状态信息用于标识所述n个运行状态信息对应的任务在生命周期中各个节点的运行状态,且所述n个组件与所述n个运行状态信息一一对应,n为大于或等于1的整数;
根据所述n个运行状态信息对所述n个运行状态信息对应的任务的运行状态进行监控;
其中,所述n个组件包括:JobManager组件、JobWoker组件、Job容器和JobMonitor组件;
所述通过第一组件获取n个组件发出的n个运行状态信息,包括:
所述JobManager组件接收到任务后,将任务信息发送到RabbitMQ任务队列,并生成任务QUEUEING的运行状态信息,发送至到消息队列;
所述JobWoker组件对所述RabbitMQ任务队列进行监听,当所述RabbitMQ任务队列中收到所述任务信息后,所述JobWoker组件根据所述任务信息创建新的Job任务,并生成任务创建中的运行状态信息,发送至到所述消息队列;
所述Job容器在所述Job任务开始执行时,生成任务RUNNING的运行状态信息,发送到所述消息队列;所述Job容器在所述Job任务运行完成时,生成任务SUCCESS的运行状态信息,发送到所述消息队列;
所述JobMonitor组件在所述Job任务运行中时对所述Job任务进行监控,在所述Job任务运行失败时,生成任务FAILED的运行状态信息,发送到所述消息队列。
2.根据权利要求1所述的监控方法,其特征在于,
所述第一组件为所述Kubernetes环境下的Logstash组件;
所述通过第一组件获取n个组件发出的n个运行状态信息,包括:
调用所述Logstash组件通过消息队列获取所述n个组件发出的所述n个运行状态信息。
3.根据权利要求1所述的监控方法,其特征在于,在所述通过第一组件获取n个组件发出的n个运行状态信息之后,所述监控方法还包括:
通过所述第一组件将所述n个运行状态信息发送至数据库进行存储;
其中,所述数据库为ClickHouse。
4.根据权利要求3所述的监控方法,其特征在于,所述根据所述n个运行状态信息确定所述n个运行状态信息对应的任务的运行状态,包括:
通过Grafana对所述n个运行状态信息进行展示,从而实现对n个运行状态信息对应的任务的监控。
5.一种Kubernetes环境下的任务监控装置,其特征在于,所述监控装置包括:
获取模块,用于通过第一组件获取n个组件发出的n个运行状态信息,其中,所述n个组件为在Kubernetes环境下参与任务的生命周期的各个组件,所述n个运行状态信息用于标识所述n个运行状态信息对应的任务在生命周期中各个节点的运行状态,且所述n个组件与所述n个运行状态信息一一对应,n为大于或等于1的整数;
监控模块,用于根据所述n个运行状态信息对所述n个运行状态信息对应的任务的运行状态进行监控;
其中,所述n个组件包括:JobManager组件、JobWoker组件、Job容器和JobMonitor组件;
在所述通过第一组件获取n个组件发出的n个运行状态信息方面,所述获取模块用于:
所述JobManager组件接收到任务后,将任务信息发送到RabbitMQ任务队列,并生成任务QUEUEING的运行状态信息,发送至到消息队列;
所述JobWoker组件对所述RabbitMQ任务队列进行监听,当所述RabbitMQ任务队列中收到所述任务信息后,所述JobWoker组件根据所述任务信息创建新的Job任务,并生成任务创建中的运行状态信息,发送至到所述消息队列;
所述Job容器在所述Job任务开始执行时,生成任务RUNNING的运行状态信息,发送到所述消息队列;所述Job容器在所述Job任务运行完成时,生成任务SUCCESS的运行状态信息,发送到所述消息队列;
所述JobMonitor组件在所述Job任务运行中时对所述Job任务进行监控,在所述Job任务运行失败时,生成任务FAILED的运行状态信息,发送到所述消息队列。
6.根据权利要求5所述的监控装置,其特征在于,
所述第一组件为所述Kubernetes环境下的Logstash组件;
在所述通过第一组件获取n个组件发出的n个运行状态信息方面,所述获取模块,具体用于:
调用所述Logstash组件通过消息队列获取所述n个组件发出的所述n个运行状态信息。
7.根据权利要求5所述的监控装置,其特征在于,所述监控装置还包括:
存储模块,用于在所述通过第一组件获取n个组件发出的n个运行状态信息之后,通过所述第一组件将所述n个运行状态信息发送至数据库进行存储;
其中,所述数据库为ClickHouse。
8.根据权利要求7所述的监控装置,其特征在于,在所述根据所述n个运行状态信息确定所述n个运行状态信息对应的任务的运行状态方面,所述监控模块,具体用于:
通过Grafana对所述n个运行状态信息进行展示,从而实现对n个运行状态信息对应的任务的监控。
9.一种电子设备,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置由处理器执行,一个或多个程序包括用于执行权利要求1-4任一项方法中的步骤的指令。
10.一种可读计算机存储介质,其特征在于,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行以实现如权利要求1-4任一项的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110252613.4A CN113641549B (zh) | 2021-03-08 | 2021-03-08 | 任务监控方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110252613.4A CN113641549B (zh) | 2021-03-08 | 2021-03-08 | 任务监控方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641549A CN113641549A (zh) | 2021-11-12 |
CN113641549B true CN113641549B (zh) | 2024-05-17 |
Family
ID=78415707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110252613.4A Active CN113641549B (zh) | 2021-03-08 | 2021-03-08 | 任务监控方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641549B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921551A (zh) * | 2018-06-11 | 2018-11-30 | 西安纸贵互联网科技有限公司 | 基于Kubernetes平台的联盟区块链系统 |
CN109271301A (zh) * | 2018-09-04 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种学习任务的监控方法和设备 |
CN109684158A (zh) * | 2018-09-07 | 2019-04-26 | 平安科技(深圳)有限公司 | 分布式协调系统的状态监控方法、装置、设备及存储介质 |
CN109743199A (zh) * | 2018-12-25 | 2019-05-10 | 中国联合网络通信集团有限公司 | 基于微服务的容器化管理系统 |
CN110535831A (zh) * | 2019-07-30 | 2019-12-03 | 平安科技(深圳)有限公司 | 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质 |
CN110888786A (zh) * | 2019-10-23 | 2020-03-17 | 湖北九州云仓科技发展有限公司 | 一种运维监控系统 |
CN111277460A (zh) * | 2020-01-17 | 2020-06-12 | 江苏满运软件科技有限公司 | 一种ZooKeeper容器化控制的方法、装置、存储介质及电子设备 |
CN111597032A (zh) * | 2020-05-26 | 2020-08-28 | 北京学之途网络科技有限公司 | 任务调度管理方法、装置及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10079719B2 (en) * | 2016-06-29 | 2018-09-18 | International Business Machines Corporation | Automatically tuning middleware in a mobilefirst platform running in a docker container infrastructure |
-
2021
- 2021-03-08 CN CN202110252613.4A patent/CN113641549B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921551A (zh) * | 2018-06-11 | 2018-11-30 | 西安纸贵互联网科技有限公司 | 基于Kubernetes平台的联盟区块链系统 |
CN109271301A (zh) * | 2018-09-04 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种学习任务的监控方法和设备 |
CN109684158A (zh) * | 2018-09-07 | 2019-04-26 | 平安科技(深圳)有限公司 | 分布式协调系统的状态监控方法、装置、设备及存储介质 |
CN109743199A (zh) * | 2018-12-25 | 2019-05-10 | 中国联合网络通信集团有限公司 | 基于微服务的容器化管理系统 |
CN110535831A (zh) * | 2019-07-30 | 2019-12-03 | 平安科技(深圳)有限公司 | 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质 |
CN110888786A (zh) * | 2019-10-23 | 2020-03-17 | 湖北九州云仓科技发展有限公司 | 一种运维监控系统 |
CN111277460A (zh) * | 2020-01-17 | 2020-06-12 | 江苏满运软件科技有限公司 | 一种ZooKeeper容器化控制的方法、装置、存储介质及电子设备 |
CN111597032A (zh) * | 2020-05-26 | 2020-08-28 | 北京学之途网络科技有限公司 | 任务调度管理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113641549A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9672085B2 (en) | Adaptive fault diagnosis | |
Iosup et al. | On the dynamic resource availability in grids | |
US7954011B2 (en) | Enabling tracing operations in clusters of servers | |
US10116534B2 (en) | Systems and methods for WebSphere MQ performance metrics analysis | |
CN107508722B (zh) | 一种业务监控方法和装置 | |
CN109388537B (zh) | 运行信息跟踪方法、装置及计算机可读存储介质 | |
CN107329877B (zh) | 机票业务监控执行系统及方法 | |
US20160274997A1 (en) | End user monitoring to automate issue tracking | |
CN109408341A (zh) | 分布式存储系统性能监控方法、装置、设备及可读存储介质 | |
CN109901889A (zh) | 基于j2ee平台的支撑业务系统运维的全链路监控方法 | |
Demirbaga et al. | Autodiagn: An automated real-time diagnosis framework for big data systems | |
CN117371715A (zh) | 3c电子制造行业生产计划生成方法、系统、设备及介质 | |
CN113641549B (zh) | 任务监控方法、装置、电子设备和存储介质 | |
CN110825466B (zh) | 一种程序卡顿的处理方法以及卡顿处理装置 | |
CN110928750B (zh) | 数据处理方法、装置及设备 | |
CN115525392A (zh) | 容器监控方法、装置、电子设备及存储介质 | |
CN108154343B (zh) | 一种企业级信息系统的应急处理方法及系统 | |
CN103246551A (zh) | 用于管理后台定时任务的设备和方法 | |
CN116126621A (zh) | 大数据集群的任务监控方法及相关设备 | |
CN113570347A (zh) | 一种面向微服务架构系统的rpa运维方法 | |
CN113407430A (zh) | 基于应用性能监控的单指标参数采集方法及装置 | |
CN112883253A (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN109614330A (zh) | 存储系统业务测试方法、装置、系统、存储控制器及介质 | |
CN110427294A (zh) | 系统集成环境监控方法、装置、可读存储介质和程序产品 | |
CN111737092B (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 |