基于分布式推送的云监控方法、装置及系统的制作方法

文档序号:7796054阅读:138来源:国知局
基于分布式推送的云监控方法、装置及系统的制作方法
【专利摘要】本发明公开了一种基于分布式推送的云监控方法,包括:将待监控云计算资源划分为执行具体任务的监控虚拟机、负责提供监控虚拟机的运行环境的物理主机、云平台逻辑数据中心和负责监控虚拟机网络路由转发的监控路由;运行监控守护进程;分别采集所述监控虚拟机、物理主机、云平台逻辑数据中心和监控路由的数据;将所述分别采集的数据直接推送给云计算监控中心;本发明还公开了一种基于分布式推送的云监控装置,包括分类模块、监控守护模块、数据采集模块及数据推送模块;本发明还公开了一种基于分布式推送的云监控系统。本发明提出的基于分布式推送的云监控方法、装置及系统,能够准确、有效地进行云平台系统的监控。
【专利说明】基于分布式推送的云监控方法、装置及系统
【技术领域】
[0001]本发明涉及云计算【技术领域】,特别是指一种基于分布式推送的云监控方法、装置及系统。
【背景技术】
[0002]云计算平台是一种典型的大型复杂系统。为了提高云计算平台的运维与服务质量需要对云计算平台进行全面、智能、高效的监控。云监控是云计算平台的重要组成部分,通过云监控得到的数据,可以判断云平台的运行状况,同时还可以对云平台进行性能预测,将其作为云平台资源调度的依据。
[0003]云平台具有资源多样性、结构的复杂性、部署的分布性的特点,给监控任务带来的巨大挑战,使传统的监控方式已不再适应这种监控任务;而且,私有云计算平台还具有隔离网络环境的特点。

【发明内容】

[0004]有鉴于此,本发明的目的在于提出一种基于分布式推送的云监控方法、装置及系统,能够准确、有效地进行云平台系统的监控。
[0005]基于上述目的本发明提供的一种基于分布式推送的云监控方法,包括:
[0006]将待监控云计算资源划分为执行具体任务的监控虚拟机、负责提供监控虚拟机的运行环境的物理主机、云平台逻辑数据中心和负责监控虚拟机网络路由转发的监控路由;
[0007]运行监控守护进程;
[0008]分别采集所述监控虚拟机、物理主机、云平台逻辑数据中心和监控路由的数据;
[0009]将所述分别采集的数据直接推送给云计算监控中心。
[0010]在一些实施方式中,运行监控守护进程的步骤之前还包括:
[0011]运行监控后台进程,进行初始化处理,并返回初始化数据;以及,
[0012]从云计算监控中心下载监控守护进程。
[0013]在一些实施方式中,将所述分别采集的数据直接推送给云计算监控中心的步骤包括:
[0014]当网络中断时,将所述分别采集的数据存储在本地;
[0015]当网络恢复时,将存储在本地的所述分别采集的数据分批推送给云计算监控中心。
[0016]在一些实施方式中,将所述分别采集的数据存储在本地的步骤中:本地存储的文件形式为文本格式,每个监控信息数据对应存储为文本中的一条文本数据信息;所述文本数据信息的条数具有预定上限值;当文本数据信息的条数达到预定上限值,则进行滚动存储。
[0017]在一些实施方式中,所述方法还包括:
[0018]为每条所述文本数据信息对应设置推送标识;[0019]当文本数据信息已被推送时,修改推送标识;以及,
[0020]识别所述推送标识,将已被推送的文本数据信息删除。
[0021]本发明还提供了一种基于分布式推送的云监控装置,包括:
[0022]分类模块,用于将待监控云计算资源划分为执行具体任务的监控虚拟机、负责提供监控虚拟机的运行环境的物理主机、云平台逻辑数据中心和负责监控虚拟机网络路由转发的监控路由;
[0023]监控守护模块,用于运行监控守护进程;
[0024]数据采集模块,用于分别采集所述监控虚拟机、物理主机、云平台逻辑数据中心和监控路由的数据;
[0025]数据推送模块,用于将所述分别采集的数据直接推送给云计算监控中心。
[0026]在一些实施方式中,所述装置还包括监控后台模块,用于运行监控后台进程,对所述装置本身和所述监控虚拟机、物理主机、云平台逻辑数据中心及监控路由进行初始化处理,并返回初始化数据;
[0027]所述监控守护模块,还用于从云计算监控中心下载监控守护进程。
[0028]在一些实施方式中,所述装置还包括本地存储模块;
[0029]当网络中断时,所述本地存储模块用于存储所述分别采集的数据;
[0030]当网络恢复时,所述数据推送模块还用于将存储在本地存储模块中的所述分别采集的数据分批推送给云计算监控中心。
[0031]在一些实施方式中,所述本地存储模块中存储的文件形式为文本格式,每个监控信息数据对应存储为文本中的一条文本数据信息;所述文本数据信息的条数具有预定上限值;当文本数据信息的条数达到预定上限值,则所述本地存储模块还用于进行滚动存储。
[0032]在一些实施方式中,所述本地存储模块还用于为每条所述文本数据信息对应设置推送标识;当文本数据信息已被推送时,修改推送标识;以及,识别所述推送标识,将已被推送的文本数据信息删除。
[0033]本发明还提供了一种基于分布式推送的云监控系统,包括上述的基于分布式推送的云监控装置、待监控云计算资源以及云计算监控中心。
[0034]从上面所述可以看出,本发明提供的基于分布式推送的云监控方法、装置及系统,通过将待监控云计算资源划分为执行具体任务的监控虚拟机(Monitor-VM)、负责提供监控虚拟机的运行环境的物理主机(Monitor-Host)、云平台逻辑数据中心(Monitor-Zone)和负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter)四类资源,分别进行监控,解决了云计算平台资源多样性的监控问题。较佳的,本监控方案采用将监控数据主动推送到云计算监控中心的方式进行监控数据的获取,从而达到对监控目标的监控目的,解决了传统监控方法中轮询方式存在的请求多数无用且浪费带宽和服务器资源的问题。
[0035]进一步的,针对云计算平台网络环境的复杂性,所述云监控方法通过增设本地存储数据的方法,使得当与云计算监控中心能够网络联通时,将从监控对象中采集到的数据直接推送给云计算监控中心进而储存到云平台数据库,当与云计算监控中心网络中断时,仍按照预设的监控周期进行监控,此时采集到的数据会存储到本地数据库,当与云计算监控中心网络恢复时,将本地数据库中的数据分批全部推送到云计算平台的数据库中,保证监控数据的完整、连续、可靠。较佳的,本地存储采取文本格式存储,而不采用数据库,这样 既能够减少部署复杂度,又能够提高存取效率。
【专利附图】

【附图说明】
[0036]图1为本发明提供的基于分布式推送的云监控方法的一个实施例的流程图;
[0037]图2为本发明提供的基于分布式推送的云监控方法的另一个实施例的流程图;
[0038]图3为本发明提供的基于分布式推送的云监控装置的一个实施例的结构示意图。
【具体实施方式】
[0039]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0040]需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一” “第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
[0041]参照附图1,为本发明提供的基于分布式推送的云监控方法的一个实施例的流程图。
[0042]所述基于分布式推送的云监控方法,包括:
[0043]步骤101:将待监控云计算资源划分为执行具体任务的监控虚拟机、负责提供监控虚拟机的运行环境的物理主机、云平台逻辑数据中心和负责监控虚拟机网络路由转发的监控路由;
[0044]步骤102:运行监控守护进程;
[0045]步骤103:分别采集所述监控虚拟机、物理主机、云平台逻辑数据中心和监控路由的数据;
[0046]步骤104:将所述分别采集的数据直接推送给云计算监控中心。
[0047]可选的,运行监控守护进程的步骤102之前还可包括以下步骤:
[0048]运行监控后台进程,进行初始化处理,并返回初始化数据;以及,
[0049]从云计算监控中心下载监控守护进程。
[0050]进一步的,将所述分别采集的数据直接推送给云计算监控中心的步骤104可以下步骤:
[0051]当网络中断时,将所述分别采集的数据存储在本地;
[0052]当网络恢复时,将存储在本地的所述分别采集的数据分批推送给云计算监控中心。
[0053]较佳的,将所述分别采集的数据存储在本地的步骤中:本地存储的文件形式为文本格式,每个监控信息数据对应存储为文本中的一条文本数据信息;所述文本数据信息的条数具有预定上限值;当文本数据信息的条数达到预定上限值,则进行滚动存储。
[0054]可选的,所述方法还可包括以下步骤:
[0055]为每条所述文本数据信息对应设置推送标识;
[0056]当文本数据信息已被推送时,修改推送标识;以及,
[0057]识别所述推送标识,将已被推送的文本数据信息删除。
[0058]参照附图2,为本发明提供的基于分布式推送的云监控方法的另一个实施例的流程图。
[0059]所述基于分布式推送的云监控方法,包括:
[0060]步骤201:将待监控云计算资源划分为执行具体任务的监控虚拟机(Moni tor-VM)、负责提供监控虚拟机的运行环境的物理主机(Monitor-Host)、云平台逻辑数据中心(Monitor-Zone)和负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter,意即,连接隔离网络环境内部与外部的虚拟路由器);
[0061]步骤202:运行监控后台进程(Monitor-Server),对所述装置本身和所述监控虚拟机、物理主机、云平台逻辑数据中心及监控路由进行初始化处理,并返回初始化数据;
[0062]步骤203:从云计算监控中心下载监控守护进程;
[0063]步骤204:运行监控守护进程;
[0064]步骤205:分别采集所述监控虚拟机、物理主机、云平台逻辑数据中心和监控路由的数据;
[0065]步骤206:判断网络是否连通;
[0066]若是,则转到步骤207:将所述分别采集的数据直接推送给云计算监控中心;
[0067]若否,则转到步骤208:将所述分别采集的数据采用文本格式存储在本地;每个监控信息数据对应存储为文本中的一条文本数据信息;所述文本数据信息的条数具有预定上限值(例如500条数据);当文本数据信息的条数达到预定上限值,则进行滚动存储;这样可以防止因采集数据过多而引起存储相关的问题;
[0068]步骤209:为每条所述文本数据信息对应设置推送标识,并返回步骤206 ;
[0069]步骤210:修改已被推送的文本数据信息的推送标识;
[0070]步骤211:识别所述推送标识,将已被推送的文本数据信息删除,以保证已经被重新推送过的数据得到及时的清理。
[0071]较佳的,所述监控虚拟机、物理主机、云平台逻辑数据中心和监控路由的性能数据的采集是周期性地;可选的,所述方法还包括接收云计算监控中心的指令以及向云计算监控中心返回相应的数据。
[0072]所述步骤205—分别采集所述监控虚拟机、物理主机、云平台逻辑数据中心和监控路由的数据的步骤,具体地可解释为分别独立、异步的对相应资源进行数据采集。
[0073]其中,所述云平台逻辑数据中心的数据采集包括以下步骤:
[0074]运行云平台逻辑数据中心的监控守护进程;
[0075]从云计算监控中心中获取云平台逻辑数据中心的数据清单;
[0076]提取数据清单中的监控对象的IP和ID ;
[0077]周期性地对其性能数据进行采集并主动推送给云计算监控中心。
[0078]其中,所述负责提供监控虚拟机的运行环境的物理主机的数据采集包括以下步骤:
[0079]运行物理主机的监控守护进程;
[0080]从云计算监控中心中获取物理主机的数据清单;
[0081]根据主机类型进行分类,提取数据清单中的监控对象的IP和ID ;
[0082]分别采用与主机类型对应的采集方法,异步的、周期的对各个物理主机进行性能数据采集;[0083]将采集到的数据主动推送给云计算监控中心。
[0084]较佳的,可以将负责路由转发的监控路由(Monitor-vRouter)设置成云监控装置本身,来对同一网络隔离环境中的云计算资源进行监控;从而解决了云计算平台网络隔离环境带来的无法监控的问题。
[0085]因此,所述负责监控虚拟机网络路由转发的监控路由的数据采集包括以下步骤:
[0086]运行监控路由的监控守护进程;
[0087]从云计算监控中心中获取监控路由的数据清单;
[0088]提取数据清单中的监控对象的IP和ID ;
[0089]周期的对各个监控路由进行性能数据采集;
[0090]将采集到的数据主动推送给云计算监控中心。
[0091]其中,在对监控路由进行数据采集的同时,还要对每个监控路由负责经其转发的所有具体任务的监控虚拟机的数据采集的任务。具体包括:
[0092]运行监控脚本推送进程(Monitor-Loader-Transter);
[0093]将监控脚本进程发送给所述监控路由;
[0094]运行所述监控脚本进程;
[0095]从云计算监控中心中下载监控虚拟机监控守护进程;
[0096]运行监控虚拟机的监控守护进程;
[0097]从云计算监控中心中获取监控虚拟机的数据清单;
[0098]根据监控虚拟机的操作系统类型进行分类;
[0099]采用与操作系统类型相应的数据采集方法对其进行数据采集;
[0100]将采集到的数据主动推送给云计算监控中心。
[0101]从上面所述可以看出,本发明提供的基于分布式推送的云监控方法,通过将待监控云计算资源划分为执行具体任务的监控虚拟机(Monitor-VM)、负责提供监控虚拟机的运行环境的物理主机(Monitor-Host)、云平台逻辑数据中心(Monitor-Zone)和负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter)四类资源,分别进行监控,解决了云计算平台资源多样性的监控问题。较佳的,所述云监控方法采用将监控数据主动推送到云计算监控中心的方式进行监控数据的获取,从而达到对监控目标的监控目的,解决了传统监控方法中轮询方式存在的请求多数无用且浪费带宽和服务器资源的问题。
[0102]进一步的,针对云计算平台网络环境的复杂性,所述云监控方法通过增设本地存储数据的方法,使得当与云计算监控中心能够网络联通时,将从监控对象中采集到的数据直接推送给云计算监控中心进而储存到云平台数据库,当与云计算监控中心网络中断时,仍按照预设的监控周期进行监控,此时采集到的数据会存储到本地数据库,当与云计算监控中心网络恢复时,将本地数据库中的数据分批全部推送到云计算平台的数据库中,保证监控数据的完整、连续、可靠。较佳的,本地存储采取文本格式存储,而不采用数据库,这样既能够减少部署复杂度,又能够提高存取效率。
[0103]可选的,针对云计算平台执行具体任务的监控虚拟机(Monitor-VM)数量大、动态增减的不确定性,所述云监控方法采用针对IP定位执行具体任务的监控虚拟机(Monitor-VM)的方法,根据执行具体任务的监控虚拟机(Monitor-VM)数量的增减,同时动态的增减负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter)的数量,来确保每个执行具体任务的监控虚拟机(Monitor-VM)都能被有效监控到。
[0104]此外,针对云计算平台结构复杂性的特点,所述云监控方法还可分别针对KVM、Xen, VMWare等虚拟化管理系统在上述实施例中所述云监控方法的基本框架中稍加修改而得到不同的监控方案。针对云计算平台中操作系统的多样性,所述云监控方法还可采取对不同系统(例如,Windows操作系统和Linux操作系统)分类监控的方式。
[0105]需要特别指出的是,上述基于分布式推送的云监控方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于基于分布式推送的云监控方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
[0106]本发明的另一方面,还提供了一种基于分布式推送的云监控装置。
[0107]参照附图3,为本发明提供的基于分布式推送的云监控装置的一个实施例的结构示意图。
[0108]所述基于分布式推送的云监控装置(Monitor-Master,监控者)300,包括:
[0109]分类模块301,用于将待监控云计算资源(Monitor-Object,被监控者)划分为执行具体任务的监控虚拟机(Monitor-VM)、负责提供监控虚拟机的运行环境的物理主机(Monitor-Host)、云平台逻辑数据中心(Monitor-Zone)和负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter);
[0110]监控守护模块302,用于运行监控守护进程;
[0111]数据采集模块303,用于分别采集所述监控虚拟机、物理主机、云平台逻辑数据中心和监控路由的数据;
[0112]数据推送模块304,用于将所述分别采集的数据直接推送给云计算监控中心(Monitor-Center)。
[0113]所述监控守护模块302、数据采集模块303和数据推送模块304的一种可实现方式
是,三者集成为一个模块-守护模块(Mon i tor-Daemon ),用于采集所述监控虚拟机、物理
主机、云平台逻辑数据中心和监控路由的数据,并将所述分别采集的数据直接推送给云计算监控中心(Monitor-Center),同时向云计算监控中心(Monitor-Center)报告自己的状态。
[0114]所述数据推送模块304直接推送给云计算监控中心(Monitor-Center)的采集数据,可存储在云计算平台的网络数据库(Monitor-DataBase)中。
[0115]所述云平台逻辑数据中心(Monitor-Zone),包含物理服务器、存储设备、网络设备
坐寸ο
[0116]进一步的,所述装置还包括监控后台模块305,用于运行监控后台进程,对所述装置本身和所述监控虚拟机、物理主机、云平台逻辑数据中心及监控路由进行初始化处理,并返回初始化数据到云计算监控中心(Monitor-Center );
[0117]所述监控守护模块302,还用于从云计算监控中心下载监控守护进程。
[0118]其中,所述监控后台模块305,还用于判断是否已完成初始化处理,若未完成,则进行初始化处理,并将初始化数据推送给云计算监控中心。所述初始化处理包括初始化所述装置本身和所述监控虚拟机、物理主机、云平台逻辑数据中心及监控路由的数据列表,并将该数据列表推送给云计算监控中心。[0119]可选的,所述监控后台模块305,还用于监听所述装置本身(Monitor-Master)和所述监控虚拟机、物理主机、云平台逻辑数据中心的增加、删除、改动等信息;并实时更新云计算监控中心中的相关数据;所述监控后台模块305贯穿所述云监控装置的生命周期的始终。
[0120]所述装置还包括本地存储模块(Monitor-Local-DataBase) 306 ;
[0121]当网络中断时,所述本地存储模块306用于存储所述分别采集的数据;
[0122]当网络恢复时,所述数据推送模块304还用于将存储在本地存储模块306中的所述分别采集的数据分批推送给云计算监控中心。
[0123]所述本地存储模块306中存储的文件形式为文本格式,每个监控信息数据对应存储为文本中的一条文本数据信息;所述文本数据信息的条数具有预定上限值;当文本数据信息的条数达到预定上限值,则所述本地存储模块306还用于进行滚动存储。
[0124]所述本地存储模块306还用于为每条所述文本数据信息对应设置推送标识;当文本数据信息已被推送时,修改推送标识;以及,识别所述推送标识,将已被推送的文本数据信息删除。
[0125]可选的,云监控装置300还包括监控调度器(Monitor-Scheduler) 307,用于运行套接字后台监控进程(socket Server),接收云计算监控中心的指令(例如监控数据采集周期等)以及向云计算监控中心返回相应的数据。在运行监控守护进程之前,要确保套接字后台监控进程是启动的,套接字后台监控进程用于辅助采集监控对象的性能数据。
[0126]较佳的,所述数据采集模块303,还用于根据预先设定的用户需求,将采集到的原始监控数据进行处理,筛选出所需监控数据;所述数据推送模块304还用于将筛选出的监控数据按规定的方式推送给云计算监控中心。
[0127]下面结合上述基于分布式推送的云监控方法的另一个实施例对所述基于分布式推送的云监控装置300的工作过程进行详细描述。
[0128]参照附图2,为本发明提供的基于分布式推送的云监控方法的另一个实施例的流程图。
[0129]所述基于分布式推送的云监控方法,包括:
[0130]步骤201:所述分类模块301将待监控云计算资源划分为执行具体任务的监控虚拟机(Monitor-VM)、负责提供监控虚拟机的运行环境的物理主机(Monitor-Host)、云平台逻辑数据中心(Monitor-Zone)和负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter,意即,连接隔离网络环境内部与外部的虚拟路由器);
[0131]步骤202:所述监控后台模块305运行监控后台进程(Monitor-Server),对所述装置本身和所述监控虚拟机、物理主机、云平台逻辑数据中心及监控路由进行初始化处理,并返回初始化数据;
[0132]步骤203:所述监控守护模块302从云计算监控中心下载监控守护进程;
[0133]步骤204:所述监控守护模块302运行监控守护进程;
[0134]步骤205:所述数据采集模块303分别采集所述监控虚拟机、物理主机、云平台逻辑数据中心和监控路由的数据;
[0135]步骤206:判断网络是否连通;
[0136]若是,则转到步骤207:所述数据推送模块304将所述分别采集的数据直接推送给云计算监控中心;
[0137]若否,则转到步骤208:所述数据推送模块304将所述分别采集的数据采用文本格式存储在所述本地存储模块306 ;每个监控信息数据对应存储为文本中的一条文本数据信息;所述文本数据信息的条数具有预定上限值(例如500条数据);当文本数据信息的条数达到预定上限值,则进行滚动存储;这样可以防止因采集数据过多而引起存储相关的问题;
[0138]步骤209:所述数据推送模块304为每条所述文本数据信息对应设置推送标识,并返回步骤206 ;
[0139]步骤210:所述数据推送模块304修改已被推送的文本数据信息的推送标识;
[0140]步骤211:所述本地存储模块306识别所述推送标识,将已被推送的文本数据信息删除,以保证已经被重新推送过的数据得到及时的清理。
[0141]从上面所述可以看出,本发明提供的基于分布式推送的云监控装置,通过将待监控云计算资源划分为执行具体任务的监控虚拟机(Monitor-VM)、负责提供监控虚拟机的运行环境的物理主机(Monitor-Host)、云平台逻辑数据中心(Monitor-Zone)和负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter)四类资源,分别进行监控,解决了云计算平台资源多样性的监控问题。较佳的,所述云监控装置采用将监控数据主动推送到云计算监控中心的方式进行监控数据的获取,从而达到对监控目标的监控目的,解决了传统监控方法中轮询方式存在的请求多数无用且浪费带宽和服务器资源的问题。
[0142]进一步的,针对云计算平台网络环境的复杂性,所述云监控装置通过增设本地存储模块的方法,使得当与云计算监控中心能够网络联通时,将从监控对象中采集到的数据直接推送给云计算监控中心进而储存到云平台数据库,当与云计算监控中心网络中断时,仍按照预设的监控周期进行监控,此时采集到的数据会存储到本地存储模块,当与云计算监控中心网络恢复时,将本地存储模块中的数据分批全部推送到云计算平台的数据库中,保证监控数据的完整、连续、可靠。较佳的,本地存储采取文本格式存储,而不采用数据库,这样既能够减少部署复杂度,又能够提高存取效率。
[0143]可选的,针对云计算平台执行具体任务的监控虚拟机(Monitor-VM)数量大、动态增减的不确定性,所述云监控装置采用针对IP定位执行具体任务的监控虚拟机(Monitor-VM)的方法,根据执行具体任务的监控虚拟机(Monitor-VM)数量的增减,同时动态的增减负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter)的数量,来确保每个执行具体任务的监控虚拟机(Monitor-VM)都能被有效监控到。
[0144]此外,将负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter)设置成所述云监控装置,来对同一网络隔离环境中的监控对象(例如,执行具体任务的监控虚拟机(Monitor-VM)、负责提供监控虚拟机的运行环境的物理主机(Monitor-Host)、云平台逻辑数据中心(Monitor-Zone)和负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter)本身)进行监控,解决了云计算平台网络隔离环境(例如,局域网)而带来的无法监控的问题。
[0145]需要特别指出的是,上述基于分布式推送的云监控装置的实施例仅采用了所述基于分布式推送的云监控方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述基于分布式推送的云监控方法的其他实施例中。当然,由于所述基于分布式推送的云监控方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述基于分布式推送的云监控装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
[0146]本发明的又一个方面,还提供了 一种基于分布式推送的云监控系统。
[0147]所述基于分布式推送的云监控系统,包括上述的基于分布式推送的云监控装置(Monitor-Master),待监控云计算资源(Monitor-Object,被监控者),以及云计算监控中心(Monitor-Center)。
[0148]参照附图3,为本发明提供的基于分布式推送的云监控装置的一个实施例的结构示意图。
[0149]所述基于分布式推送的云监控装置(Monitor-Master,监控者)300,包括:
[0150]分类模块301,用于将待监控云计算资源(Monitor-Object,被监控者)划分为执行具体任务的监控虚拟机(Monitor-VM)、负责提供监控虚拟机的运行环境的物理主机(Monitor-Host)、云平台逻辑数据中心(Monitor-Zone)和负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter);
[0151]监控守护模块302,用于运行监控守护进程;
[0152]数据采集模块303,用于分别采集所述监控虚拟机、物理主机、云平台逻辑数据中心和监控路由的数据;
[0153]数据推送模块304,用于将所述分别采集的数据直接推送给云计算监控中心(Monitor-Center)。
[0154]所述监控守护模块302、数据采集模块303和数据推送模块304的一种可实现方式
是,三者集成为一个模块-守护模块(Mon i tor-Daemon ),用于采集所述监控虚拟机、物理
主机、云平台逻辑数据中心和监控路由的数据,并将所述分别采集的数据直接推送给云计算监控中心(Monitor-Center),同时向云计算监控中心(Monitor-Center)报告自己的状态。
[0155]所述数据推送模块304直接推送给云计算监控中心(Monitor-Center)的采集数据,可存储在云计算平台的网络数据库(Monitor-DataBase)中。
[0156]所述云平台逻辑数据中心(Monitor-Zone),包含物理服务器、存储设备、网络设备
坐寸ο
[0157]进一步的,所述装置还包括监控后台模块305,用于运行监控后台进程,对所述装置本身和所述监控虚拟机、物理主机、云平台逻辑数据中心及监控路由进行初始化处理,并返回初始化数据到云计算监控中心(Monitor-Center );
[0158]所述监控守护模块302,还用于从云计算监控中心下载监控守护进程。
[0159]其中,所述监控后台模块305,还用于判断是否已完成初始化处理,若未完成,则进行初始化处理,并将初始化数据推送给云计算监控中心。所述初始化处理包括初始化所述装置本身和所述监控虚拟机、物理主机、云平台逻辑数据中心及监控路由的数据列表,并将该数据列表推送给云计算监控中心。
[0160]可选的,所述监控后台模块305,还用于监听所述装置本身(Monitor-Master)和所述监控虚拟机、物理主机、云平台逻辑数据中心的增加、删除、改动等信息;并实时更新云计算监控中心中的相关数据;所述监控后台模块305贯穿所述云监控装置的生命周期的始终。[0161]所述装置还包括本地存储模块(Monitor-Local-DataBase) 306 ;
[0162]当网络中断时,所述本地存储模块306用于存储所述分别采集的数据;
[0163]当网络恢复时,所述数据推送模块304还用于将存储在本地存储模块306中的所述分别采集的数据分批推送给云计算监控中心。
[0164]所述本地存储模块306中存储的文件形式为文本格式,每个监控信息数据对应存储为文本中的一条文本数据信息;所述文本数据信息的条数具有预定上限值;当文本数据信息的条数达到预定上限值,则所述本地存储模块306还用于进行滚动存储。
[0165]所述本地存储模块306还用于为每条所述文本数据信息对应设置推送标识;当文本数据信息已被推送时,修改推送标识;以及,识别所述推送标识,将已被推送的文本数据信息删除。
[0166]可选的,云监控装置300还包括监控调度器(Monitor-Scheduler) 307,用于运行套接字后台监控进程(socket Server),接收云计算监控中心的指令(例如监控数据采集周期等)以及向云计算监控中心返回相应的数据。在运行监控守护进程之前,要确保套接字后台监控进程是启动的,套接字后台监控进程用于辅助采集监控对象的性能数据。
[0167]较佳的,所述数据采集模块303,还用于根据预先设定的用户需求,将采集到的原始监控数据进行处理,筛选出所需监控数据;所述数据推送模块304还用于将筛选出的监控数据按规定的方式推送给云计算监控中心。
[0168]此外,云计算监控中心还用于对接收到的数据进行处理、存储以及与云计算平台(Monitor-Cloud-Platform)进行交互;云计算监控中心还用于对被监控端监控项目、监控周期、监控方法、监控粒度进行控制;云计算监控中心还用于根据监控策略及时的给管理人员发送邮件和/或短信、进行报告或发出警报。云计算监控中心还用于根据状况和策略更新状态,或发出警报。
[0169]从上面所述可以看出,本发明提供的基于分布式推送的云监控系统,针对云计算平台分布式环境下异构的、动态的、复杂的资源,提出了采取基于分布式推送的云监控装置(Monitor-Master),待监控云计算资源(Monitor-Object,被监控者),以及云计算监控中心(Monitor-Center)三核心结构的监控方案。
[0170]进一步的,通过将待监控云计算资源划分为执行具体任务的监控虚拟机(Moni tor-VM)、负责提供监控虚拟机的运行环境的物理主机(Monitor-Host)、云平台逻辑数据中心(Monitor-Zone )和负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter )四类资源,分别进行监控,解决了云计算平台资源多样性的监控问题。较佳的,所述云监控系统采用将监控数据主动推送到云计算监控中心的方式进行监控数据的获取,从而达到对监控目标的监控目的,解决了传统监控方法中轮询方式存在的请求多数无用且浪费带宽和服务器资源的问题。
[0171]进一步的,针对云计算平台网络环境的复杂性,所述云监控系统通过增设本地存储模块的方法,使得当与云计算监控中心能够网络联通时,将从监控对象中采集到的数据直接推送给云计算监控中心进而储存到云平台数据库,当与云计算监控中心网络中断时,仍按照预设的监控周期进行监控,此时采集到的数据会存储到本地存储模块,当与云计算监控中心网络恢复时,将本地存储模块中的数据分批全部推送到云计算平台的数据库中,保证监控数据的完整、连续、可靠。较佳的,本地存储采取文本格式存储,而不采用数据库,这样既能够减少部署复杂度,又能够提高存取效率。
[0172]可选的,针对云计算平台执行具体任务的监控虚拟机(Monitor-VM)数量大、动态增减的不确定性,所述云监控系统采用针对IP定位执行具体任务的监控虚拟机(Monitor-VM)的方法,根据执行具体任务的监控虚拟机(Monitor-VM)数量的增减,同时动态的增减负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter)的数量,来确保每个执行具体任务的监控虚拟机(Monitor-VM)都能被有效监控到。
[0173]此外,将负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter)设置成所述云监控装置,来对同一网络隔离环境中的监控对象(例如,执行具体任务的监控虚拟机(Monitor-VM)、负责提供监控虚拟机的运行环境的物理主机(Monitor-Host)、云平台逻辑数据中心(Monitor-Zone)和负责监控虚拟机网络路由转发的监控路由(Monitor-vRouter)本身)进行监控,解决了云计算平台网络隔离环境(例如,局域网)而带来的无法监控的问题。
[0174]需要特别指出的是,上述基于分布式推送的云监控系统的实施例仅采用了所述基于分布式推送的云监控方法及装置的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述基于分布式推送的云监控系统的其他实施例中。当然,由于所述基于分布式推送的云监控方法及装置实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述基于分布式推送的云监控系统也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
[0175]所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于分布式推送的云监控方法,其特征在于,包括: 将待监控云计算资源划分为执行具体任务的监控虚拟机、负责提供监控虚拟机的运行环境的物理主机、云平台逻辑数据中心和负责监控虚拟机网络路由转发的监控路由; 运行监控守护进程; 分别采集所述监控虚拟机、物理主机、云平台逻辑数据中心和监控路由的数据; 将所述分别采集的数据直接推送给云计算监控中心。
2.根据权利要求1所述的方法,其特征在于,运行监控守护进程的步骤之前还包括: 运行监控后台进程,进行初始化处理,并返回初始化数据;以及, 从云计算监控中心下载监控守护进程。
3.根据权利要求1或2所述的方法,其特征在于,将所述分别采集的数据直接推送给云计算监控中心的步骤包括: 当网络中断时,将所述分别采集的数据存储在本地; 当网络恢复时,将存储在本地的所述分别采集的数据分批推送给云计算监控中心。
4.根据权利要求3所述的方法,其特征在于,将所述分别采集的数据存储在本地的步骤中:本地存储的文件形式为文本格式,每个监控信息数据对应存储为文本中的一条文本数据信息;所述文本数据信息的条数具有预定上限值;当文本数据信息的条数达到预定上限值,则进行滚动存储。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括: 为每条所述文本数据信息对应设置推送标识; 当文本数据信息已被推送时,修改推送标识;以及, 识别所述推送标识,将已被推送的文本数据信息删除。
6.一种基于分布式推送的云监控装置,其特征在于,包括: 分类模块,用于将待监控云计算资源划分为执行具体任务的监控虚拟机、负责提供监控虚拟机的运行环境的物理主机、云平台逻辑数据中心和负责监控虚拟机网络路由转发的监控路由; 监控守护模块,用于运行监控守护进程; 数据采集模块,用于分别采集所述监控虚拟机、物理主机、云平台逻辑数据中心和监控路由的数据; 数据推送模块,用于将所述分别采集的数据直接推送给云计算监控中心。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括监控后台模块,用于运行监控后台进程,对所述装置本身和所述监控虚拟机、物理主机、云平台逻辑数据中心及监控路由进行初始化处理,并返回初始化数据; 所述监控守护模块,还用于从云计算监控中心下载监控守护进程。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括本地存储模块; 当网络中断时,所述本地存储模块用于存储所述分别采集的数据; 当网络恢复时,所述数据推送模块还用于将存储在本地存储模块中的所述分别采集的数据分批推送给云计算监控中心。
9.根据权利要求8所述的装置,其特征在于,所述本地存储模块中存储的文件形式为文本格式,每个监控信息数据对应存储为文本中的一条文本数据信息;所述文本数据信息的条数具有预定上限值;当文本数据信息的条数达到预定上限值,则所述本地存储模块还用于进行滚动存储。
10.根据权利要求9所述的装置,其特征在于,所述本地存储模块还用于为每条所述文本数据信息对应设置推送标识;当文本数据信息已被推送时,修改推送标识;以及,识别所述推送标识,将已被推送的文本数据信息删除。
11.一种基于分布式推送的云监控系统,其特征在于,包括:如权利要求6-10任意一项所述的基于分布式推送的云监控装置、云计算监控中心以及待监控云计算资源。
【文档编号】H04L29/08GK103780696SQ201410032576
【公开日】2014年5月7日 申请日期:2014年1月23日 优先权日:2014年1月23日
【发明者】杨金锋, 吴烜 申请人:北京荣之联科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1