监控系统的部署方法、装置、计算机设备及存储介质与流程

文档序号:15049781发布日期:2018-07-28 00:00阅读:175来源:国知局

本申请涉及计算机技术领域,尤其涉及一种监控系统的部署方法、装置、计算机设备及存储介质。



背景技术:

目前,市场上存在很多运维用的监控系统,比如zabbix监控系统和open-falcon监控系统。这些监控系统的组件模块数量较多,一般包括将近30多个组件模块。在部署这些监控系统时,需要保证每个组件模块的高可用性,才能确保整个监控系统的运行效率和监控质量。然而在现有的监控系统的部署方式,多采用一些管理工具对所述监控系统进行简单快捷的部署,比如ansible工具等,但是这种简单的部署方式降低了监控系统的系统可用性和监控效率,提升了运维复杂度,不能满足客户对监控系统的需求。



技术实现要素:

本申请提供了一种监控系统的部署方法、装置、计算机设备及存储介质,旨在提高监控系统的可用性。

第一方面,本申请提供了一种监控系统的部署方法,其包括:

获取监控系统的组件模块对应的组件信息,其中所述监控系统包括多个组件模块;

基于所述组件信息根据预设划分规则将多个所述组件模块划分为中心组件组和非中心组件组;

获取预设部署区域,其中所述预设部署区域包括中心部署区域和非中心部署区域;

将属于所述非中心组件组的组件模块按照预设部署规则部署在所述中心部署区域和非中心部署区域;以及

将属于所述中心组件组的组件模块部署在所述中心部署区域以完成对所述监控系统的部署。

第二方面,本申请提供了一种监控系统的部署装置,其包括:

信息获取单元,用于获取监控系统的组件模块对应的组件信息,其中所述监控系统包括多个组件模块;

组件划分单元,用于基于所述组件信息根据预设划分规则将多个所述组件模块划分为中心组件组和非中心组件组;

区域获取单元,用于获取预设部署区域,其中所述预设部署区域包括中心部署区域和非中心部署区域;

第一部署单元,用于将属于所述非中心组件组的组件模块按照预设部署规则部署在所述中心部署区域和非中心部署区域;以及

第二部署单元,用于将属于所述中心组件组的组件模块部署在所述中心部署区域以完成对所述监控系统的部署。

第三方面,本申请还提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请提供的任一项所述的监控系统的部署方法。

第四方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任一项所述的监控系统的部署方法。

本申请实施例的部署方法根据监控系统的组件模块的组件信息将组件模块划分为中心组件组和非中心组件组,将属于所述非中心组件组的组件模块按照预设部署规则部署在所述中心部署区域和非中心部署区域;以及将属于所述中心组件组的组件模块部署在所述中心部署区域以完成对所述监控系统的部署。该部署方法可以实现三地两中心的部署方式,这种部署方式有利于数据的分布式存储,进而提高了监控系统的可用性。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例提供的一种监控系统的部署方法的示意流程图;

图2是图1中监控系统的部署方法的子步骤示意流程图;

图3是图1中监控系统的部署方法的子步骤示意流程图;

图4是所述监控系统的部署效果示意图;

图5是本申请一实施例提供的一种监控系统的部署装置的示意性框图;

图6是本申请一实施例提供的一种计算机设备的示意性框图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1,图1是本申请一实施例提供的一种监控系统的部署方法的示意流程图。如图1所示,该部署方法包括步骤s101~s106。

s101、获取监控系统的组件模块对应的组件信息,其中所述监控系统包括多个组件模块。

在本实施例中,该监控系统为基于open-falcon监控系统进行二次开发的监控系统,该监控系统包括多个组件模块,每个组件模块完成不同的功能,比如agent组件模块,负责采集机器性能数据;transfer组件模块负责数据转发服务等,不同组件模块具有不同功能并完成不同的任务。

其中,所述组件信息包括组件模块的标识信息、组件功能信息和api接口信息等。

s102、基于所述组件信息根据预设划分规则将多个所述组件模块划分为中心组件组和非中心组件组。

在本实施例中,根据该监控系统的组件模块的组件信息对所有组件模块进行划分,具体分为中心组件组和非中心组件组,比如属于所述中心组件组的组件模块包括config-server、redis、mysql、alarm、sender、pa-portal和query-proxy等组件模块;属于所述非中心组件组的组件模块包括transfer、graph、hbs、query、config-proxy、meta和gitlab等组件模块。该中心组件组和非中心组件组的划分方便对监控数据进行分布式存储,以提高监控系统的可用性。

在本实施例中,基于所述组件信息根据预设划分规则将多个所述组件模块划分为中心组件组和非中心组件组,具体是根据所述组件信息中的组件功能信息和api接口信息对所述组件模块进行划分的。

在一实施例,例如本实施例中,如图2所示,步骤s102包括子步骤:s102a至s102d。

s102a、根据所述组件功能信息判断所述组件模块是否需要集中存储信息,以及根据所述api接口信息判断所述组件模块是否需要暴露统一的api接口;s102b、若所述组件模块需要集中存储信息,则将所述组件模块划分为所述中心组件组;s102c、若所述组件模块需要暴露统一的api接口,则将所述组件模块划分为所述中心组件组;以及s102d、若所述组件模块不需要集中存储信息且不需要暴露统一的api接口,则将所述组件模块划分为所述非中心组件组。

比如,alarm组件模块和redis组件模块均需要集中管理告警数据,因此需要集中存储信息;mysql组件模块用来集中存储配置数据,也需要集中存储信息;因此,所述alarm组件模块、redis组件模块和mysql组件模块均属于所述中心组件组。web组件模块需要提供页面访问和api访问,因此要暴露统一的api接口;query-proxy组件模块需要统一入口以供查询性能数据,因此也要暴露统一的api接口;所以web组件模块和query-proxy组件模块也属于所述中心组件组。

再比如,处理性能数据转发过滤的transfer组件模块,将性能数据存储的graph组件模块,告警判断的judge组件模块,负责该区域的性能数据查询的query组件模块,以及提供agent版本下发的meta组件模块,这些组件模块基本是分布式部署的,各个区域独立管理,因此既不需要集中存储信息,也不需要暴露统一的api接口,所以transfer、graph、judge、query和meta等组件模块均属于所述非中心组件组。

s103、获取预设部署区域,其中所述预设部署区域包括中心部署区域和非中心部署区域。

其中,该预设部署区域为用户需要部署该监控系统的区域,并在该区域上设置服务器,以将监控系统部署在该区域的服务器,实现对其他互联网产品的监控。该预设部署区域,具体可以为一个国家的几个城市,或者是一个城市的几个地区等,或者是一个公司不同的办公地点。

在本实施例中,该预设部署区域包括中心部署区域和非中心部署区域,其中,该中心部署区域包括深圳和上海,该非中心部署区域可以为广州、廊坊或青岛等地区。需要说明的是,该中心部署区域也可以作为非中心部署区域,比如,如图4所示,深圳、上海和廊坊即是非中心部署区域,也是中心部署区域,由此该预设部署区域为三地两中心,具体三地是指深圳、上海和廊坊,两中心是指深圳和上海。

s104、将属于所述非中心组件组的组件模块按照预设部署规则部署在所述中心部署区域和非中心部署区域。

在本实施例中,该预设部署规则是根据属于所述非中心组件组中的多个组件模块的功能进行预先设定的部署规则,目的使得属于非中心组件组的组件模块的部署逻辑更加合理,功能划分更加清晰。

具体地,将属于所述非中心组件组的组件模块按照预设部署规则部署在所述中心部署区域和非中心部署区域,是将属于所述非中心组件组的组件模块按照预设逻辑分区部署在所述中心部署区域和非中心部署区域。

在本实施例中,所述预设逻辑分区具体包括:可用区、公共服务区和云管区。如图3所示,步骤s104包括:子步骤s104a和s104b。

s104a、获取预设关系表,其中所述预设关系表包括属于所述非中心组件组的组件模块与所述可用区、公共服务区和云管区的对应关系;s104b、根据所述预设关系表将属于所述非中心组件组的组件模块分别对应部署在所述可用区、公共服务区和云管区。

具体地,该预设逻辑分区采用三层架构,从下而上分为可用区,公共服务区和云管区。根据组件模块的功能进行部署,具有不同功能的组件模块部署在不同区域。可通过预设关系表设置属于所述非中心组件组的组件模块与所述可用区、公共服务区和云管区的对应关系,在部署时可以根据该对应关系将属于所述非中心组件组的不同组件模块分别对应部署在所述可用区、公共服务区和云管区。

譬如,将主机信息采集和上报的对应的组件模块部署在可用区,比如:agent模块组件起代理转发功能部署在公共服务区;gateway组件模块和proxy组件模块为处理性能数据、告警数据或者下发指令部署在云管区;transfer、judge、graph、redis、mysql和alarm等组件模块也部署在云管区。将属于所述非中心组件组的组件模块按照预设逻辑分区部署在所述中心部署区域和非中心部署区域,使得监控系统的功能划分更加清晰;同时也具有更好的安全性。

具体地,用户的云主机部署在可用区,公共服务区为该可用区提供基础服务,如监控、部署、yum(安装软件服务)、ntp(时间同步服务)和dns(域名解析服务)等。云管区部署云平台的中心节点系统的应用。因此和用户有直接交互的平台服务放在靠近可用区的公共服务区,而云平台自身的核心服务放置在云管区,由此安全隔离性更好,中间多增加一个逻辑隔离层,用户的主机不能直接和云平台的核心系统做交互,因此这样有助于增加系统的安全性,这样核心系统不容易受到来自用户区域的直接攻击和非法访问。

需要说明的是,在具体部署时可以根据上述部署方法借助容器集群管理系统(kubernetes,简称k8s)对所述监控系统的非中心组件组的组件模块进行部署,当然也可以采用其他的管理系统进行部署,比如ansible管理系统。

s105、将属于所述中心组件组的组件模块部署在所述中心部署区域以完成对所述监控系统的部署。

在本实施例中,是将属于所述中心组件组的多个组件模块部署在中心部署区域,比如部署深圳中心区和上海中心区。具体也可采用所述容器集群管理系统(kubernetes,简称k8s)进行部署。

请参照图4,图4是采用本实施例中的部署方法部署的监控系统的部署效果示意图。图4中非中心部署区域和中心部署区域均包括云管区、公共服务区和可用区,该逻辑分区用于部署属于非中心组件组的组件模块,图4中中心部署区域还用于部署属于中心组件组的组件模块,对于属于中心组件组的组件模块不采用逻辑分区的方式进行部署。

在本实施例中,所述预设部署区域包括两个中心部署区域和至少一个非中心部署区域,两个所述中心部署区域分别为生产数据中心区和灾备数据中心区。如图4所示,具体为深圳生成数据中心和上海灾备数据中心区,以及深圳、上海和廊坊等非中心部署区域。属于非中心组件组的组件模块在深圳、上海和廊坊均采用逻辑分区部署进行部署,属于中心组件组的组件模块只部署在深圳生成数据中心和上海灾备数据中心区。

上述实施例的部署方法根据监控系统的组件模块的组件信息将组件模块划分为中心组件组和非中心组件组,再将属于所述非中心组件组的组件模块按照预设部署规则部署在所述中心部署区域和非中心部署区域;以及将属于所述中心组件组的组件模块部署在所述中心部署区域以完成对所述监控系统的部署。该部署方法可以实现三地两中心的部署方式,这种部署方式有利于数据的分布式存储,以及提高了监控系统的高可用性。

请参阅图5,图5是本申请实施例提供的一种监控系统的部署装置的示意性框图。该监控系统的部署装置400可以安装于服务器中。如图5所示,监控系统的部署装置400包括:信息获取单元401、组件划分单元402、区域获取单元403、第一部署单元404和第二部署单元405。

信息获取单元401,用于获取监控系统的组件模块对应的组件信息,其中所述监控系统包括多个组件模块。

组件划分单元402,用于基于所述组件信息根据预设划分规则将多个所述组件模块划分为中心组件组和非中心组件组。

具体地,组件划分单元402,包括:组件判断子单元4021、第一划分子单元4022、第二划分子单元4023和第三划分子单元4024。

其中,组件判断子单元4021,用于根据所述组件功能信息判断所述组件模块是否需要集中存储信息,以及根据所述api接口信息判断所述组件模块是否需要暴露统一的api接口;第一划分子单元4022,用于若所述组件模块需要集中存储信息,则将所述组件模块划分为所述中心组件组;第二划分子单元4023,用于若所述组件模块需要暴露统一的api接口,则将所述组件模块划分为所述中心组件组;以及第三划分子单元4024,用于若所述组件模块不需要集中存储信息且不需要暴露统一的api接口,则将所述组件模块划分为所述非中心组件组。

区域获取单元403,用于获取预设部署区域,其中所述预设部署区域包括中心部署区域和非中心部署区域。

第一部署单元404,用于将属于所述非中心组件组的组件模块按照预设部署规则部署在所述中心部署区域和非中心部署区域。

其中,第一部署单元404,具体用于将属于所述非中心组件组的组件模块按照预设逻辑分区部署在所述中心部署区域和非中心部署区域。

具体地,第一部署单元404,包括:关系表获取子单元4041和组件部署子单元4042。其中,关系表获取子单元4041,用于获取预设关系表,其中所述预设关系表包括属于所述非中心组件组的组件模块与所述可用区、公共服务区和云管区的对应关系;组件部署子单元4042,用于根据所述预设关系表将属于所述非中心组件组的组件模块分别对应部署在所述可用区、公共服务区和云管区。

第二部署单元405,用于将属于所述中心组件组的组件模块部署在所述中心部署区域以完成对所述监控系统的部署。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的监控系统的部署装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的监控系统的部署装置和方法,可以通过其它的方式实现。例如,以上所描述的监控系统的部署装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图6所示的计算机设备上运行。

请参阅图6,图6是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备700设备可以是服务器。

参照图6,该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。

该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行一种监控系统的部署方法。

该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。

该内存储器740为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器720执行时,可使得处理器720执行一种监控系统的部署方法。

该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器720用于运行存储在存储器中的程序代码,以实现如下步骤:

获取监控系统的组件模块对应的组件信息,其中所述监控系统包括多个组件模块;

基于所述组件信息根据预设划分规则将多个所述组件模块划分为中心组件组和非中心组件组;

获取预设部署区域,其中所述预设部署区域包括中心部署区域和非中心部署区域;

将属于所述非中心组件组的组件模块按照预设部署规则部署在所述中心部署区域和非中心部署区域;以及

将属于所述中心组件组的组件模块部署在所述中心部署区域以完成对所述监控系统的部署。

在一实施例中,处理器720在执行所述将属于所述非中心组件组的组件模块按照预设部署规则部署在所述中心部署区域和非中心部署区域时,具体执行如下步骤:

将属于所述非中心组件组的组件模块按照预设逻辑分区部署在所述中心部署区域和非中心部署区域。

在一实施例中,所述预设逻辑分区具体包括:可用区、公共服务区和云管区,处理器720在执行所述将属于所述非中心组件组的组件模块按照预设逻辑分区部署在所述中心部署区域和非中心部署区域时,具体执行如下步骤:

获取预设关系表,其中所述预设关系表包括属于所述非中心组件组的组件模块与所述可用区、公共服务区和云管区的对应关系;以及

根据所述预设关系表将属于所述非中心组件组的组件模块分别对应部署在所述可用区、公共服务区和云管区。

在一实施例中,所述组件信息包括组件功能信息和api接口信息,处理器720在执行所述基于所述组件信息根据预设划分规则将多个所述组件模块划分为中心组件组和非中心组件组时,具体执行如下步骤:

根据所述组件功能信息判断所述组件模块是否需要集中存储信息,以及根据所述api接口信息判断所述组件模块是否需要暴露统一的api接口;

若所述组件模块需要集中存储信息,则将所述组件模块划分为所述中心组件组;

若所述组件模块需要暴露统一的api接口,则将所述组件模块划分为所述中心组件组;以及

若所述组件模块不需要集中存储信息且不需要暴露统一的api接口,则将所述组件模块划分为所述非中心组件组。

应当理解,在本申请实施例中,处理器720可以是中央处理单元(centralprocessingunit,cpu),该处理器720还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本领域技术人员可以理解,图6中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本领域普通技术人员可以理解的是实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于一存储介质中,该存储介质为计算机可读存储介质。如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程步骤。

该计算机可读存储介质可以是磁碟、光盘、u盘、移动硬盘、随机存储记忆体(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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