高可用的分布式计算机监控系统及其监控方法与流程

文档序号:17585171发布日期:2019-05-03 21:15阅读:157来源:国知局
高可用的分布式计算机监控系统及其监控方法与流程

本发明涉及一种计算机监控系统及其监控方法,特别是涉及一种高可用的分布式计算机监控系统及其监控方法。



背景技术:

现有的第一种方案针对于设备少,业务少,无服务质量要求或服务稳定无要求的情况下展开的监控手段,这种方案也是比较原始的方法,无法及时发现问题,也无法做到问题还原,况且登陆设备查看比较繁琐,对个人能力的要求也较高;第二种方法是目前大部分交换机及部分开源监控系统采用的方法,通过预留api接口或者远程登陆设备执行命令,该方法对网络环境的要求较高,也容易对中心节点造成较大的压力,当设备较多时中央处理效率将存在瓶颈,只能应用于设备少,网络状况有保障的环境,在生产环境这一要求很难达到;第三种方案也是目前大部分监控系统及公司所采用的方法,目前这些方法基本都存在着单点不可伸缩的问题,当运营商网络出现抖动和故障时会导致采集到的数据无法上报到中心节点,最终的体现就是无法及时发现设备和应用的问题,该方案中心处理节点还存在着服务瓶颈,当监控设备过多时,中心节点将无法及时处理新的数据,最终体现就是告警延迟,或者系统瘫痪。



技术实现要素:

本发明所要解决的技术问题是提供一种高可用的分布式计算机监控系统及其监控方法,其数据采集系统通过给多个上级上报数据,以适应国内网络系统环境恶略的情况,保证了监控数据采集的高可用性,避免单点故障;此监控系统任意模块都可以实现平行扩展,因此不会存在功能瓶颈,具有良好的可伸缩性,可以适用于任意的网络环境,设备规模的监控,真正意义上解决了现有技术所存在的弊端。

本发明是通过下述技术方案来解决上述技术问题的:一种高可用的分布式计算机监控系统包括:

管理控制中心,是一个基于django实现的web展示程序,用于给用户提供了web端配置告警策略,告警展示和监控数据图形展示的功能;

数据处理系统,用于接收数据收集系统传递的数据,将数据做存储并根据告警策略判断该数据是否异常,是否需要告警;

数据收集系统,用于负责接收采集端上报的数据,并通过哈西算法将设备的不同监控信息发送给不同的数据处理系统,用于保证同一设备的同一监控项在同一个数据处理系统上做存储和告警判断;

数据中转系统,用于负责从计算机设备上采集监控数据,主要包含三种采集方式:通过读取系统文件采集设备信息;通过运行脚本采集指定数据;通过http接口被动接受其他应用提包的数据;

数据采集系统,用于保证大型网络平台的高可用,负责将数据采集系统的数据做中转传递给数据收集系统,在网络状况比较好的情况下可以不需要该组件。

优选地,所述管理控制中心包括:

用户管理模块,用于负责用户的管理,从而控制哪些用户可以登录该系统,并且也为告警提供收件对象;

图形展示模块,用于根据不同设备和机房,或者其他规则分类,分组展示不同的监控数据图形,以便直观了解整个业务和系统,也是系统调优的依据;

告警策略管理模块,用于配置告警策略,控制哪些数据,哪个条件要发一条告警;

设备管理模块,用于对被监控的计算机进行管理,主要包括增删改查这些操作。

优选地,所述管理控制中心、数据处理系统、数据收集系统、数据中转系统、数据采集系统形成c-g-s模式监控架构。

优选地,所述数据处理系统、数据收集系统、数据中转系统都是无状态的。

本发明还提供一种高可用的分布式计算机监控系统的监控方法,其包括以下步骤:

步骤一,数据采集系统采集数据,将该系统部署在需要监控的计算机上,周期性的采集监控所需要的数据,例如cpu利用率,内存使用量,磁盘使用情况等;

步骤二,将采集到的数据,通过远程调用的方式上报给数据中转系统,需要重点说明的是同一份监控数据会同时上报给多个数据中转系统;

步骤三,数据中转系统做监控数据的中转,数据中转系统也是整个监控系统高可用的保障,同时也是有别与其他监控方案的地方;中转系统开放一个用于远程调用的rpc接口,供数据采集系统远程上报监控数据;

步骤四,数据中转系统会收到多个设备发送过来的数据,将平均100份数据组装成一个新的数据包,再将该数据包上报给数据收集系统;

步骤五,数据收集系统收到数据,将数据再传递给后端的数据处理模块,收据收集系统可以部署集群提高服务能力,集群前使用nginx做负载均衡;

步骤六,数据收集系统是服务端数据来源的门户,为了保证后端数据处理系统集群的性能,数据收集系统会根据上报数据的设备名及监控项做哈希运算,根据哈希运算的值将数据传递给不同的数据处理系统实例,并且能保障同一个设备的同一个监控项都在同一个数据处理系统实例上做处理;

步骤七,数据处理系统收到数据以会先做数据告警判断,如果数据符合告警条件,将会产生一条告警信息;

步骤八,做完告警判断以后,数据会被以rrd文件的形式存储在磁盘上,并将该数据rrd文件位置、所属设备、告警项等信息存在数据库中;

步骤九,数据存储在rrd中以后就可以在管理控制中心中查看了。

优选地,所述步骤一包括以下步骤:

步骤十一,采集系统主动检查被监控设备的运行状况,一般主要是检查系统信息所对应的文件,从而转换成数字的形式;

步骤十二,运行指定目录下的脚本,捕获脚本输出的信息;

步骤十三,采集系统有开放的的api,其他系统可以通过http的方式将数据报告给采集系统。

本发明的积极进步效果在于:本发明通过在计算机设备上部署数据采集程序,周期性的采集数据并将数据上报至中心节点,中心节点根据页面配置的告警策略,发送告警给指定的告警接收人,同时该组数据将被存储并以趋势图的形式展示在web页面,便于人们查看和分析问题。首先遇到监控网络状况不佳或者跨运营商的时候,我们在中心服务节点和数据采集节点间增加了一层代理,数据采集端可以配置多个上报地址,只要任意代理能上报数据就可以完成监控;其次中心节点数据收集以及处理分离,并且可横向扩展,由此我们的监控系统可以根据监控设备的规模实现可伸缩部署。由以上两点我们就可以保证监控系统的高可用和可伸缩。数据采集系统通过给多个上级上报数据,以适应国内网络系统环境恶略的情况,保证了监控数据采集的高可用性,避免单点故障;此监控系统任意模块都可以实现平行扩展,因此不会存在功能瓶颈,具有良好的可伸缩性,可以适用于任意的网络环境,设备规模的监控,真正意义上解决了现有技术所存在的弊端。

附图说明

图1为本发明高可用的分布式计算机监控系统的c-g-s架构示意图。

图2为本发明高可用的分布式计算机监控系统的监控方法的流程示意图。

图3为本发明中数据采集系统和中转系统间的详细数据流向示意图。

图4为本发明中数据收集系统集群部署方式示意图。

具体实施方式

下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。

如图1所示,本发明高可用的分布式计算机监控系统包括管理控制中心(monitorcenter)、数据处理系统(monitorbrain)、数据收集系统(monitorcollector)、数据中转系统(monitorgateway)、数据采集系统(monitoragent),其中:

管理控制中心,是一个基于django(万维网开发框架)实现的web(worldwideweb,万维网)展示程序,用于给用户提供了web端配置告警策略,告警展示和监控数据图形展示的功能;

数据处理系统,用于接收数据收集系统传递的数据,将数据做存储并根据告警策略判断该数据是否异常,是否需要告警;

数据收集系统,用于负责接收采集端上报的数据,并通过哈西算法将设备的不同监控信息发送给不同的数据处理系统,用于保证同一设备的同一监控项在同一个数据处理系统上做存储和告警判断;

数据中转系统,用于负责从计算机设备上采集监控数据,主要包含三种采集方式:通过读取系统文件采集设备信息;通过运行脚本采集指定数据;通过http(hypertexttransferprotocol,超文本传输协议)接口被动接受其他应用提包的数据;

数据采集系统,用于保证大型网络平台的高可用,负责将数据采集系统的数据做中转传递给数据收集系统,在网络状况比较好的情况下可以不需要该组件。

所述管理控制中心包括用户管理模块、图形展示模块、告警策略管理模块、设备管理,其中:

用户管理模块,用于负责用户的管理,从而控制哪些用户可以登录该系统,并且也为告警提供收件对象;

图形展示模块,用于根据不同设备和机房,或者其他规则分类,分组展示不同的监控数据图形,以便直观了解整个业务和系统,也是系统调优的依据;

告警策略管理模块,用于配置告警策略,控制哪些数据,哪个条件要发一条告警;

设备管理模块,用于对被监控的计算机进行管理,主要包括增删改查这些操作。

所述管理控制中心、数据处理系统、数据收集系统、数据中转系统、数据采集系统形成c-g-s(client-gateway-server,客户端-中转系统-服务端)模式监控架构,这样提高可用性。

所述数据处理系统、数据收集系统、数据中转系统都是无状态的,这样可以实现平行扩展,并且任意实例出现故障都不会影响整个监控系统的可用性,因此我们的监控系统是一个由多个无状态的子系统来保证其高可用的根据具体业务量和网络环境来选择并行扩展的数量。

如图2至图4所示,本发明高可用的分布式计算机监控系统的监控方法,其包括以下步骤:

步骤一,数据采集系统采集数据,将该系统部署在需要监控的计算机上,周期性的采集监控所需要的数据,例如cpu(centralprocessingunit,中央处理器)利用率,内存使用量,磁盘使用情况等;

步骤二,将采集到的数据,通过远程调用的方式上报给数据中转系统,需要重点说明的是同一份监控数据会同时上报给多个数据中转系统;

步骤三,数据中转系统做监控数据的中转,数据中转系统也是整个监控系统高可用的保障,同时也是有别与其他监控方案的地方;中转系统开放一个用于远程调用的rpc(remoteprocedurecallprotocol,远程过程调用协议)接口,供数据采集系统远程上报监控数据;

步骤四,数据中转系统会收到多个设备发送过来的数据,将平均100份数据组装成一个新的数据包,再将该数据包上报给数据收集系统;

步骤五,数据收集系统收到数据,将数据再传递给后端的数据处理模块,收据收集系统可以部署集群提高服务能力,集群前使用nginx(高性能的超文本传输协议和反向代理服务器)做负载均衡;

步骤六,数据收集系统是服务端数据来源的门户,为了保证后端数据处理系统集群的性能,数据收集系统会根据上报数据的设备名及监控项做哈希运算,根据哈希运算的值将数据传递给不同的数据处理系统实例,并且能保障同一个设备的同一个监控项都在同一个数据处理系统实例上做处理;

步骤七,数据处理系统收到数据以会先做数据告警判断,如果数据符合告警条件,将会产生一条告警信息;

步骤八,做完告警判断以后,数据会被以rrd(readreceivedataregister,读接收数据寄存器)文件的形式存储在磁盘上,并将该数据rrd文件位置、所属设备、告警项等信息存在数据库中;

步骤九,数据存储在rrd中以后就可以在管理控制中心中查看了。

所述步骤一包括以下步骤:

步骤十一,采集系统主动检查被监控设备的运行状况,一般主要是检查系统信息所对应的文件,从而转换成数字的形式;

步骤十二,运行指定目录下的脚本,捕获脚本输出的信息;

步骤十三,采集系统有开放的的api(applicationprogramminginterface,应用程序编程接口),其他系统可以通过http的方式将数据报告给采集系统。

以上所述的具体实施例,对本发明的解决的技术问题、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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