主机性能监控方法及装置、电子设备及存储介质与流程

文档序号:19809252发布日期:2020-01-31 18:04阅读:187来源:国知局
主机性能监控方法及装置、电子设备及存储介质与流程

本发明涉及安全监控领域,尤其涉及一种主机性能监控方法及装置、电子设备及存储介质。



背景技术:

现有生产服务器集群的主机性能监控需要在每台主机上部署监控agent获取主机的性能特征,每个主机都要新增大量的日志输出代码,并且,面对大量的服务器集群,可能还增加专门的运维成本。

对服务器集群进行性能监控时,监控计算机服务器集群中的各个服务器在运行过程中主板产生的海量机器码指令,利用大数据技术中的实时流数据采集框架对主板产生的机器码指令数据进行实时采集,这样部署和更新十分繁琐,代码侵入性风险大。

因此,亟需一种只通过监控某一主机性能就能触发整个服务器集群之间主机性能监控的方法。



技术实现要素:

本发明提供一种主机性能监控方法及装置、电子设备及存储介质,其主要目的在于通过在服务器集群之间建立主机密钥生成系统、从机密钥管理系统来建立主节点主机与从节点主机之间的互信关系,然后基于该互信关系启动主机监控程序,进而达成对整个主机性能的监控,确保服务器集群中各主机的性能监控的一致性。

为实现上述目的,本发明提供的主机性能监控方法,应用于电子设备,所述方法包括:

以ip主机为集群节点,通过tcp协议搭建去中心化的点对点分布式网络以形成服务器集群,并根据ip主机的性能和所运行任务量在所述服务器集群中确定主节点主机、从节点主机;

在所述主节点主机、从节点主机之间通过传输信道建立基于公私密钥对的互信关系;

通过所述主节点主机及根据所述互信关系采集监控指标值,根据所述监控指标值获取所述从节点主机的运行状态;

通过所述主节点主机判断所述运行状态是否异常,若所述运行状态异常,则生成告警报文,并将所述告警报文触发至监控端。

优选地,在根据ip主机的性能和所运行任务量在所述服务器集群中确定主节点主机、从节点主机的过程中,包括:

根据ip主机的cpu和/或内存的大小生成主机性能指标;

根据主机性能指标和主机所运行任务量对所述服务器集群中的各ip主机进行排序并生成排序结果;

根据所述排序结果确定出主节点主机,除主节点主机外的其余节点为从节点主机。

优选地,在所述主节点主机、从节点主机之间通过传输信道建立基于公私密钥对的互信关系的过程包括:

在所述主节点主机中建立主机密钥生成系统,在所述从节点主机中建立从机密钥管理系统;

基于非对称加密算法,在所述主机密钥生成系统生成公私密钥对;

将所述主机密钥生成系统生成的公私密钥对分离,并存储所述公私密钥对中的私钥于主节点主机中;

基于ssh协议或stp将所述公私密钥对中的公钥上传至服务器集群中各从机节点主机的从机密钥管理系统;

在所述从机密钥管理系统与主机密钥生成系统之间,基于dubbo协议、tcp协议、http协议中的任一协议建立传输通道,所述传输通道用于传输所述公钥并实现对所述私钥的解密,以建立互信关系。

优选地,在基于非对称加密算法,在所述主机密钥生成系统生成公私密钥对的过程中,包括:

在所述主节点主机的预设目录下生成关于所述主节点主机的公私密钥对;其中,所述公私密钥对中的公钥、私钥为字母,数字和符号的组合;

将所述公私密钥对中的公钥、私钥分别保存在预设隐藏路径下,并为所述从节点主机分配用户属组和对应的公钥访问权限;

优选地,在分配对应的用户属组和对应的公钥访问权限的过程中,包括:

通过所述主节点主机为所述从节点主机设置公钥访问权限,所述访问权限用于供所述从节点主机访问所述公钥。

优选地,通过所述主节点主机及根据所述互信关系采集监控指标值,根据所述监控指标值获取所述从节点主机的运行状态的过程包括:

通过所述主节点主机及根据所述互信关系获取从节点主机的ip地址序列并保存,并基于所获取的从节点主机的ip地址序列采集所述服务器集群中从节点主机上主机性能项的监控指标值,主机性能项的监控指标值包括所述主机的中央处理器使用率、内存使用率、io等待时间、磁盘使用率中的一项或多项;

判断是否采集到每个从节点主机的监控指标值,当判断出采集到每个从节点的监控指标值时,根据所述监控指标值获取所述从节点主机的运行状态,所述从节点主机的运行状态为正常状态;当判断出未采集到每个所述从节点的监控指标值时,根据所述监控指标值获取所述从节点主机的运行状态,所述从节点主机的运行状态为异常状态。

优选地,根据所述监控指标获取所述从节点主机的运行状态的过程包括:

根据所述监控指标确定出从节点主机的标识信息,并根据所述标识信息获取所述从节点主机的运行状态数据,每个从节点主机具有唯一对应的标识信息。

为实现上述目的,本发明还提供一种主机性能监控装置,该装置包括:

搭建形成模块,用于以ip主机为集群节点,通过tcp协议搭建去中心化的点对点分布式网络以形成服务器集群;

确定模块,用于根据ip主机的性能和所运行任务量在所述服务器集群中确定主节点主机、从节点主机;

建立模块,用于在所述主节点主机、从节点主机之间通过传输信道建立基于公私密钥对的互信关系;

采集获取模块,用于通过所述主节点主机及根据所述互信关系采集监控指标值,根据所述监控指标值获取所述从节点主机的运行状态;

判断模块,用于通过所述主节点主机判断所述运行状态是否异常;

生成触发模块,用于若所述运行状态异常,则生成告警报文,并将所述告警报文触发至监控端。为实现上述目的,本发明还提供一种主机性能监控电子设备,其特征在于,该电子设备包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述任一项所述的主机性能监控方法中的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有主机性能监控分析程序,所述主机性能监控分析程序被处理器执行时,实现前述任一项的主机性能监控方法中的步骤。

本发明提出的主机性能监控方法及装置、电子设备及存储介质,根据ip主机的性能和所跑任务量在所述服务器集群中确定主节点主机、从节点主机,然后在所述主节点主机、从节点主机之间通过传输信道建立基于公私密钥对的互信关系,进而启动主机监控程序达成对所述主机性能的监控,极大地确保了服务器集群中各主机的性能监控的一致性,节省了服务器资源,提升了服务器集群的整体性能。

附图说明

图1为本发明实施例的主机性能监控方法实施例的应用环境示意图;

图2为本发明实施例的主机性能监控方法的流程图;

图3为本发明实施例的主机性能监控装置图;

图4为根据本发明实施例的电子设备的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

为了解决前述现有生产服务器集群的主机性能监控需要在每台主机上部署监控agent获取主机的性能特征,部署和更新繁琐,代码侵入性风险大,运维成本高的问题,本发明从非对称加密算法入手,首先在服务器集群中确定主节点主机、从节点主机,然后建立主机密钥生成系统、从机密钥管理系统,建立主节点主机与从节点主机的互信关系,进而基于该互信关系调用监控程序完成对主机性能的监控。

具体的,根据本发明的一个实施例,提供一种主机性能监控方法,应用于电子设备40。

图1为根据本发明实施例的主机性能监控方法较佳实施例的应用环境示意图。如图1所示,在本实施例的实施环境中,包括计算机设备110以及计算机设备120。

其中的计算机设备110为集群中单节点的计算机设备,例如服务器集群节点中的电脑等计算机设备,计算机设备110与计算机设备120为服务器集群中的部分节点。

需要说明的是,计算机设备110以及计算机设备120可为平板电脑、笔记本电脑、台式计算机等,其为cenos(linux)系统,最好使用虚拟机,已安装了git,go,但并不局限于此。计算机设备110以及终端110可以通过蓝牙、usb(universalserialbus,通用串行总线)或者其他通讯连接方式进行连接,本发明在此不做限制。

图2为根据本发明实施例的主机性能监控方法的流程图。如图2所示,在本实施例中,主机性能监控方法包括如下步骤:

s110:以ip主机为集群节点,通过tcp协议搭建去中心化的点对点分布式网络以形成服务器集群,并根据ip主机的性能和所运行任务量在服务器集群中确定主节点主机、从节点主机;

步骤s110中,首先以多个ip主机为集群节点,通过tcp协议搭建去中心化的点对点分布式网络形成服务器集群,在形成服务器集群时运用虚拟机/docker容器构建特定数量的服务器,并在每个服务器部署特定的中间件和应用服务,各服务器之间通过相应的配置建立p2p网络协议,然后依据该服务器集群中各主机节点所对应的ip主机的性能和所跑任务确定出一个主节点主机以及多个从节点主机。一般,选择主机性能最好、所跑任务最少的ip主机为主节点主机,其余为从节点主机;若主机性能最好、所跑任务非最少,也可选定该ip主机为主节点主机,但主机性能非最好、所跑任务为最少的ip主机不可选定为主节点主机。其中,主机性能的评判标准至少包括cpu和内存,可用cpu和内存越大,主机性能越好。

s120:在步骤s110确定的主节点主机、从节点主机之间通过传输信道建立基于公私密钥对的互信关系;

在步骤s120中,首先在主节点主机中建立主机密钥生成系统,在从节点主机中建立从机密钥管理系统。其中,主机密钥生成系统用于生成公私密钥对,从机密钥管理系统用于接收公私密钥对中的公钥。

在分别建立了主机密钥生成系统和从机密钥管理系统之后,再基于非对称加密算法,在主机密钥生成系统生成公私密钥对;然后将主机密钥生成系统生成的公私密钥对分离为公钥和私钥,该公私密钥对中的私钥存储于主节点主机中,该公私密钥对中的公钥基于ssh(secureshell,安全外壳)协议或stp(spanningtreeprotocol,生成树协议)上传至服务器集群中各从机节点主机的从机密钥管理系统,进而在从机密钥管理系统与主机密钥生成系统之间至少基于dubbo、tcp、http协议建立传输通道,通过该传输通道,从机密钥管理系统中的公钥对存储于主机节点主机中的私钥进行解密,该公钥与该私钥解密完成后达成互信关系。

其中,在步骤s120中的该主机密钥生成系统生成公私密钥对的过程包括:

在主节点主机特定目录之下基于非对称加密算法生成关于该主机的公私密钥对,并且将该公私密钥对分别保存在预设的隐藏路径下,并分配对应的用户属组和权限,同时密钥管理系统中还会有一个预设的路径文件,保存上传到从节点主机中的公钥,并分配相应的属组和权限;其中,该特定目录指专门的文件夹用以生成该公私密钥对;该预设的隐藏路径指提前预设的文件夹,用来暂时存放生成的公私密钥对;该预设的路径文件是提前预设在从节点主机中的文件夹,用来存储该公私密钥对中的公钥;

非对称加密算法包括但不限于rsa、elgamal、背包算法、rabin、d-h、ecc算法,以rsa算法为例,通过执行ssh-keygen–trsa函数即可生成一对公司钥;

分配相应的属组和权限即设置只有授权的从节点主机才能访问服务器集群中的公钥,服务器集群中其余节点主机如需访问公钥,需要向主节点主机发起请求并获得授权,获得授权的从节点主机将公钥存储于从机密钥管理系统;在获得授权过程中,每个从节点都会有自己相应的使用用户,集群中公钥的文件的属组和权限是可以设定的,如果从节点用属于该公钥的用户属组并有相应的权限(读、写、修改),就可以执行相应的动作,服务器集群属于局域网,一般通过使用dubbo、tcp、http等协议传输,可以执行修改权限的脚本,获得相应的权限;

公私密钥对中的公钥和私钥分别是一长串无序的字母,数字和符号的组合,字符串越长,秘钥系统安全,字符串的长度可由加密算法算法控制。

其中,在在步骤s120中的通过传输通道,从机密钥管理系统中的公钥对存储于主机节点主机中的私钥进行解密,公钥与私钥解密完成后达成互信关系的过程中,从节点主机会触发执行监控脚本,经过主节点主机的私钥对监控任务进行加密,得到一串加密后的密文,通过传输通道传输至从节点主机,从节点主机获得监控任务密文,根据密文头信息,匹配与从机密钥管理系统中的公钥相对应的私钥,用私钥对监控任务密文进行解密,获得监控任务。

步骤s130:通过主节点主机基于步骤s120所建立的互信关系采集监控指标值,并根据监控指标值获取从节点主机的运行状态;

在步骤s130中,主节点主机基于步骤s120所建立的互信关系采集监控指标值,并根据监控指标值获取从节点主机的运行状态,若状态异常,则生成告警报文过程包括:

主节点主机基于步骤s120所建立的互信关系获取并保存从节点主机的ip地址序列并保存,并基于所获取的从节点主机的ip地址序列采集服务器集群中从节点主机上主机性能项的监控指标值;

其中,主机性能项至少含有cpu、mem、i/owait、disk的性能参数,即监控指标值包括:主机的中央处理器使用率cpu.busy、内存使用率mem.memused.percent、io等待时间disk.io.await、磁盘使用率df.statistics.used.percent;

其中根据监控指标获取从节点主机的运行状态即根据从节点返回的采集结果数据确定出主节点管理的从节点的唯一标识信息,并根据唯一标识信息,获取从节点的运行状态数据,该唯一标识信息是每个从节点主机独有的、且能说明该从节点主机运行状态的信息。

步骤s140:通过主节点主机判断运行状态是否异常,若运行状态异常,则生成告警报文并将告警报文触发至监控端。

判断是否采集到每个从节点主机的监控指标值,当采集到每个从节点的监控指标值时,确定服务器集群的运行状态为正常状态,并根据监控指标值获取从节点主机的运行状态;当未采集到从节点的采集结果时,确定服务器集群的运行状态为异常状态,并生成基于简单网络管理协议的snmp告警报文。

其中,这里所说的监控端要周期性地对服务器集群中所有的从节点主机进行检查,确定是否采集获取到每个从节点主机返回的监控指标值,当确定未获取到服务器集群中某个从节点主机返回的采集结果时,将该从节点主机的状态标记为异常并进行告警处理;当确定未采集获取到服务器集群中所有节点主机的监控指标值时,将该服务器集群的状态标记为异常并进行服务不可用告警处理。

本实施例中主机性能监控方法通过在服务器集群中确定出主节点主机、从节点主机,并在该主节点主机中建立主机密钥生成系统,在从节点主机中建立主机密钥管理系统的方式建立主节点主机、从节点主机之间的可信关系,进而启动监控程序,生成告警报文完成对服务器集群的监控,摆脱在每台主机单独部署agent获取性能特征的现状,降低了代码侵入性风险,节省了时间成本及运维成本,确保了服务器集群中各主机性能监控的一致性。

图3为本发明提出的主机性能监控装置图300,该装置300对应于主机性能监控方法,置于主机性能监控电子设备中。该装置包括搭建形成模块310、确定模块320、建立模块330、采集获取模块340、判断模块350和生成触发模块360。

该搭建形成模块310,用于以ip主机为集群节点,通过tcp协议搭建去中心化的点对点分布式网络以形成服务器集群;

确定模块320,用于根据ip主机的性能和所运行任务量在服务器集群中确定主节点主机、从节点主机;

建立模块330,用于在主节点主机、从节点主机之间通过传输信道建立基于公私密钥对的互信关系;

采集获取模块340,用于通过主节点主机及根据互信关系采集监控指标值,根据监控指标值获取从节点主机的运行状态;

判断模块350,用于通过主节点主机判断运行状态是否异常;

生成触发模块360,用于若运行状态异常,则生成告警报文,并将告警报文触发至监控端。图4为本发明电子设备示意图,在本实施例中,电子设备40可以是服务器、平板计算机、便携计算机、桌上型计算机等具有运算功能的终端设备。

该电子设备40包括:处理器41、存储器42、计算机程序43、网络接口及通信总线。

电子设备40可以是平板电脑、台式电脑、智能手机,但不限于此。

存储器42包括至少一种类型的可读存储介质。该至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子设备40的内部存储单元,例如该电子设备40的硬盘。在另一些实施例中,可读存储介质也可以是电子设备40的外部存储器,例如电子设备40上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。

在本实施例中,存储器42的可读存储介质通常用于存储安装于电子设备40的计算机程序43,搭建形成模块310、确定模块320、建立模块330、采集获取模块340、判断模块350和生成触发模块360等。

处理器41在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行存储器42中存储的程序代码或处理数据,例如主机性能监控程序43等。

网络接口可选地可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该电子设备40与其他电子设备之间建立通信连接。

通信总线用于实现这些组件之间的连接通信。

图4仅示出了具有组件41-43的电子设备40,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

在图4所示的电子设备实施例中,作为一种计算机存储介质的存储器42中可以包括操作系统、以及主机性能监控程序43;处理器41执行存储器42中存储的主机性能监控程序43时实现如下步骤:

以ip主机为集群节点,通过tcp协议搭建去中心化的点对点分布式网络以形成服务器集群,并根据ip主机的性能和所运行任务量在服务器集群中确定主节点主机、从节点主机;

在主节点主机、从节点主机之间通过传输信道建立基于公私密钥对的互信关系;

通过主节点主机及根据互信关系采集监控指标值,根据监控指标值获取从节点主机的运行状态;

通过主节点主机判断运行状态是否异常,若运行状态异常,则生成告警报文,并将告警报文触发至监控端。

在根据各主机节点所对应ip主机的性能和所运行任务量在服务器集群中确定主节点主机、从节点主机的过程中,包括:

选择主机性能最好、所跑任务较少的ip主机为主节点主机,其余节点为从节点主机;判定主机性能好的判断依据至少包括主机的cpu、内存,可用cpu和内存越大,主机的性能越好。

在主节点主机、从节点主机之间通过传输信道建立基于公私密钥对的互信关系的过程包括:

在主节点主机中建立主机密钥生成系统,在从节点主机中建立从机密钥管理系统;其中,主机密钥生成系统用于生成公私密钥对,从机密钥管理系统用于接收公私密钥对中的公钥;

基于非对称加密算法,在主机密钥生成系统生成公私密钥对;

将主机密钥生成系统生成的公私密钥对分离;其中,公私密钥对中的私钥存储于主节点主机中,公私密钥对中的公钥基于ssh协议或stp上传至服务器集群中各从机节点主机的从机密钥管理系统;

在从机密钥管理系统与主机密钥生成系统之间至少基于dubbo、tcp、http协议建立传输通道,通过传输通道,从机密钥管理系统中的公钥对存储于主机节点主机中的私钥进行解密,公钥与私钥解密完成后达成互信关系。

在基于非对称加密算法,在主机密钥生成系统生成公私密钥对的过程中,包括:

在主节点主机的预设目录下生成关于该主节点主机的公私密钥对;其中,公私密钥对中的公钥、私钥分别是一长串无序的字母,数字和符号的组合;

将公私密钥对中的公钥、私钥分别保存在特定的隐藏路径下,并为从节点主机分配对应的用户属组和权限;

在分配对应的用户属组和权限的过程中,包括:

通过主节点主机为从节点主机设置访问权限;其中,

只有具有访问权限的从节点主机才能访问服务器集群的公钥,服务器集群中的节点主机如需访问公钥,需要向主节点主机发起请求并获得授权。

主节点主机基于互信关系采集监控指标值,并根据监控指标值获取从节点主机的运行状态,若状态异常,则生成告警报文的过程包括:

主节点主机基于互信关系获取从节点主机的ip地址序列并保存,并基于所获取的从节点主机的ip地址序列采集服务器集群中从节点主机上主机性能项的监控指标值;

判断是否采集到每个从节点主机的监控指标值,当采集到每个从节点的监控指标值时,确定服务器集群的运行状态为正常状态,并根据监控指标值获取从节点主机的运行状态;当未采集到从节点的采集结果时,确定服务器集群的运行状态为异常状态,并生成基于简单网络管理协议的snmp告警报文。

该主机性能项的监控指标值至少包括:

主机的中央处理器使用率、内存使用率、io等待时间、磁盘使用率。

根据监控指标获取从节点主机的运行状态的过程包括:

根据从节点返回的采集结果数据确定出主节点管理的从节点的唯一标识信息,并根据唯一标识信息,获取从节点的运行状态数据;

其中,每个从节点主机对应一个唯一标识信息。

此外,本发明实施例还提出一种计算机可读存储介质,计算机可读存储介质中存储有主机性能监控程序,该主机性能监控程序被处理器执行时实现如下操作:

以ip主机为集群节点,通过tcp协议搭建去中心化的点对点分布式网络以形成服务器集群,并根据ip主机的性能和所运行任务量在服务器集群中确定主节点主机、从节点主机;

在主节点主机、从节点主机之间通过传输信道建立基于公私密钥对的互信关系;

通过主节点主机及根据互信关系采集监控指标值,根据监控指标值获取从节点主机的运行状态;通过主节点主机判断运行状态是否异常,若运行状态异常,则生成告警报文,并将告警报文触发至监控端。

本发明之计算机可读存储介质的具体实施方式与上述主机性能监控方法、电子设备的具体实施方式大致相同,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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