CN111639006A - 一种集群的进程管理方法及装置 - Google Patents
一种集群的进程管理方法及装置 Download PDFInfo
- Publication number
- CN111639006A CN111639006A CN202010471556.4A CN202010471556A CN111639006A CN 111639006 A CN111639006 A CN 111639006A CN 202010471556 A CN202010471556 A CN 202010471556A CN 111639006 A CN111639006 A CN 111639006A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- node
- cluster
- slave
- master
- 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.)
- Granted
Links
Images
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/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种集群的进程管理方法及装置,其中方法为:集群的主节点通过所述主节点的主监控进程获取所述集群的各节点的进程监控指标;所述主节点对所述各节点的进程监控指标进行聚类,得到至少一个聚类簇;所述主节点根据所述至少一个聚类簇中每个聚类簇的进程监控指标数目,确定所述至少一个聚类簇中每个聚类簇的进程监控指标的对应进程为正常进程或异常进程。
Description
技术领域
本发明涉及金融科技(Fintech)领域中的进程管理领域,尤其涉及一种集群的进程管理方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。金融机构由于要处理的数据量十分庞大,常运用到集群。集群中各节点都有运行的进程,做到对进程的有效管理,如及时排查各节点的异常进程,是维护金融机构正常运转的必要条件。
现有技术中,常通过集群的后台服务框架提供的进程管理工具,负责启动并停止集群的进程,然而后台服务框架提供的进程管理工具,只能对框架自身的进程进行管理,且很多开源项目的进程管理工具只是负责启动、停止和日志打印,不能监控进程。显然,目前的进程管理方法不具备普适性,且部分缺乏进程监控功能,这是一个亟待解决的问题。
发明内容
本发明提供一种集群的进程管理方法及装置,解决了现有技术中进程管理方法不具备普适性,且部分缺乏进程监控功能的问题。
第一方面,本发明提供一种集群的进程管理方法,包括:集群的主节点通过所述主节点的主监控进程获取所述集群的各节点的进程监控指标;所述主节点对所述各节点的进程监控指标进行聚类,得到至少一个聚类簇;所述主节点根据所述至少一个聚类簇中每个聚类簇的进程监控指标数目,确定所述至少一个聚类簇中每个聚类簇的进程监控指标的对应进程为正常进程或异常进程。
上述方法中,集群的主节点通过所述主节点的主监控进程获取所述集群的各节点的进程监控指标后,通过对进程监控指标进行聚类,从而通过进程监控指标的数目将正常进程和异常进程进行区分,从而能够监控进程,提供了一种具备普适性的进程管理方法。
可选的,所述主节点对所述各节点的进程监控指标进行聚类,得到至少一个聚类簇,包括:将所述各节点的进程监控指标的均值,作为各聚类簇的初始中心点;将所述各节点的进程监控指标作为各样本点,确定所述各样本点与所述各聚类簇的中心点的距离;根据所述各样本点与所述各聚类簇的中心点的距离,以及预设距离阈值,确定所述各样本点中是否存在不属于所述各聚类簇的样本点;若存在,则增加所述各聚类簇的数量,并在所述各样本点的最大值和最小值之间,设定所述各聚类簇的中心点,返回所述确定所述各样本点与所述各聚类簇的中心点的距离的步骤;若不存在,则根据所述各聚类簇的样本点,确定所述各聚类簇的中心点;若所述各聚类簇的中心点收敛,则将收敛时的所述各聚类簇作为所述至少一个聚类簇;若所述各聚类簇的中心点不收敛,则返回所述确定所述各样本点中是否存在不属于所述各聚类簇的样本点的步骤。
上述方法下,在确定所述至少一个聚类簇的过程中,会根据所述各样本点与所述各聚类簇的中心点的距离,以及预设距离阈值,确定所述各样本点中是否存在不属于所述各聚类簇的样本点,并在存在时,增加所述各聚类簇的数量,并重新设定所述各聚类簇的中心点,也就是说,聚类过程中的所述各聚类簇的数量是不断增加的,更细粒度地体现出不同类别的进程的差别,使得进程监控指标类似的正常进程尽可能的归为一类,因此在不存在时,则根据所述各聚类簇的样本点,确定所述各聚类簇的中心点直至收敛时的所述各聚类簇,从而收敛时的所述各聚类簇可以更准确地将正常进程和异常进程区分开。
可选的,所述集群的主节点通过所述主节点的主监控进程获取所述集群的各节点的进程监控指标;包括:所述主节点通过所述主监控进程,监听所述主节点的进程,获取所述主节点的进程监控指标;所述主节点通过所述主监控进程,向各从节点中的至少一个从节点的从监控进程发送执行请求,接收所述至少一个从节点的从监控进程发送的所述各从节点的进程监控指标;所述执行请求用于通过所述至少一个从节点的从监控进程生成所述各从节点的进程监控指标。
上述方法中,所述主节点通过所述主监控进程,监听所述主节点的进程,获取所述主节点的进程监控指标,或者向各从节点中的至少一个从节点的从监控进程发送执行请求,接收所述至少一个从节点的从监控进程发送的所述各从节点的进程监控指标,从而将所述集群的各节点的进程监控指标都聚集到主节点,便于统一管理进程监控指标。
可选的,所述至少一个从节点为所述各从节点;所述主节点通过所述主监控进程,向各从节点中的至少一个从节点的从监控进程发送执行请求,接收所述至少一个从节点的从监控进程发送的所述各从节点的进程监控指标;包括:所述主节点通过所述主监控进程向所述各从节点的从监控进程发送所述执行请求;所述执行请求具体用于:指示所述各从节点的从监控进程执行进程状态查询命令,从而生成所述各从节点的进程监控指标;所述主节点通过所述主监控进程,接收所述各从节点的从监控进程发送的进程监控指标。
上述方法中,所述至少一个从节点为所述各从节点,即各从节点上都存在从监控进程,从而当从节点的数量较少时,通过所述从节点的从监控进程可以迅速地收集所述从节点的进程监控指标。
可选的,所述至少一个从节点为所述各从节点中的各采集从节点;每个采集从节点用于管理对应的从节点;所述主节点通过所述主监控进程,向各从节点中的至少一个从节点的从监控进程发送执行请求,接收所述至少一个从节点的从监控进程发送的所述各从节点的进程监控指标,包括:所述主节点通过所述主监控进程向所述各采集从节点的从监控进程发送所述执行请求;所述执行请求具体用于:指示所述各采集从节点执行进程状态查询命令,以及指示所述各采集从节点的从监控进程通过远程登录访问对所述各采集从节点管理的从节点执行所述进程状态查询命令,从而生成所述各从节点的进程监控指标;所述主节点通过所述主监控进程,接收所述各采集从节点的从监控进程发送所述各从节点的进程监控指标。
上述方式下,所述主节点通过所述主监控进程向所述各采集从节点的从监控进程发送所述执行请求,当从节点的数量较多时,通过这种方式可以减少所述主监控进程需要发送的执行请求数目,将通知从节点执行所述进程状态查询命令的任务下放一部分到采集从节点,从而减轻了所述主监控进程的压力。
可选的,所述确定所述至少一个聚类簇中每个聚类簇的进程监控指标的对应进程为正常进程或异常进程之后,还包括:针对所述各节点的进程中任一异常进程,向所述异常进程所在的节点发送强制结束命令;所述强制结束命令用于指示向所述异常进程所在的节点的操作系统内核发送进程终止信号和所述异常进程的进程标识号,从而指示所述操作系统内核根据所述进程终止信号,终止所述异常进程。
上述方式下,通过发送强制结束命令,指示向所述异常进程所在的节点的操作系统内核发送进程终止信号和所述异常进程的进程标识号,从而可以从操作系统内核直接终止所述异常进程,确保能够终止所述异常进程。
可选的,所述确定所述至少一个聚类簇中每个聚类簇的进程监控指标的对应进程为正常进程或异常进程之后,还包括:所述主节点在所述主节点的前端浏览器显示异常进程;所述主节点在所述前端浏览器中以折叠方式显示正常进程。
上述方式下,在所述主节点的前端浏览器显示异常进程,相对于命令行界面,显示更加友好,另外在所述前端浏览器中以折叠方式显示正常进程,可以更突出的显示所述异常进程,从而可以更直观、友好地显示各节点的进程。
可选的,所述进程监控指标为进程持续时长。
上述方式下,进程持续时长可以明显地区分正常进程和异常进程。
第二方面,本发明提供一种集群的进程管理装置,包括:获取模块,用于通过集群的主节点的主监控进程获取所述集群的各节点的进程监控指标;处理模块,用于对所述各节点的进程监控指标进行聚类,得到至少一个聚类簇;以及用于根据所述至少一个聚类簇中每个聚类簇的进程监控指标数目,确定所述至少一个聚类簇中每个聚类簇的进程监控指标的对应进程为正常进程或异常进程。
可选的,所述处理模块具体用于:将所述各节点的进程监控指标的均值,作为各聚类簇的初始中心点;将所述各节点的进程监控指标作为各样本点,确定所述各样本点与所述各聚类簇的中心点的距离;根据所述各样本点与所述各聚类簇的中心点的距离,以及预设距离阈值,确定所述各样本点中是否存在不属于所述各聚类簇的样本点;若存在,则增加所述各聚类簇的数量,并在所述各样本点的最大值和最小值之间,设定所述各聚类簇的中心点,返回所述确定所述各样本点与所述各聚类簇的中心点的距离的步骤;若不存在,则根据所述各聚类簇的样本点,确定所述各聚类簇的中心点;若所述各聚类簇的中心点收敛,则将收敛时的所述各聚类簇作为所述至少一个聚类簇;若所述各聚类簇的中心点不收敛,则返回所述确定所述各样本点中是否存在不属于所述各聚类簇的样本点的步骤。
可选的,所述获取模块具体用于:通过所述主监控进程,监听所述主节点的进程,获取所述主节点的进程监控指标;通过所述主监控进程,向各从节点中的至少一个从节点的从监控进程发送执行请求,接收所述至少一个从节点的从监控进程发送的所述各从节点的进程监控指标;所述执行请求用于通过所述至少一个从节点的从监控进程生成所述各从节点的进程监控指标。
可选的,所述至少一个从节点为所述各从节点,所述获取模块具体用于:通过所述主监控进程向所述各从节点的从监控进程发送所述执行请求;所述执行请求具体用于:指示所述各从节点的从监控进程执行进程状态查询命令,从而生成所述各从节点的进程监控指标;通过所述主监控进程,接收所述各从节点的从监控进程发送的进程监控指标。
可选的,所述至少一个从节点为所述各从节点中的各采集从节点;每个采集从节点用于管理对应的从节点;所述获取模块具体用于:通过所述主监控进程向所述各采集从节点的从监控进程发送所述执行请求;所述执行请求具体用于:指示所述各采集从节点执行进程状态查询命令,以及指示所述各采集从节点的从监控进程通过远程登录访问对所述各采集从节点管理的从节点执行所述进程状态查询命令,从而生成所述各从节点的进程监控指标;通过所述主监控进程,接收所述各采集从节点的从监控进程发送所述各从节点的进程监控指标。
可选的,所述处理模块还用于:针对所述各节点的进程中任一异常进程,向所述异常进程所在的节点发送强制结束命令;所述强制结束命令用于指示向所述异常进程所在的节点的操作系统内核发送进程终止信号和所述异常进程的进程标识号,从而指示所述操作系统内核根据所述进程终止信号,终止所述异常进程。
可选的,所述处理模块还用于:在所述主节点的前端浏览器显示异常进程;在所述前端浏览器中以折叠方式显示正常进程。
可选的,所述进程监控指标为进程持续时长。
上述第二方面及第二方面各个可选装置的有益效果,可以参考上述第一方面及第一方面各个可选方法的有益效果,这里不再赘述。
第三方面,本发明提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。
第四方面,本发明提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。
附图说明
图1为本申请实施例提供的一种集群的进程管理方法的步骤流程示意图;
图2为本申请实施例提供的一种集群的进程管理方法可应用的架构示意图;
图3为本申请实施例提供的一种集群的进程管理方法的聚类过程的示意图;
图4为本申请实施例提供的一种集群的进程管理方法显示进程的示意图;
图5为本申请实施例提供的一种集群的进程管理装置的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互结合。
下面首先列出本申请出现的名词。
K均值聚类方法:是一种迭代求解的聚类分析方法。其步骤是,预先将待分类样本分为K组,随机选取K个初始中心。然后将样本归类到距离样本最近的中心所属的类别。重新分类后,以同类样本的均值作为新的中心,再迭代求解,直到所有中心不再变化或者超过最大迭代次数后结束。
进程启停异常:在集群的服务进程管理中,批量启动或停止服务进程的时候,某些服务进程可能会因为种种原因无法正常启动或者关闭,称之为进程启停异常。
在金融机构(银行机构、保险机构或证券机构)在进行业务(如银行的贷款业务、存款业务等)运转过程中,金融机构由于要处理的数据量十分庞大,常运用到集群。集群中各节点都有运行的进程,做到对进程的有效管理,如及时排查各节点的异常进程,是维护金融机构正常运转的必要条件。目前的方式中,只能对框架自身的进程进行管理,且很多开源项目的进程管理工具只是负责启动、停止和日志打印,不能监控进程。显然,这种情况不符合银行等金融机构的需求,无法保证金融机构各项业务的高效运转。
为此,如图1所示,本申请提供一种集群的进程管理方法。
步骤101:集群的主节点通过所述主节点的主监控进程获取所述集群的各节点的进程监控指标。
步骤102:所述主节点对所述各节点的进程监控指标进行聚类,得到至少一个聚类簇。
步骤103:所述主节点根据所述至少一个聚类簇中每个聚类簇的进程监控指标数目,确定所述至少一个聚类簇中每个聚类簇的进程监控指标的对应进程为正常进程或异常进程。
步骤101~步骤103的方法中,集群的主节点通过所述主节点的主监控进程获取所述集群的各节点的进程监控指标后,通过对进程监控指标进行聚类,从而通过进程监控指标的数目将正常进程和异常进程进行区分,从而能够监控进程,提供了一种具备普适性的进程管理方法。
可选的,所述进程监控指标为进程持续时长。所述进程监控指标还可以为进程的中央处理器(CPU,central processing unit)占用率等,在此不做限定。这是因为,进程持续时长可以明显地区分正常的应用服务进程(本申请中默认应用服务进程为非主监控进程且非从监控进程的进程,正常的应用服务进程可以简称为正常进程)和异常的应用服务进程(可以简称为异常进程)。具体地,在集群中批量地停止应用服务进程的过程中,应用服务进程可能会因为各原因,在收到应用层的进程终止指令后无法正常关闭。当批量启动应用服务进程时,这些没有正常退出的异常进程就会对正常进程产生干扰,因此要及时的发现并关闭这些异常进程。要区分异常进程和正常进程,以进程持续时长为例,进程持续时长是个关键的区分指标。由于应用服务进程启动、关闭都是批量操作,因此,正常进程会聚集在一个时间点(或近似的进程持续时长),而异常进程会聚集在一个时间点(或近似的进程持续时长)。
需要说明的是,步骤101中,集群的主节点含义仅是作为“监控进程方面的主节点”,和集群中处理功能最为强大的节点未必是同一节点。主监控进程还可以称为旁路监测主进程。集群的主节点通过所述主节点的主监控进程获取所述集群的各节点中各从节点的进程监控指标方式有多种,可以是所述主节点的主监控进程直接通过远程登录访问对所述各从节点执行所述进程状态查询命令,获取所述集群的各节点的进程监控指标,该方式适用于集群中的节点较少时,如集群中各节点的节点数量小于或等于P,P为正整数;还可以是所述主节点通过所述主监控进程向所述各从节点的部分从节点或全部从节点发送执行所述进程状态查询命令的执行请求,获取所述集群的各节点的进程监控指标,该方式适用于集群中的节点较多时,如集群中各节点的节点数量大于Q,Q为正整数;也可以是所述主节点通过所述主监控进程向所述各从节点一部分从节点发送执行所述进程状态查询命令的执行请求,通过远程登录访问对各从节点中没有发送执行所述进程状态查询命令的执行请求的其余从节点,获取所述集群的各节点的进程监控指标;还可以是先由集群外的进程监控设备获取,再从集群外的进程监控设备获取等,在此不做限定。
对于向所述各从节点的部分从节点或全部从节点发送执行所述进程状态查询命令的执行请求,一种可选实施方式中,步骤101的具体按照如下方式执行:
步骤(1-1):所述主节点通过所述主监控进程,监听所述主节点的进程,获取所述主节点的进程监控指标。
步骤(1-2):所述主节点通过所述主监控进程,向各从节点中的至少一个从节点的从监控进程发送执行请求,接收所述至少一个从节点的从监控进程发送的所述各从节点的进程监控指标;所述执行请求用于通过所述至少一个从节点的从监控进程生成所述各从节点的进程监控指标。
需要说明的是,步骤(1-1)和步骤(1-2)可以并行执行。步骤(1-1)~步骤(1-2)方法中,所述主节点通过所述主监控进程,监听所述主节点的进程,获取所述主节点的进程监控指标,或者向各从节点中的至少一个从节点的从监控进程发送执行请求,接收所述至少一个从节点的从监控进程发送的所述各从节点的进程监控指标,从而将所述集群的各节点的进程监控指标都聚集到主节点,便于统一管理进程监控指标。
步骤(1-2)的具体实现方式有多种,举例来说,可以是所述主节点通过所述主监控进程,向各从节点中的全部从节点的从监控进程发送执行请求,也可以是所述主节点通过所述主监控进程,向各从节点中的部分从节点的从监控进程发送执行请求。
对于所述主节点通过所述主监控进程,向各从节点中的全部从节点的从监控进程发送执行请求的实现方式,也就是说,所述至少一个从节点为所述各从节点,步骤(1-2)具体实现可以如下:
所述主节点通过所述主监控进程向所述各从节点的从监控进程发送所述执行请求;所述主节点通过所述主监控进程,接收所述各从节点的从监控进程发送的进程监控指标。
其中,从监控进程也可以称为旁路监测进程或旁路监测从进程等,在这种实现方式下,所述执行请求具体用于:指示所述各从节点的从监控进程执行进程状态查询命令,从而生成所述各从节点的进程监控指标。
上述方法中,所述至少一个从节点为所述各从节点,即各从节点上都存在从监控进程,从而当从节点的数量较少时,通过所述从节点的从监控进程可以迅速地收集所述从节点的进程监控指标。
对于所述主节点通过所述主监控进程,向各从节点中的部分从节点的从监控进程发送执行请求的实现方式,也就是说,所述至少一个从节点为所述各从节点中的各采集从节点;每个采集从节点用于管理对应的从节点;步骤(1-2)具体实现可以如下:
所述主节点通过所述主监控进程向所述各采集从节点的从监控进程发送所述执行请求;所述主节点通过所述主监控进程,接收所述各采集从节点的从监控进程发送所述各从节点的进程监控指标。
举例来说,集群包括集群的主节点A,采集从节点B0,B1,采集从节点B0管理从节点b0-1和b0-2;采集从节点B1管理从节点b1-1和b1-2。主节点A不直接向b0-1、b0-2、b1-1、b1-2发送所述执行请求,而是向采集从节点B0,B1的从监控进程发送所述执行请求,从而通过B0获取B0、b0-1、b0-2的进程监控指标,以及通过B1获取B1、b1-1、b1-2的进程监控指标。
在这种实现方式下,所述执行请求具体用于:指示所述各采集从节点执行进程状态查询命令,以及指示所述各采集从节点的从监控进程通过远程登录访问对所述各采集从节点管理的从节点执行所述进程状态查询命令,从而生成所述各从节点的进程监控指标。
上述方式下,所述主节点通过所述主监控进程向所述各采集从节点的从监控进程发送所述执行请求,当从节点的数量较多时,通过这种方式可以减少所述主监控进程需要发送的执行请求数目,将通知从节点执行所述进程状态查询命令的任务下放一部分到采集从节点,从而减轻了所述主监控进程的压力。
综合步骤101的可选实施方式,各种可选实施方式对应的系统架构也有不同,如图2所示,以所述主节点通过所述主监控进程,向各从节点中的全部从节点的从监控进程发送执行请求的实现方式为例,展示进程最为丰富情况下步骤101~步骤103的可应用的进程监控系统的架构。需要说明的是,具体实施中,主监控进程可以通过restful风格的超文本传输协议(HyperText Transfer Protocol,HTTP)服务向前端服务器提供进程启停异常的旁路监控管理服务,用于收集集群中各节点的应用服务进程信息并做分析处理,各节点的应用服务进程信息包括各节点的进程监控指标。集群中每个从节点都有一个从监控进程,收集该从节点的服务进程信息,并以restful风格的HTTP服务向主监控进程提供节点的应用服务进程信息。运维人员通过浏览器访问主监控进程的旁路监控管理服务,实现对集群的应用服务进程的监控和管理。
具体实施中,为了使进程监控系统具有普适性,主监控进程采用配置文件的方法来设定需要监控的应用服务进程。配置文件可以采用json格式,具体如下配置文件的代码部分所示。其中,monitors字段是一个列表,列表中的每个元素对应集群中的一个节点。其中id字段用于标识某个节点,必须具有唯一性;host、port字段为该节点的旁路监测进程所在主机ip和监听端口;cmd字段是获取应用服务进程相关信息的shell命令。通过修改cmd字段,就能定制不同的监控需求。threshold和maxIteration为聚类分析相关的参数,将在后续过程中解释。
配置文件的代码部分如下:
基于配置文件的进程监控系统启动可以如下:
设定主节点的主监控进程配置文件,确定要监控的节点和应用服务进程范围(通过cmd筛选)。启动主节点的主监控进程和各从节点的从监控进程。
步骤102可以按照以下方式执行:
步骤(2-1):将所述各节点的进程监控指标的均值,作为各聚类簇的初始中心点。
步骤(2-2):将所述各节点的进程监控指标作为各样本点,确定所述各样本点与所述各聚类簇的中心点的距离。
步骤(2-3):根据所述各样本点与所述各聚类簇的中心点的距离,以及预设距离阈值,确定所述各样本点中是否存在不属于所述各聚类簇的样本点。若存在,执行步骤(2-4),若不存在,执行步骤(2-5)。
步骤(2-4):增加所述各聚类簇的数量,并在所述各样本点的最大值和最小值之间,设定所述各聚类簇的中心点,返回步骤(2-2)。
步骤(2-5):根据所述各聚类簇的样本点,确定所述各聚类簇的中心点。
若所述各聚类簇的中心点收敛,则执行步骤(2-6);若所述各聚类簇的中心点不收敛,则返回步骤(2-3)。
步骤(2-6):将收敛时的所述各聚类簇作为所述至少一个聚类簇。
需要说明的是,该聚类方式是独创的,有别于传统的k-means算法,更具体地,步骤102的过程可参考图3理解。
以应用服务进程的进程持续时长为例,对进程持续时长进行聚类分析,能够很好的将正常进程和异常进程区分开来。聚类分析一般是预先设定好K个类别,但在本应用中无法预先确定类别的数目,因此采用类数可变的聚类方法代替。该方法认为,当类半径超过一定的阈值(如配置文件中的“threshold”),就要增加类别数目。例如,设定半径阈值为300秒,如果存在一个应用服务进程的进程持续时长与所属类的中心时间点距离超过300秒,则认为需要增加类的数目。为方便阐述算法,定义三个概念:1.样本点。记为(PID,ET),即进程标识号与进程持续时长组成的元组。2.样本点的距离。定义为两个进程标识号的进程持续时长之差的绝对值,记为Pa-Pb=|ETa-ETb|(注意:计算距离时只参考ET(即进程持续时长),不会参考自行设定的PID,所以是一个一维计算不是二维计算)。3.类半径。在类中,距离中心最远的样本点到中心的距离。具体算法流程如下:
1.初始化类别的数目为1,并以所有样本点的均值作为类的中心。
2.计算样本点到所有类中心的距离,并将样本点归类到距离最近的中心点所属的类别。
3.根据新的分类结果,分别计算所有类别的均值,作为该类的新中心。
4.如果存在一个类别的半径(样本点与中心最远距离)超过阈值threshold,则将类别数目加1,在样本最大值和最小值之间设定N个中心点(N为新的类别数),然后返回步骤2继续。
5.如果类别半径均小于阈值,判断新的中心是否与之前的中心完全一致,如果一致停止迭代,否则,进入步骤6。
6.判断迭代数是否超过最大迭代数maxIteration,如果超过,就停止迭代,否则返回步骤2继续。
其中,threshold和maxIteration两个参数,可以根据使用者经验,实时设定。
基于配置文件的具体实施中,过程如下:
执行旁路监控。
1.管理员通过浏览器访问主监控进程提供的HTTP服务。
2.设定聚类所需的threshold和maxItration参数。
3.开始监控后,主主监控进程会向各节点的从监控进程发送执行,要求执行执行请求中cmd字段中的命令行并返回进程监控指标。
4.各节点返回进程监控指标后,主进程分别对返回的各节点的进程监控指标进行聚类分析,将数量较多的几个类别标记为正常进程类别(如共有5个类别,将进程监控指标数目最大的前2个类别标记为正常类别),其余类别(如,进程监控指标数目较小的后3个类别)标记为异常。
5.主监控进程返回聚类结果给浏览器,并高亮显示异常的应用服务进程信息。
在步骤5的一种可选实施方式中,在所述主节点的前端浏览器显示异常进程;在所述前端浏览器中以折叠方式显示正常进程。上述方式下,在所述主节点的前端浏览器显示异常进程,相对于命令行界面,显示更加友好,另外在所述前端浏览器中以折叠方式显示正常进程,可以更突出的显示所述异常进程,从而可以更直观、友好地显示各节点的进程。
具体应用示例,可以如图4所示,设定阈值为300秒,最大迭代数为100次后,开始执行监控。主监控进程会给浏览器返回各节点应用服务进程的相关信息,并高亮显示异常进程。在实际应用中,监控的应用服务进程数目很大,为了方便快速查找异常进程,可以把判断为正常进程收起。
步骤103之后,一种可选实施方式中,针对所述各节点的进程中任一异常进程,向所述异常进程所在的节点发送强制结束命令;所述强制结束命令用于指示向所述异常进程所在的节点的操作系统内核发送进程终止信号和所述异常进程的进程标识号,从而指示所述操作系统内核根据所述进程终止信号,终止所述异常进程。
上述方式下,可以通过发送强制结束命令,指示向所述异常进程所在的节点的操作系统内核发送进程终止信号和所述异常进程的进程标识号,从而可以从操作系统内核直接终止所述异常进程,确保能够终止所述异常进程。
具体实施中,管理员如果确认进程为异常进程,点击停止按钮请求结束该异常进程。最后会由子节点的从监控进程执行kill命令,强制结束该进程。
如图5所示,本发明提供一种集群的进程管理装置,包括:获取模块501,用于通过集群的主节点的主监控进程获取所述集群的各节点的进程监控指标;处理模块502,用于对所述各节点的进程监控指标进行聚类,得到至少一个聚类簇;以及用于根据所述至少一个聚类簇中每个聚类簇的进程监控指标数目,确定所述至少一个聚类簇中每个聚类簇的进程监控指标的对应进程为正常进程或异常进程。
可选的,所述处理模块502具体用于:将所述各节点的进程监控指标的均值,作为各聚类簇的初始中心点;将所述各节点的进程监控指标作为各样本点,确定所述各样本点与所述各聚类簇的中心点的距离;根据所述各样本点与所述各聚类簇的中心点的距离,以及预设距离阈值,确定所述各样本点中是否存在不属于所述各聚类簇的样本点;若存在,则增加所述各聚类簇的数量,并在所述各样本点的最大值和最小值之间,设定所述各聚类簇的中心点,返回所述确定所述各样本点与所述各聚类簇的中心点的距离的步骤;若不存在,则根据所述各聚类簇的样本点,确定所述各聚类簇的中心点;若所述各聚类簇的中心点收敛,则将收敛时的所述各聚类簇作为所述至少一个聚类簇;若所述各聚类簇的中心点不收敛,则返回所述确定所述各样本点中是否存在不属于所述各聚类簇的样本点的步骤。
可选的,所述获取模块501具体用于:通过所述主监控进程,监听所述主节点的进程,获取所述主节点的进程监控指标;通过所述主监控进程,向各从节点中的至少一个从节点的从监控进程发送执行请求,接收所述至少一个从节点的从监控进程发送的所述各从节点的进程监控指标;所述执行请求用于通过所述至少一个从节点的从监控进程生成所述各从节点的进程监控指标。
可选的,所述至少一个从节点为所述各从节点,所述获取模块501具体用于:通过所述主监控进程向所述各从节点的从监控进程发送所述执行请求;所述执行请求具体用于:指示所述各从节点的从监控进程执行进程状态查询命令,从而生成所述各从节点的进程监控指标;通过所述主监控进程,接收所述各从节点的从监控进程发送的进程监控指标。
可选的,所述至少一个从节点为所述各从节点中的各采集从节点;每个采集从节点用于管理对应的从节点;所述获取模块501具体用于:通过所述主监控进程向所述各采集从节点的从监控进程发送所述执行请求;所述执行请求具体用于:指示所述各采集从节点执行进程状态查询命令,以及指示所述各采集从节点的从监控进程通过远程登录访问对所述各采集从节点管理的从节点执行所述进程状态查询命令,从而生成所述各从节点的进程监控指标;通过所述主监控进程,接收所述各采集从节点的从监控进程发送所述各从节点的进程监控指标。
可选的,所述处理模块502还用于:针对所述各节点的进程中任一异常进程,向所述异常进程所在的节点发送强制结束命令;所述强制结束命令用于指示向所述异常进程所在的节点的操作系统内核发送进程终止信号和所述异常进程的进程标识号,从而指示所述操作系统内核根据所述进程终止信号,终止所述异常进程。
可选的,所述处理模块502还用于:在所述主节点的前端浏览器显示异常进程;在所述前端浏览器中以折叠方式显示正常进程。
可选的,所述进程监控指标为进程持续时长。
本申请实施例提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种集群的进程管理方法及任一可选方法。
本申请实施例提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种集群的进程管理方法及任一可选方法。
最后应说明的是:本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (11)
1.一种集群的进程管理方法,其特征在于,包括:
集群的主节点通过所述主节点的主监控进程获取所述集群的各节点的进程监控指标;
所述主节点对所述各节点的进程监控指标进行聚类,得到至少一个聚类簇;
所述主节点根据所述至少一个聚类簇中每个聚类簇的进程监控指标数目,确定所述至少一个聚类簇中每个聚类簇的进程监控指标的对应进程为正常进程或异常进程。
2.如权利要求1所述的方法,其特征在于,所述主节点对所述各节点的进程监控指标进行聚类,得到至少一个聚类簇,包括:
将所述各节点的进程监控指标的均值,作为各聚类簇的初始中心点;
将所述各节点的进程监控指标作为各样本点,确定所述各样本点与所述各聚类簇的中心点的距离;
根据所述各样本点与所述各聚类簇的中心点的距离,以及预设距离阈值,确定所述各样本点中是否存在不属于所述各聚类簇的样本点;
若存在,则增加所述各聚类簇的数量,并在所述各样本点的最大值和最小值之间,设定所述各聚类簇的中心点,返回所述确定所述各样本点与所述各聚类簇的中心点的距离的步骤;
若不存在,则根据所述各聚类簇的样本点,确定所述各聚类簇的中心点;若所述各聚类簇的中心点收敛,则将收敛时的所述各聚类簇作为所述至少一个聚类簇;若所述各聚类簇的中心点不收敛,则返回所述确定所述各样本点中是否存在不属于所述各聚类簇的样本点的步骤。
3.如权利要求1所述的方法,其特征在于,所述集群的主节点通过所述主节点的主监控进程获取所述集群的各节点的进程监控指标;包括:
所述主节点通过所述主监控进程,监听所述主节点的进程,获取所述主节点的进程监控指标;
所述主节点通过所述主监控进程,向各从节点中的至少一个从节点的从监控进程发送执行请求,接收所述至少一个从节点的从监控进程发送的所述各从节点的进程监控指标;所述执行请求用于通过所述至少一个从节点的从监控进程生成所述各从节点的进程监控指标。
4.如权利要求3所述的方法,其特征在于,所述至少一个从节点为所述各从节点;所述主节点通过所述主监控进程,向各从节点中的至少一个从节点的从监控进程发送执行请求,接收所述至少一个从节点的从监控进程发送的所述各从节点的进程监控指标;包括:
所述主节点通过所述主监控进程向所述各从节点的从监控进程发送所述执行请求;所述执行请求具体用于:指示所述各从节点的从监控进程执行进程状态查询命令,从而生成所述各从节点的进程监控指标;
所述主节点通过所述主监控进程,接收所述各从节点的从监控进程发送的进程监控指标。
5.如权利要求3所述的方法,其特征在于,所述至少一个从节点为所述各从节点中的各采集从节点;每个采集从节点用于管理对应的从节点;所述主节点通过所述主监控进程,向各从节点中的至少一个从节点的从监控进程发送执行请求,接收所述至少一个从节点的从监控进程发送的所述各从节点的进程监控指标,包括:
所述主节点通过所述主监控进程向所述各采集从节点的从监控进程发送所述执行请求;所述执行请求具体用于:指示所述各采集从节点执行进程状态查询命令,以及指示所述各采集从节点的从监控进程通过远程登录访问对所述各采集从节点管理的从节点执行所述进程状态查询命令,从而生成所述各从节点的进程监控指标;
所述主节点通过所述主监控进程,接收所述各采集从节点的从监控进程发送所述各从节点的进程监控指标。
6.如权利要求1至5任一项所述的方法,其特征在于,所述确定所述至少一个聚类簇中每个聚类簇的进程监控指标的对应进程为正常进程或异常进程之后,还包括:
针对所述各节点的进程中任一异常进程,向所述异常进程所在的节点发送强制结束命令;
所述强制结束命令用于指示向所述异常进程所在的节点的操作系统内核发送进程终止信号和所述异常进程的进程标识号,从而指示所述操作系统内核根据所述进程终止信号,终止所述异常进程。
7.如权利要求1至5任一项所述的方法,其特征在于,所述确定所述至少一个聚类簇中每个聚类簇的进程监控指标的对应进程为正常进程或异常进程之后,还包括:
所述主节点在所述主节点的前端浏览器显示异常进程;
所述主节点在所述前端浏览器中以折叠方式显示正常进程。
8.如权利要求1至5任一项所述的方法,其特征在于,所述进程监控指标为进程持续时长。
9.一种集群的进程管理装置,其特征在于,包括:
获取模块,用于通过集群的主节点的主监控进程获取所述集群的各节点的进程监控指标;
处理模块,用于对所述各节点的进程监控指标进行聚类,得到至少一个聚类簇;以及用于根据所述至少一个聚类簇中每个聚类簇的进程监控指标数目,确定所述至少一个聚类簇中每个聚类簇的进程监控指标的对应进程为正常进程或异常进程。
10.一种计算机设备,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至8中任意一项所述的方法被执行。
11.一种存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至8中任意一项所述的方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010471556.4A CN111639006B (zh) | 2020-05-29 | 2020-05-29 | 一种集群的进程管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010471556.4A CN111639006B (zh) | 2020-05-29 | 2020-05-29 | 一种集群的进程管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111639006A true CN111639006A (zh) | 2020-09-08 |
CN111639006B CN111639006B (zh) | 2023-03-21 |
Family
ID=72328559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010471556.4A Active CN111639006B (zh) | 2020-05-29 | 2020-05-29 | 一种集群的进程管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111639006B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008092147A2 (en) * | 2007-01-26 | 2008-07-31 | Information Resources, Inc. | Analytic platform |
CN102664961A (zh) * | 2012-05-04 | 2012-09-12 | 北京邮电大学 | MapReduce环境下的异常检测方法 |
CN104750544A (zh) * | 2013-12-30 | 2015-07-01 | 中国银联股份有限公司 | 应用于分布式系统中的进程管理系统及进程管理方法 |
CN105389201A (zh) * | 2014-09-03 | 2016-03-09 | 中国石油化工股份有限公司 | 一种基于高性能计算集群的进程管理方法及其系统 |
CN106845519A (zh) * | 2016-12-20 | 2017-06-13 | 南京信息工程大学 | 一种分布式实现的稀疏子空间聚类方法 |
CN107025205A (zh) * | 2016-01-30 | 2017-08-08 | 华为技术有限公司 | 一种分布式系统中的训练模型的方法及设备 |
US20190095266A1 (en) * | 2017-09-27 | 2019-03-28 | International Business Machines Corporation | Detection of Misbehaving Components for Large Scale Distributed Systems |
CN109800130A (zh) * | 2019-01-31 | 2019-05-24 | 郑州云海信息技术有限公司 | 一种设备监控方法、装置、设备及介质 |
CN110262919A (zh) * | 2019-06-17 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 异常数据分析方法、装置、设备与计算机可读存储介质 |
CN110928739A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种进程监控方法、装置以及计算设备 |
-
2020
- 2020-05-29 CN CN202010471556.4A patent/CN111639006B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008092147A2 (en) * | 2007-01-26 | 2008-07-31 | Information Resources, Inc. | Analytic platform |
CN102664961A (zh) * | 2012-05-04 | 2012-09-12 | 北京邮电大学 | MapReduce环境下的异常检测方法 |
CN104750544A (zh) * | 2013-12-30 | 2015-07-01 | 中国银联股份有限公司 | 应用于分布式系统中的进程管理系统及进程管理方法 |
CN105389201A (zh) * | 2014-09-03 | 2016-03-09 | 中国石油化工股份有限公司 | 一种基于高性能计算集群的进程管理方法及其系统 |
CN107025205A (zh) * | 2016-01-30 | 2017-08-08 | 华为技术有限公司 | 一种分布式系统中的训练模型的方法及设备 |
CN106845519A (zh) * | 2016-12-20 | 2017-06-13 | 南京信息工程大学 | 一种分布式实现的稀疏子空间聚类方法 |
US20190095266A1 (en) * | 2017-09-27 | 2019-03-28 | International Business Machines Corporation | Detection of Misbehaving Components for Large Scale Distributed Systems |
CN110928739A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种进程监控方法、装置以及计算设备 |
CN109800130A (zh) * | 2019-01-31 | 2019-05-24 | 郑州云海信息技术有限公司 | 一种设备监控方法、装置、设备及介质 |
CN110262919A (zh) * | 2019-06-17 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 异常数据分析方法、装置、设备与计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111639006B (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11349947B1 (en) | Proxying hypertext transfer protocol (HTTP) requests for microservices | |
US11238112B2 (en) | Search service system monitoring | |
US10997135B2 (en) | Method and system for performing context-aware prognoses for health analysis of monitored systems | |
US11829236B2 (en) | Monitoring statuses of monitoring modules of a distributed computing system | |
US10997180B2 (en) | Dynamic query processor for streaming and batch queries | |
US11880399B2 (en) | Data categorization using inverted indexes | |
US11102225B2 (en) | Detecting fraud by correlating user behavior biometrics with other data sources | |
US10365915B2 (en) | Systems and methods of monitoring a network topology | |
US20180293327A1 (en) | Locating and categorizing data using inverted indexes | |
US12105724B1 (en) | Tokenized HTTP event collector | |
US11003691B2 (en) | Determining affinities for data set summarizations | |
US11372956B2 (en) | Multiple input neural networks for detecting fraud | |
US20220414119A1 (en) | Data source metric visualizations | |
US11106713B2 (en) | Sampling data using inverted indexes in response to grouping selection | |
US11074283B2 (en) | Linking data set summarizations using affinities | |
US11481361B1 (en) | Cascading payload replication to target compute nodes | |
US20180300572A1 (en) | Fraud detection based on user behavior biometrics | |
US11315010B2 (en) | Neural networks for detecting fraud based on user behavior biometrics | |
US20230015186A1 (en) | Partially typed semantic based query execution optimization | |
CN111639006B (zh) | 一种集群的进程管理方法及装置 | |
US11704285B1 (en) | Metrics and log integration | |
US11902081B1 (en) | Managing collection agents via an agent controller | |
US20210271584A1 (en) | Method to analyze impact of a configuration change to one device on other connected devices in a data center | |
CN114238008A (zh) | 一种数据获取方法、装置、系统、电子设备及存储介质 | |
CN112583846A (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 |