技术领域
本发明涉及集群服务故障预警技术领域,具体为一种基于RPC服务监控的集群服务故障预警系统。
背景技术
随着计算机制造技术和网络通信技术的不断发展,集群系统因扩展性好、性价比高等优势,逐渐取代传统的大型机和巨型机,在众多工业领域取得广泛应用。然而,集群系统往往由普通计算机节点组成,无法保证每时每刻稳定可靠运行,节点故障或者网络问题,甚至是突增的访问量,都能够使集群中断服务。因此,集群监控成为保证集群稳健服务的关键技术。
集群系统的节点通常以远程服务调用的方式进行通信,节点通过调用其他节点的远程服务接口完成功能,同时本身亦通过远程服务调用接口对外提供服务。远程服务调用(Remote Procedure Call,RPC)是一种进程间通信方式,允许进程通过网络调用远程服务接口完成功能。然而,RPC服务因跨主机通信的缘故,因网络故障、对端故障而失败的几率大大增加。掌握RPC服务的成功率、延时等信息,有助于掌握集群服务现状、保障集群服务质量。因此,如何通过对远程服务调用服务的监控操作,实现对集群系统的监控预警,成为保障集群系统服务质量的一种有效解决方案。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供一种基于RPC服务监控的集群服务故障预警系统,以解决如何通过对远程服务调用服务的监控操作,实现对集群系统的监控预警的技术问题。
(二)技术方案
为实现上述目的,本发明提供如下技术方案:
一种基于RPC服务监控的集群服务故障预警系统,包括:运行有集群服务故障预警系统服务端软件且部署在远程云端的云计算服务器CCScsfa,运行有集群服务故障预警系统用户端软件且用于执行集群服务器运维管理任务的计算机终端PCTcsfa,该计算机终端PCTcsfa通过网络通信设备与云计算服务器CCScsfa进行相互之间的通信连接;
所述集群服务故障预警系统包括数据采集代理节点CNi、网关服务器、数据计算中心,该数据计算中心与网关服务器进行相互之间的通信连接,网关服务器与采集代理节点CNi进行相互之间的通信连接。
进一步的,所述数据采集代理节点CNi被部署在每一台监控节点,负责收集被监控进程RPC框架通过进程间通信上报的监控数据,并将该数据主动发送到网关服务器。
进一步的,所述数据计算中心负责大规模监控数据流的实时计算和实时分析,主要包含数据清洗模块、数据统计模块、结果分析与告警模块、数据存储模块。
进一步的,所述数据分析和告警模块负责基于阈值判断规则对监控数据流的统计结果进行分析,判断是否需要向运维平台发出告警。
(三)有益的技术效果
与现有技术相比,本发明具备以下有益的技术效果:
本发明通过在每一台监控节点部署数据采集代理节点CNi,用来收集被监控进程RPC框架通过进程间通信上报的监控数据,并将该数据主动通过网关服务器发送到数据计算中心,数据计算中心负责大规模监控数据流的实时计算和实时分析,并且基于阈值判断规则对监控数据流的统计结果进行分析,判断是否需要向运维平台发出告警,从而实现了通过对远程服务调用服务的监控操作,实现对集群系统的监控预警的技术效果。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于RPC服务监控的集群服务故障预警系统,包括:运行有集群服务故障预警系统服务端软件且部署在远程云端的云计算服务器CCScsfa,运行有集群服务故障预警系统用户端软件且用于执行集群服务器运维管理任务的计算机终端PCTcsfa,该计算机终端PCTcsfa通过网络通信设备与云计算服务器CCScsfa进行相互之间的通信连接;
所述集群服务故障预警系统包括数据采集代理节点CNi、网关服务器、数据计算中心,该数据计算中心与网关服务器进行相互之间的通信连接,网关服务器与采集代理节点CNi进行相互之间的通信连接;
其中,数据采集代理节点CNi被部署在每一台监控节点,负责收集被监控进程RPC框架通过进程间通信上报的监控数据,并将该数据主动发送到网关服务器;
网关服务器负责处理数据采集代理节点CNi的数据上报请求,负责监控数据的汇聚;
进一步的,数据计算中心负责大规模监控数据流的实时计算和实时分析,主要包含数据清洗模块、数据统计模块、结果分析与告警模块、数据存储模块;
数据清洗模块负责从网关服务器获得原始监控数据流,并对原始监控数据流进行合法性和时效性检查;
数据统计模块负责统计监控数据流,包括机器的系统性能的统计和各个RPC接口的服务性能统计;
数据分析和告警模块负责基于阈值判断规则对监控数据流的统计结果进行分析,判断是否需要向运维平台发出告警;
数据存储模块负责将监控数据统计和分析结果存入数据库;
进一步的,在计算机终端PCTcsfa的操作系统上安装并运行有通讯权限认证系统服务端软件;
为了阻止非法的网络节点假冒云计算服务器CCScsfa通过集群服务故障预警系统向计算机终端PCTcsfa发送虚假的集群服务故障预警信息,计算机终端PCTcsfa在接收云计算服务器CCScsfa发送来的预警信息之前,通讯权限认证系统对云计算服务器CCScsfa的身份进行认证,该认证方法具体包括以下步骤:
步骤一,云计算服务器CCScsfa在通讯权限认证系统上进行通讯权限注册,具体如下:
云计算服务器CCScsfa在通讯权限认证系统上随机选取私钥x,计算公钥y=x*P,P为定义在有限域F上椭圆曲线E的生成元,将公钥y向通讯权限认证系统公开;
步骤二,当云计算服务器CCScsfa向计算机终端PCTcsfa发送集群服务故障预警信息时,通讯权限认证系统对云计算服务器CCScsfa的身份进行认证,具体如下:
云计算服务器CCScsfa随机选择一个整数N,计算M=N*P,并将M发送给通讯权限认证系统;
通讯权限认证系统随机选取字符l∈{0,1},并将字符l发送给云计算服务器CCScsfa;
云计算服务器CCScsfa计算N+l*x并传送给通讯权限认证系统;
通讯权限认证系统进行验证等式(N+l*x)*P=M+l*y是否成立;
如果上述等式成立,证明云计算服务器CCScsfa知道通信私钥x,具有合法通讯权限,则计算机终端PCTcsfa接受云计算服务器CCScsfa发送来的集群服务故障预警信息;
在上述认证过程中,密钥x在认证过程中只参与了运算,并不在通讯中进行传输,这使非法跟踪者无法在线路中截获到密钥,因此云计算服务器CCScsfa的身份认证过程是零知识性的;
其中,远程服务调用(Remote Procedure Call,RPC)是一种进程间通信协议,该协议允许应用进程通过网络向远程计算机上的应用进程请求服务,而无需了解底层网络细节,RPC采用客户端/服务端架构,主动请求服务的进程相当于客户端,提供服务的进程相对于服务端,客户端通过本地RPC接口请求服务端的RPC服务,RPC协议的基本通信流程为:客户端通过本地RPC接口传入请求的RPC服务接口方法与相关参数,本地接口将客户端请求封装为RPC消息,通过网络将RPC消息发送给服务端,服务端解析RPC消息,将RPC消息转换为调用请求,并执行相应的服务接口,最后将执行结果返回给客户端,当客户端收到服务结果,RPC调用结束。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
机译: 服务器集群中包含多个节点的集群中基于集群分散存储系统的最小带宽恢复编码方法AMD服务器通信中包含集群中的点的冗余且集群中存储的集群的冗余度系统
机译: 故障票服务系统,监控装置和故障票服务方法;用于故障单服务系统和监控设备
机译: 故障票服务系统,监控装置和故障票服务方法;用于故障单服务系统和监控设备