监控云平台中的服务器的性能的方法和服务器与流程

文档序号:14748502发布日期:2018-06-22 08:47阅读:250来源:国知局

本发明涉及计算机领域,尤其涉及一种监控云平台中的服务器的性能的方法和服务器。



背景技术:

云平台通常包括若干服务器,现有技术对云平台中的服务器的性能采用如下方式进行监控:主控端与每一台服务器建立链接,并收集被监控服务器的性能指标值进行分析。随着技术的发展和用户需求的提升,云平台中服务器的数量快速增加。采用传统监控方式会导致主控端与被监控服务器间的通信占用大量网络资源和主控端资源,进而导致网络阻塞和主控端资源不足的问题。

为了解决上述问题,亟待一种监控云平台中的服务器的性能的方法。



技术实现要素:

有鉴于此,本发明实施例提供一种监控云平台中的服务器的性能的方法、服务器及可读存储介质,能够避免网络阻塞,解决主控端资源不足的问题。

本发明的一个方面提供一种监控云平台中的服务器的性能的方法,包括:受控端获取服务器的性能指标的值,受控端位于服务器上;受控端根据性能指标的值生成分析结果,分析结果用于指示服务器的状态;在分析结果指示服务器处于异常状态的情况下,受控端将分析结果发送至主控端。

本发明另一实施例中,受控端根据性能指标的值生成分析结果,包括:受控端通过机器学习建立服务器的历史状态与服务器的历史性能指标的值之间关系的模型;受控端根据模型分析获取的服务器的性能指标的值,生成分析结果。

本发明另一实施例中,还包括:受控端接收主控端发送的脚本触发命令,脚本触发命令用于触发受控端存储的脚本而执行多个操作命令,其中脚本包含多个操作命令;或者受控端接收主控端发送的脚本,脚本包含多个操作命令,以便受控端根据脚本执行多个操作命令。

本发明另一实施例中,还包括:受控端以固定时间间隔向主控端发送性能指标的值,其中性能指标的值包括:服务器在时间间隔内的性能指标的平均值。

本发明另一实施例中,服务器为私有云服务器,还包括:受控端与主控端之间的通信通过节点控制器转发。

本发明的另一个方面提供了一种监控云平台中的服务器的性能的方法,包括:主控端接收至少一个受控端分别在至少一个服务器处于异常状态时发送的至少一个分析结果,其中至少一个受控端分别位于至少一个服务器中,至少一个分析结果用于分别指示至少一个服务器的状态,至少一个分析结果分别是根据至少一个服务器的性能指标的值生成的;主控端根据至少一个分析结果生成警告消息并发送。

本发明另一实施例中,还包括:主控端分别向至少一个受控端发送至少一个脚本触发命令,至少一个脚本触发命令中的每个脚本触发命令用于触发一个受控端存储的一个脚本而执行多个操作命令,其中脚本包含多个操作命令;或主控端分别向至少一个受控端发送至少一个脚本,至少一个脚本中的每个脚本包含多个操作命令,以便受控端根据脚本执行多个操作命令。

本发明另一实施例中,还包括:主控端接收受控端以固定时间间隔发送的性能指标的值,其中性能指标的值包括:服务器在时间间隔内的性能指标的平均值。

本发明另一实施例中,包括:主控端接收多个受控端分别发送的多个分析结果,其中主控端根据至少一个分析结果生成警告消息并发送,包括:主控端按照多个分析结果的优先级,根据多个分析结果生成警告消息并发送。

本发明的另一个方面提供了一种服务器,服务器为云平台中的服务器,服务器的性能由位于服务器上的受控端监控,服务器包括:获取模块,用于获取服务器的性能指标的值;分析模块,用于根据性能指标的值生成分析结果,分析结果用于指示服务器的状态;发送模块,用于在分析结果指示服务器处于异常状态的情况下,受控端将分析结果发送至主控端。

本发明另一实施例中,分析模块通过机器学习建立服务器的历史状态与服务器的历史性能指标的值之间关系的模型,并根据模型分析获取的服务器的性能指标的值,生成分析结果。

本发明另一实施例中,服务器还包括:脚本执行模块,用于存储和执行脚本而执行多个操作命令,其中脚本包含多个操作命令,其中获取模块还用于接收主控端发送的脚本触发命令,脚本触发命令用于触发脚本执行模块存储的脚本;或者获取模块还用于接收主控端发送的脚本,脚本包含多个操作命令,以便脚本执行模块根据脚本执行多个操作命令。

本发明另一实施例中,发送模块还用于以固定时间间隔向主控端发送性能指标的值,其中性能指标的值包括:服务器在时间间隔内的性能指标的平均值。

本发明另一实施例中,服务器为私有云服务器,服务器与主控端之间的通信通过节点控制器转发。

本发明的另一个方面提供了一种服务器,服务器为云平台中的服务器,服务器上设置有主控端,包括:接收模块,用于接收至少一个受控端分别在至少一个服务器处于异常状态时发送的至少一个分析结果,其中至少一个受控端分别位于至少一个服务器中,至少一个分析结果用于分别指示至少一个服务器的状态,至少一个分析结果分别是根据至少一个服务器的性能指标的值生成的;生成模块,用于根据至少一个分析结果生成警告消息;发送模块,用于发送警告消息。

本发明另一实施例中,发送模块还用于向至少一个受控端发送至少一个脚本触发命令,至少一个脚本触发命令中的每个脚本触发命令用于触发一个受控端存储的一个脚本而执行多个操作命令,其中脚本包含多个操作命令;或发送模块分别向至少一个受控端发送至少一个脚本,至少一个脚本中的每个脚本包含多个操作命令,以便受控端根据脚本执行多个操作命令。

本发明另一实施例中,接收模块还用于接收受控端以固定时间间隔发送的性能指标的值,其中性能指标的值包括:服务器在时间间隔内的性能指标的平均值。

本发明另一实施例中,接收模块还用于接收多个受控端分别发送的多个分析结果,生成模块按照多个分析结果的优先级,根据多个分析结果生成警告消息。

本发明的又一个方面提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,可执行指令被处理器执行时实现如上所述的方法。

本发明的又一个方面提供一种计算机设备,包括:存储器、处理器及存储在存储器中并可在处理器中运行的可执行指令,其中,处理器执行可执行指令时实现如上所述的方法。

根据本发明实施例提供的技术方案,受控端在获取服务器性能指标的值之后,在受控端对上述值进行处理,以确定服务器是否处于异常状态,并且在服务器处于异常状态的情况下向主控端发送信息,使得主控端和受控端之间传输的数据量下降,并且化简了主控端对数据的处理过程,从而避免了主控端与受控端之间产生网络阻塞,也降低了监控过程对主控端资源的需求。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是本发明的各实施例所涉及的应用场景的示意图。

图2是根据本发明一示例性实施例示出的一种监控云平台中的服务器的性能的方法的流程图。

图3是根据本发明另一示例性实施例示出的一种监控云平台中的服务器的性能的方法的流程图。

图4是根据本发明另一示例性实施例示出的一种受控端的框图。

图5是根据本发明一示例性实施例示出的一种主控端的框图。

图6是根据本发明一示例性实施例示出的一种监控云平台中的服务器的性能的方法所涉及的应用场景的示意图。

图7是根据本发明另一个实施例示出的一种监控云平台中的服务器的性能的方法的示意流程图。

图8是根据本发明一示例性实施例示出的用于组网的计算机设备的框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。根据本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明的各实施例所涉及的应用场景的示意图,该应用场景包括:主控端110、服务器130和受控端120。主控端由一台服务器构成,用于收集受控端发送的信息并呈现给维护人员。主控端110还能向受控端发送信息,使得维护人员通过主控端110对服务器130进行维护和操作。服务器130为云平台提供服务,维护人员通过主控端110对其工作状态进行监控。受控端120部署在服务器130上,对服务器130的性能指标值进行收集和分析,并且在必要的情况下将分析结果发送给主控端,以便维护人员通过主控端了解服务器130的工作状态。通常情况下,云平台包含多个服务器130,此时,每个服务器130上分别部署一个受控端120,并且每个服务器130分别与主控端110建立通信连接,用于传输主控端110与受控端120之间的通信数据。

图2是根据本发明一示例性实施例示出的一种监控云平台中的服务器的性能的方法的流程图。图2的方法可由图1中的受控端120执行,如图2所示,包括如下内容。

210,受控端获取服务器的性能指标的值,受控端位于服务器上。

本发明实施例中,性能指标是指能够反映服务器性能的硬件或软件指标,例如,处理器利用率、线程数量或内存占用率等。应当理解的是,性能指标还包括维护人员自行设定的指标,例如某软件的运行时间长度或者某端口的数据传输量。

本发明实施例中,受控端设置在服务器上,用于获取该服务器的性能指标值,并监控该服务器的状态,从而使得监控系统不需借助网络就能完成对服务器性能指标值的获取。

受控端可以是设置在该服务器上的由软件或硬件实现的逻辑模块。

220,受控端根据性能指标的值生成分析结果,分析结果用于指示服务器的状态。

本发明实施例中,分析结果指受控端根据预先设定,对收集到的数据进行处理的结果,或者受控端根据机器学习得到的模型,对服务器状态进行判断的结果。例如,分析结果可以指受控端根据管理员的预先设定,对一段时间内收集到的处理器占用率求平均值的计算结果。或者分析结果可以指受控制端根据管理员的预先设定,对一段时间内收集到的服务器流量值求和的计算结果。分析结果还可以是受控端根据机器学习的得到的线程数量与服务器状态之间的关系模型,判断当前线程数量下服务器的状态的判断结果。

服务器状态指服务器的工作状态,管理人员可以根据需要进行设定,例如,管理员设定当处理器利用率处在30%以下、30%-80%之间和80%以上时,分别对应服务器处在空闲状态、工作状态和繁忙状态。受控端可以根据受控端机器学习得到的模型判断服务器状态。

本发明实施例中,通过上述步骤,在部署了受控端的服务器上,对受控端收集的数据进行处理,使得数据处理过程不必借助受控端和主控端之间的网络完成,进而降低了监控过程对网络造成的负担。此外,由于不再由主控端对上述数据进行处理,因此,还减轻了主控端的数据处理压力。

230,在分析结果指示服务器处于异常状态的情况下,受控端将分析结果发送至主控端。

本发明实施例中,异常状态可以由管理员进行预先设定,例如,管理员可以将服务器的繁忙状态设定为异常状态。根据本发明的实施例并不限于此,例如,也可以设定服务器的某一性能指标值超过一个阈值时,服务器处在异常状态,还可以是根据机器学习得到的模型,对服务器状态进行分类,以判断服务器是否处于异常状态。

异常状态的判断在受控端进行,减少了监控过程对主控端资源的占用,同时,由于只有在服务器处在异常状态时,受控端才与主控端通信,降低了受控端与主控端之间的通信次数,减轻了监控过程对网络造成的压力。

根据本发明实施例提供的技术方案,受控端在获取服务器性能指标的值之后,在受控端对上述性能指标的值进行处理,以确定服务器是否处于异常状态,并且在服务器处于异常状态的情况下向主控端发送信息,使得主控端和受控端之间传输的数据量下降,并且化简了主控端对数据的处理过程,从而避免了主控端与受控端之间产生网络阻塞,也降低了监控过程对主控端资源的需求。

本发明另一实施例中,受控端根据性能指标的值生成分析结果,包括:受控端通过机器学习建立服务器的历史状态与服务器的历史性能指标的值之间关系的模型;受控端根据模型分析获取的服务器的性能指标的值,生成分析结果。

本发明实施例中,受控端记录被监控服务器的状态历史和性能指标的历史值,并根据上述历史值进行机器学习,建立服务器状态与性能指标之间的关系模型。例如,受控端根据机器学习得到一模型,显示服务器在每天3:00至5:00时间段,处理器利用率处在40%-50%之间时,服务器为正常状态。再如,受控端根据机器学习,得到服务器处在正常状态下,线程数量每日的变化曲线。

本发明实施例中,受控端根据上述模型,对当前收集到的数据进行处理,例如,受控端在每天3:00至5:00时间段,判断处理器利用率是否处在40%-50%之间,如果不是,则判断处理器处在异常状态。再如,受控端根据当前收集到的线程数量值,与线程数量每日变化曲线上,该时间点对应的线程数量值之间的差值,判断服务器是否处于正常状态。

根据本发明实施例提供的技术方案,使用机器学习的方法分析受控端所在的服务器状态,能够针对每一个不同的服务器生成相适应的工作状态判断标准,进而提升判断的准确性。

本发明另一实施例中,还包括:受控端接收主控端发送的脚本触发命令,脚本触发命令用于触发受控端存储的脚本而执行多个操作命令,其中脚本包含多个操作命令;或者受控端接收主控端发送的脚本,脚本包含多个操作命令,以便受控端根据脚本执行多个操作命令。

脚本,是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。本发明实施例中,通过在受控端服务器上部署脚本语言环境,实现执行或编写特定语言的脚本,例如,在受控端服务器上部署shell脚本语言环境,使得受控端能够执行或编写shell语言脚本。

根据本发明实施例提供的技术方案,能够实现主控端与受控端通过一次通信执行多个操作命令,减少了主控端与受控端之间的通信次数,提高了网络的利用效率,也提高了对服务器进行操作的效率。

本发明另一实施例中,还包括:受控端以固定时间间隔向主控端发送性能指标的值,其中性能指标的值包括:服务器在时间间隔内的性能指标的平均值。

在本发明实施例中,固定时间间隔由管理员根据情况进行设定,时间间隔越长,主控端与受控端之间的通信频率越低,通信网络的负载随之下降。时间间隔越短,主控端与受控端之间通信信息的实时性越强,主控端对于受控端服务器性能指标的变化掌握越及时。

性能指标在时间间隔内的平均值能在一定程度上反映该性能指标的大小,同时,传输平均值只需要占用很少的网络资源。使得主控端和受控端之间的通信数据量进一步减少。

根据本发明实施例提供的技术方案,通过设置受控端发送信息的固定时间间隔,使得维护人员能够控制主控端和受控端的通信数据量和数据的实时性。

本发明另一实施例中,服务器为私有云服务器,还包括:受控端与主控端之间的通信通过节点控制器转发。

为了保证私有云服务器中数据的安全,通常情况下,私有云服务器不与外部网络建立通信连接,导致处在外部网络的主控端无法监控私有云中服务器的性能。

本发明实施例中,节点控制器可以是一台能够同时与外部网络和私有云平台通信的服务器或者交换机。节点控制器上部署有受控端,节点控制器上部署的受控端处在节点控制器工作模式,只进行与主控端和私有云内部署的受控端之间的信息交互,以保证私有云内其他数据的安全,同时实现主控端与私有云内部署的受控端之间的通信。

根据本发明实施例提供的技术方案,通过节点控制器建立了部署在私有云服务器上的受控端,和处在外部网络的主控端之间的通信连接,使得主控端能够对私有云或公有私有混合云的服务器状态进行监控。

图3是根据本发明一示例性实施例示出的一种监控云平台中的服务器的性能的方法的流程图。图3的方法与图2的方法相对应,在此适当省略详细的描述。图3的方法可由图1中的主控端110执行,如图3所示,包括:

310,主控端接收至少一个受控端分别在至少一个服务器处于异常状态时发送的至少一个分析结果,其中至少一个受控端分别位于至少一个服务器中,至少一个分析结果用于分别指示至少一个服务器的状态,至少一个分析结果分别是根据至少一个服务器的性能指标的值生成的;

320,主控端根据至少一个分析结果生成警告消息并发送。

根据本发明实施例提供的技术方案,主控端只进行分析结果的接收和警告消息的生成与发送,使得主控端和受控端之间传输的数据量下降,并且化简了主控端对数据的处理过程,从而使监控过程降低了网络的占用率,也降低了对主控端资源的需求。

本发明另一实施例中,还包括:主控端分别向至少一个受控端发送至少一个脚本触发命令,至少一个脚本触发命令中的每个脚本触发命令用于触发一个受控端存储的一个脚本而执行多个操作命令,其中脚本包含多个操作命令;或主控端分别向至少一个受控端发送至少一个脚本,至少一个脚本中的每个脚本包含多个操作命令,以便受控端根据脚本执行多个操作命令。

根据本发明实施例提供的技术方案,能够实现主控端与受控端通过一次通信执行多个操作命令,减少了主控端与受控端之间的通信次数,提高了网络的利用效率,也提高了对服务器进行操作的效率。

本发明另一实施例中,还包括:主控端接收受控端以固定时间间隔发送的性能指标的值,其中性能指标的值包括:服务器在时间间隔内的性能指标的平均值。

根据本发明实施例提供的技术方案,使得数据在受控端进行过滤,减少了冗余数据,进而减少了主控端与受控端之间通信的数据量,降低了通信网络的负担。

本发明另一实施例中,包括:主控端接收多个受控端分别发送的多个分析结果,其中主控端根据至少一个分析结果生成警告消息并发送,包括:主控端按照多个分析结果的优先级,根据多个分析结果生成警告消息并发送。

本发明实施例中,优先级的划分方法由管理员根据具体使用场景进行设定。例如,设定某一性能指标的值超出阈值越高,对应越高的优先级。再如,一段时间内来自同一服务器的分析结果越多,这些分析结果对应越高的优先级。

根据本发明实施例提供的技术方案,使得主控端能够优先接收并处理更加紧急的分析结果,提升对服务器监控进行监控的质量。

图4是根据本发明另一示例性实施例示出的一种服务器400的框图。服务器400用于执行图2的方法。如图4所示,该装置400包括:

获取模块410,用于获取服务器的性能指标的值;

分析模块420,用于根据性能指标的值生成分析结果,分析结果用于指示服务器的状态;

发送模块430,用于在分析结果指示服务器处于异常状态的情况下,受控端将分析结果发送至主控端。

根据本发明实施例提供的技术方案,受控端在获取服务器性能指标的值之后,在受控端对上述值进行处理,以确定服务器是否处于异常状态,并且在服务器处于异常状态的情况下向主控端发送信息,使得主控端和受控端之间传输的数据量下降,并且化简了主控端对数据的处理过程,从而避免了主控端与受控端之间产生网络阻塞,也降低了监控过程对主控端资源的需求。

本发明另一实施例中,分析模块通过机器学习建立服务器的历史状态与服务器的历史性能指标的值之间关系的模型,并根据模型分析获取的服务器的性能指标的值,生成分析结果。

根据本发明实施例提供的技术方案,使用机器学习的方法分析受控端所在的服务器状态,能够针对每一个不同的服务器生成相适应的工作状态判断标准,进而提升判断的准确性。

本发明另一实施例中,服务器还包括:脚本执行模块,用于存储和执行脚本而执行多个操作命令,其中脚本包含多个操作命令,其中获取模块还用于接收主控端发送的脚本触发命令,脚本触发命令用于触发脚本执行模块存储的脚本;或者获取模块还用于接收主控端发送的脚本,脚本包含多个操作命令,以便脚本执行模块根据脚本执行多个操作命令。

根据本发明实施例提供的技术方案,能够实现主控端与受控端通过一次通信执行多个操作命令,减少了主控端与受控端之间的通信次数,提高了网络的利用效率,也提高了对服务器进行操作的效率。

本发明另一实施例中,发送模块还用于以固定时间间隔向主控端发送性能指标的值,其中性能指标的值包括:服务器在时间间隔内的性能指标的平均值。

性能指标在时间间隔内的平均值能在一定程度上反映该性能指标的大小,同时,传输平均值只需要占用很少的网络资源。使得主控端和受控端之间的通信数据量进一步减少。

根据本发明实施例提供的技术方案,通过设置受控端发送信息的固定时间间隔,使得维护人员能够控制主控端和受控端的通信数据量和数据的实时性。

本发明另一实施例中,服务器为私有云服务器,服务器与主控端之间的通信通过节点控制器转发。

根据本发明实施例提供的技术方案,通过节点控制器建立了部署在私有云服务器上的受控端,和处在外部网络的主控端之间的通信连接,使得主控端能够对私有云或公有私有混合云的服务器状态进行监控。

装置400的各模块的操作和功能可以参考上述图2的方法,为了避免重复,在此不再赘述。

图5是根据本发明一示例性实施例示出的一种服务器500的框图。服务器500用于执行图3的方法。如图5所示,该装置500包括:

接收模块510,用于接收至少一个受控端分别在至少一个服务器处于异常状态时发送的至少一个分析结果,其中至少一个受控端分别位于至少一个服务器中,至少一个分析结果用于分别指示至少一个服务器的状态,至少一个分析结果分别是根据至少一个服务器的性能指标的值生成的;

生成模块520,用于根据至少一个分析结果生成警告消息;

发送模块530,用于发送警告消息。

根据本发明实施例提供的技术方案,主控端只进行分析结果的接收和警告消息的生成与发送,使得主控端和受控端之间传输的数据量下降,并且化简了主控端对数据的处理过程,从而降低了网络的占用率,也降低了对主控端资源的需求。

本发明另一实施例中,发送模块还用于向至少一个受控端发送至少一个脚本触发命令,至少一个脚本触发命令中的每个脚本触发命令用于触发一个受控端存储的一个脚本而执行多个操作命令,其中脚本包含多个操作命令;或发送模块分别向至少一个受控端发送至少一个脚本,至少一个脚本中的每个脚本包含多个操作命令,以便受控端根据脚本执行多个操作命令。

根据本发明实施例提供的技术方案,能够实现主控端与受控端通过一次通信执行多个操作命令,减少了主控端与受控端之间的通信次数,提高了网络的利用效率,也提高了对服务器进行操作的效率。

本发明另一实施例中,接收模块还用于接收受控端以固定时间间隔发送的性能指标的值,其中性能指标的值包括:服务器在时间间隔内的性能指标的平均值。

根据本发明实施例提供的技术方案,使得数据在受控端进行过滤,减少了冗余数据,进而减少了主控端与受控端之间通信的数据量,降低了通信网络的负担。

本发明另一实施例中,接收模块还用于接收多个受控端分别发送的多个分析结果,生成模块按照多个分析结果的优先级,根据多个分析结果生成警告消息。

根据本发明实施例提供的技术方案,使得主控端能够优先接收并处理更加紧急的分析结果,提升对服务器监控进行监控的质量。

装置500的各模块的操作和功能可以参考上述图3的方法,为了避免重复,在此不再赘述。

图6是根据本发明一示例性实施例示出的一种监控云平台中的服务器的性能的方法所涉及的应用场景的示意图。如图6所示,该场景包括:私有云服务器650、公有云服务器630、节点控制器640和主控端610。私有云平台包括多个用于提供云服务的服务器650,每个服务器上都部署有受控端660。通常情况下,为了保证私有云平台中数据的安全,私有云平台不能与外部网络建立连接。私有云平台内部署的受控端660需要通过节点控制器640与处在外部网络的主控端610进行通信。公有云平台包括多个公有云服务器630,每个公有云服务器630上都部署有受控端620,受控端620可以通过网络直接与主控端610建立通信连接。

本发明实施例中,受控端620安装在公有云平台的服务器630上,收集服务器630的性能指标值。性能指标值包括常规性能指标,例如,处理器利用率或服务器带宽占用率。性能指标还包括非常规性能指标,例如,服务器上某一软件的运行情况,或者服务器上某一特定端口的通信情况,再或者管理员根据使用场景设置的其他性能指标。对于私有云服务器650上部署的受控端660,其工作方式与上述受控端620的工作方式相同,为简洁起见,在此不再赘述。

受控端620接收性能指标后,对性能指标进行处理分析。本发明实施例中,首先,受控端620根据设置,求出常规或非常规性能指标在一段时间内的平均值并上传主控端610。例如,根据设置,受控端每10分钟向主控端610上传一次常规性能指标的平均值,此平均值为本次上传与上一次上传之间,常规性能指标在10分钟内的平均值。对于私有云服务器650上部署的受控端660,其工作方式与上述受控端620的工作方式相同,为简洁起见,在此不再赘述。

其次,受控端620将性能指标值和服务器状态保存,以生成历史数据,并根据历史数据,通过机器学习的方法,建立性能指标值与服务器状态之间关系的模型,进一步根据此模型判断服务器是否处在正常工作状态。当受控端660判断服务器处在异常状态时,将上述性能指标的值和异常报告发送给主控端610。以处理器利用率这一性能指标为例,受控端620采用机器学习中的逻辑回归方法,对处理器利用率的历史数据进行处理。判断某一时刻处理器利用率达到一定值时,处理器是否处在异常状态。例如,受控端620通过对处理器利用率的历史数据进行学习,判断出当处在每日3:00-5:00时间段时,如果处理器利用率达到70%,则服务器处在异常状态;当处在每日15:00-17:00时间段时,如果处理器利用率低于40%,则服务器处在异常状态。此时受控端620向主控端610发送异常报告。

以服务器带宽占用率这一性能指标为例,受控端620采用机器学习中的多项式回归方法,对服务器带宽占用率的历史数据进行处理,得到服务器处于正常运行状态下,每天同一时间段内服务器带宽占用率的变化曲线,使得受控端620能够根据此曲线和预先的设定,判断出,当受控端620在该时间内采集到的实时数据与曲线之间的偏差超过预设值时,服务器处在异常状态。此时,受控端620向主控端610发送异常报告。对于私有云服务器650上部署的受控端660,其工作方式与上述受控端620的工作方式相同,为简洁起见,在此不再赘述。

应当理解的是,机器学习还包括多种不同方法,例如根据历史数据对服务器异常等级进行分类等,本发明实施例不限定只使用上述两种方法。同时,上述两种方法中涉及根据具体使用场景进行设定的内容,本发明实施例不做限定。

本发明实施例中,受控端620通过上述采集和分析方法,实现过滤冗余数据,并且受控端620在必要时才与主控端610主动汇报,从而解决了大型控制管理网络因实施监听导致的网络阻塞频繁出现的问题,提升了对服务器的监控效率和云平台网络的使用效率。

本发明实施例中,受控端620的上述机器学习过程在服务器的空闲时间进行。避免在服务器在繁忙时受控端620的机器学习过程占用过多的资源比例。使得受控端620的工作不对服务器的其他任务产生影响。例如,设定当服务器的处理器利用率达到80%时,不进行机器学习。对于私有云服务器650上部署的受控端660,其工作方式与上述受控端620的工作方式相同,为简洁起见,在此不再赘述。

本发明实施例中,主控端610接收受控端620发送的信息,并将信息呈现在交互界面上,提供给维护人员查看。维护人员可以通过主控端610发送信息给受控端620,实现对受控端620服务器的控制和维护。当被监控服务器为公有云服务器时,主控端610与受控端620之间能通过网络实现直接通信。当被监控的服务器包括私有云服务器时,本发明实施例还包括节点控制器640。节点控制器640用于转发主控端610与私有云服务器的受控端660之间的信息,实现主控端610对私有云或私有、公有混合云的监控。

本发明实施例中,节点控制器640可以是一台能够同时与外部网络和私有云平台通信的服务器或者交换机。节点控制器640上部署有受控端,节点控制器640上部署的受控端处在节点控制器640工作模式,只进行与主控端610和私有云内部署的受控端660之间的信息交互,以保证私有云内其他数据的安全,同时实现主控端610与私有云内部署的受控端660之间的通信。

本发明实施例中,主控端610通过对节点控制器640转发的性能指标值进行处理,得到私有云平台的整体性能。例如,节点控制器640将私有云平台中每一台服务器的内存占用率全部转发至主控端610,主控端610计算上述内存占用率的平均值,并将此平均值作为私有云平台整体内存占用率呈现给维护人员。

应当理解的是,性能指标值的种类和处理方式可以由维护人员自行设定,本发明实施例对此不作限定。

本发明实施例提供的方案中,还包括:主控端610在接收多个来自受控端620的信息时,将这些信息按照优先级排列并依次处理上述信息。例如,在一段时间范围内,受控端A向主控端610发送一次异常报告,告知一性能指标的值超出正常范围10%。受控端B向主控端610发送多次异常报告,告知同一性能指标的值超出正常范围10%。受控端C向主控端610发送一次异常报告,告知同一性能指标的值超出正常范围80%。受控端D向主控端610发送例行报告,报告服务器处于正常状态,此外还包括同一性能指标在这段时间内的平均值。主控端610根据预先设定,比较4份报告的类型、提交次数和超限程度,将4份报告的优先级按照如下顺序排列:受控端C<受控端B<受控端A<受控端D,并按照上述优先级顺序,对报告进行处理。对于私有云服务器650上部署的受控端660,其向主控端610发送的信息通过节点控制器640进行转发,并且在主控端610进行处理时,与受控端620发送的信息同时进行排序。

应当理解的是,优先级的排列规则可以根据维护人员的需求自行设定,本发明实施例对此不作限定。

本发明实施例中,主控端610还能发送指令激活受控端620上预先设置的事件脚步,使得受控端620按照脚本的设置对服务器进行操作,或者发送脚本给受控端620,使得受控端620按照接收到的脚本的设置对服务器进行操作。例如,在受控端620上部署shell脚本的语言环境,通过此语言环境,能够在受控端620上预先部署封装好的shell命令脚本,也可以执行主控端610发送的shell命令脚本。对于私有云服务器650上部署的受控端660,主控端610的脚本或脚本激活命令通过节点控制器640转发。受控端660在接收到节点控制器640转发的信息后,其工作方式与上述受控端620的工作方式相同,为简洁起见,在此不再赘述。

本发明实施例中,主控端610与受控端620通信时,通过密钥对通信信息进行加密,使得其他人即使获取通信信息也无法获知通信内容,从而保证数据的安全。例如,主控端610部署完成控制软件之后,点击添加服务器获得通信密钥和通信ID,受控端620部署完成控制软件之后,输入命令行配置通信密钥,通信ID和主控端610IP后,受控端620会向主控端610发起配对请求,配对成功即添加成功,主控端610与受控端620之间可以使用此加密通道进行通信。节点控制器640与主控端610之间,节点控制器640与私有云服务器上的受控端660之间,也采用相同的方法建立通信连接,为简洁起见,在此不再赘述。

图7是根据本发明另一个实施例示出的一种监控云平台中的服务器的性能的方法的示意流程图。该方法包括:

710:受控端获取服务器性能指标的值。

720:受控端根据预先设置或学习得到的模型对数据进行分析。

730:受控端将性能指标的值和服务器状态存储为历史数据。

740:受控端通过机器学习对历史数据进行学习。

750:受控端根据分析结果判断服务器是否处在正常工作状态。

760:如果服务器处在非正常工作状态,则受控端向主控端发送报告。

770:主控端接收报告。

780:主控端按照报告的优先级对报告进行排序。

790:主控端处理报告。

7110:主控端发送脚本或脚本激活命令。

7120:受控端接收脚本或脚本激活命令。

7130:受控端运行脚本或脚本激活命令。

根据本发明实施例提供的技术方案,受控端在获取服务器性能指标的值之后,在受控端对上述值进行处理,以确定服务器是否处于异常状态,并且在服务器处于异常状态的情况下向主控端发送信息,使得主控端和受控端之间传输的数据量下降,并且化简了主控端对数据的处理过程,从而避免了主控端与受控端之间产生网络阻塞,也降低了监控过程对主控端资源的需求。

图8是根据本发明一示例性实施例示出的用于组网的计算机设备800的框图。

参照图8,装置800包括处理组件810,其进一步包括一个或多个处理器,以及由存储器820所代表的存储器资源,用于存储可由处理组件810的执行的指令,例如应用程序。存储器820中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件810被配置为执行指令,以执行上述对云平台中的服务器的性能的监控方法。

装置800还可以包括一个电源组件被配置为执行装置800的电源管理,一个有线或无线网络接口被配置为将装置800连接到网络,和一个输入输出(I/O)接口。装置800可以操作基于存储在存储器820的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

一种非临时性计算机可读存储介质,当存储介质中的指令由上述装置800的处理器执行时,使得上述装置800能够执行一种监控云平台中的服务器的性能的方法,包括:受控端获取服务器的性能指标的值,受控端位于服务器上;受控端根据性能指标的值生成分析结果,分析结果用于指示服务器的状态;在分析结果指示服务器处于异常状态的情况下,受控端将分析结果发送至主控端。根据本发明实施例提供的技术方案,受控端在获取服务器性能指标的值之后,在受控端对上述值进行处理,以确定服务器是否处于异常状态,并且在服务器处于异常状态的情况下向主控端发送信息,使得主控端和受控端之间传输的数据量下降,并且化简了主控端对数据的处理过程,从而避免了主控端与受控端之间产生网络阻塞,也降低了监控过程对主控端资源的需求。

本领域技术人员在考虑说明书及实践这里的公开内容后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由上面的权利要求报告。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1