一种低耦合自动化运维系统及方法与流程

文档序号:15357740发布日期:2018-09-05 00:12阅读:130来源:国知局

本发明涉及服务器运维技术领域,具体涉及一种低耦合自动化运维系统及方法。



背景技术:

随着信息时代的持续发展,it运维已经成为it服务内涵中重要的组成部分。面对越来越复杂的业务,越来越多样化的用户需求,不断扩展的it应用需要越来越合理的模式来保障it服务能灵活便捷、安全稳定地持续保障,这种模式中的保障因素就是it运维(其他因素是更加优越的it架构等)。从初期的几台服务器发展到庞大的数据中心,单靠人工已经无法满足在技术、业务、管理等方面的要求,那么标准化、自动化、架构优化、过程优化等降低it服务成本的因素越来越被人们所重视。其中,自动化最开始作为代替人工操作为出发点的诉求被广泛研究和应用。

it运维从诞生发展至今,自动化作为其重要属性之一已经不仅仅只是代替人工操作,更重要的是深层探知和全局分析,关注的是在当前条件下如何实现性能与服务最优化,同时保障投资收益最大化。自动化对it运维的影响,已经不仅仅是人与设备之间的关系,已经发展到了面向客户服务驱动it运维决策的层面,it运维团队的构成,也从各级技术人员占大多数发展到业务人员甚至用户占大多数的局面。现阶段运维自动化存在以下问题:耦合度较高:现有的技术方案中,组件之间的耦合度较高,无法独立部署和工作,导致整个运维系统的部署复杂度较大;集中式部署:现有的技术方案大多采用集中式部署的方式,无法支撑大规模的运维对象,并且不利于后期的扩展和升级;传统架构部署:采用传统的物理环境或者虚拟机中部署,部署依赖软件包比较多,部署的步骤复杂,而且极易出现错误。



技术实现要素:

本发明的目的在于提供一种低耦合自动化运维系统及方法,立足于传统的数据中心架构,并能更好的支持私有云和公有云平台,做到传统运维和云运维的结合,采用“平台化、组件化、松耦合、全开放”的设计思想,以平台化、模块化实现工具集成、功能聚合,改变原有运检工具分散独立运行的现状,将运维工作全部整合在统一的平台中,并且各模块均提供标准化接口,满足组件化、松耦合的原则,可以与其他系统的功能模块方便地集成;其核心是从配置管理着手,配合监控工具,对各类应用系统进行从基础资源的部署到应用发布,再到运行维护的全生命周期的管理,最终实现运维的自动化、可视化、智能化。

为实现上述目的,本发明的技术方案为:一种低耦合自动化运维系统,所述运维系统包括运维平台,与所述运维平台通过管理入口建立连接关系的平台中心单元、权限中心单元、场景中心单元、执行中心单元和工具中心单元;

所述平台中心单元包括平台api组件、高可靠类组件和容器部署组件;所述平台api组件用于将用户请求通过路由发送到相应的功能模块执行;所述高可靠类组件包括心跳组件、高可用组件和负载均衡组件,所述心跳组件用于提供各服务器之间的心跳通信保证服务器的健康运行;所述高可用组件用于当组件服务出现故障时,尝试重新启动服务;所述负载均衡组件用于在高并发的情况下将用户请求转发到不同的服务器上;所述容器部署组件用于接收平台api组件发起的部署指令;

所述权限中心单元包括权限api组件、管理组件和认证组件;所述权限api组件用于接收用户对权限中心单元的管理请求并将管理请求进行路由发送给所述管理组件和认证组件;所述管理组件用于对系统用户和运维对象进行权限认证并对组件进行管理;所述认证组件用于完成系统认证工作并根据不同的角色和访问对象返回是否有权限进行访问和控制;

所述场景中心单元包括场景编排组件、场景触发模块、场景执行模块和场景关闭模块;所述场景编排组件用于根据运维对象信息生成场景;所述场景触发模块用于在手动执行或规则自动触发情况下进行场景触发;所述场景执行模块用于根据内部流程控制机制读取配置信息库交给执行中心单元调用工具中心单元场景中定义的任务;所述场景关闭模块用于在场景执行结束后关闭场景结束整个生命周期;

所述执行中心单元包括执行api组件、scheduler组件、executor组件、conductor组件和result组件;所述执行api组件用于开启运维任务的执行过程;所述scheduler组件用于根据执行api组件任务的调度,决定运维任务的执行服务器和执行工具;所述executor组件用于与具体工具交互,执行同步或异步任务;所述conductor组件用于将执行中心单元的数据读写功能进行解耦;所述result组件用于对运维任务的结果进行处理;

所述工具中心单元包括工具api组件、工具管理组件和工具包;所述工具api组件用于接收平台中心单元的管理请求或场景中心单元的编排请求或执行中心单元的执行请求;所述工具管理组件用于对工具包进行管理;所述工具包用于提供运维管理的工具。

如上所述的一种低耦合自动化运维系统,所述管理入口采用web前端或cli命令行,由client组件发送restfulapi请求给所述平台中心单元、权限中心单元、场景中心单元、执行中心单元和工具中心单元的api组件。

如上所述的一种低耦合自动化运维系统,所述平台中心单元还包括支撑类组件,所述支撑类组件包括消息队列组件、分布式任务组件和日志管理组件;所述消息队列组件用于在运维自动化系统内提供消息总线服务,组件之间、中心之间通过消息总线进行通信;所述分布式任务组件用于接收各组件提交的任务,对任务进行分布式调度,由相应的组件执行任务,并对结果进行管理;所述日志管理组件用于完成系统组件的日志任务,建立统一的日志中心对整个平台的日志信息进行管理。

如上所述的一种低耦合自动化运维系统,所述executor组件中,如果是同步任务,任务的执行结果在执行完成后由executor组件交给result组件,最后由执行api组件返回;如果是异步任务,任务的执行结果在执行完成后由工具中心单元直接返回给result组件,由api组件返回给场景中心。

如上所述的一种低耦合自动化运维系统,所述运维系统还包括关系数据库,所述关系数据库用于采用开源多用户的关系数据库存储执行中心的数据,关系数据库与所述平台中心单元、权限中心单元、场景中心单元、执行中心单元和工具中心单元建立连接关系。

本发明还提供一种低耦合自动化运维方法,所述运维方法包括:

用户将平台中心单元的管理请求发送到平台api组件,由平台api组件对管理请求进行路由发送给相应的功能模块执行;由平台api组件发起部署指令给容器部署组件,再启动相应组件的容器镜像提供服务;

用户将权限中心单元的管理请求发送到权限api组件,由权限api组件对管理请求进行路由发送给管理组件和认证组件,管理组件收到请求,对系统中的用户、运维对象进行权限的认证,同时还对平台中心单元、场景中心单元、执行中心单元和工具中心单元的组件进行管理,并返回结果;

场景中心单元通过读取运维对象信息,调用工具、通过场景编排组件生成场景;场景注册到场景库后根据场景监控功能,判断场景的触发条件,当达到条件时自动触发场景的执行,场景执行之前读取配置信息库,交给执行中心单元调用工具执行场景中定义的任务;

执行中心单元接收场景中心单元的请求,与工具中心单元和运维对象进行交互,完成运维自动化平台的指挥工作。

如上所述的一种低耦合自动化运维方法,所述用户中心单元通过消息队列组件在运维自动化系统内提供消息总线服务,组件之间、中心之间通过消息总线进行通信;分布式任务组件接收各组件提交的任务,对任务进行分布式调度,由相应的组件执行任务,并对结果进行管理;日志管理组件完成所有组件的日志任务,建立统一的日志中心,实现整个系统的日志信息管理。

如上所述的一种低耦合自动化运维方法,所述执行中心单元通过执行api组件开启运维任务的执行过程,执行api组件调用scheduler组件进行任务的调度,决定执行运维任务的服务器和工具,并将调度结果发送给executor组件,exucutor组件与具体的工具交互,执行任务,如巡检任务,调用巡检工具,进行运维对象的巡检。如果是同步任务,任务的执行结果在执行完成后由executor交给result组件,最后由执行api组件返回;如果是异步任务,任务的执行结果在执行完成后由工具中心直接返回给result组件,由执行api组件返回给场景中心单元。

如上所述的一种低耦合自动化运维方法,所述平台中心单元对工具中心单元的管理包括两个层面,一个是运营层面,建立工具从注册上线、买卖直至下线的整个生命周期;二是执行层面,将工具在平台环境中上线启动,通过场景中心单元进行调用。

本发明具有如下优点:耦合度低,将系统的功能拆分成多个小的功能组件,并且每个功能组件都能够独立运行,降低了平台整体的耦合度;层级部署,系统整体上按照层级进行部署,从下向上分为数据库节点、控制节点、代理节点三个级别,划分开数据、控制和被控几个功能角色,最大程度的降低了各个组件之间的依赖关系,所有的数据传输和方法调用都通过restapi和消息队列,保证数据传输效率和准确性的同时,降低耦合度。

附图说明

图1为低耦合自动化运维系统示意图;

图2为平台中心单元示意图;

图3为权限中心单元示意图;

图4为场景中心单元示意图;

图5为执行中心单元示意图;

图6为工具中心单元示意图。

具体实施方式

以下实施例用于说明本发明,但不用来限制本发明的范围。

参见图1至图6,一种低耦合自动化运维系统,所述运维系统包括运维平台,与所述运维平台通过管理入口建立连接关系的平台中心单元1、权限中心单元2、场景中心单元3、执行中心单元4和工具中心单元5;

所述平台中心单元1包括平台api组件101、高可靠类组件和容器部署组件103;所述平台api组件101用于将用户请求通过路由发送到相应的功能模块执行;所述高可靠类组件包括心跳组件102、高可用组件104和负载均衡组件105,所述心跳组件102用于提供各服务器之间的心跳通信保证服务器的健康运行;所述高可用组件104用于当组件服务出现故障时,尝试重新启动服务;所述负载均衡组件105用于在高并发的情况下将用户请求转发到不同的服务器上;所述容器部署组件103用于接收平台api组件101发起的部署指令;

所述权限中心单元2包括权限api组件201、管理组件202和认证组件203;所述权限api组件201用于接收用户对权限中心单元2的管理请求并将管理请求进行路由发送给所述管理组件202和认证组件203;所述管理组件202用于对系统用户和运维对象进行权限认证并对组件进行管理;所述认证组件203用于完成系统认证工作并根据不同的角色和访问对象返回是否有权限进行访问和控制;

所述场景中心单元3包括场景编排组件301、场景触发模块302、场景执行模块303和场景关闭模块304;所述场景编排组件301用于根据运维对象信息生成场景;所述场景触发模块302用于在手动执行或规则自动触发情况下进行场景触发;所述场景执行模块303用于根据内部流程控制机制读取配置信息库交给执行中心单元4调用工具中心单元5场景中定义的任务;所述场景关闭模块304用于在场景执行结束后关闭场景结束整个生命周期;

所述执行中心单元4包括执行api组件401、scheduler组件402、executor组件403、conductor组件404和result组件405;所述执行api组件401用于开启运维任务的执行过程;所述scheduler组件402用于根据执行api组件401任务的调度,决定运维任务的执行服务器和执行工具;所述executor组件403用于与具体工具交互,执行同步或异步任务;所述conductor组件404用于将执行中心单元4的数据读写功能进行解耦;所述result组件405用于对运维任务的结果进行处理;

所述工具中心单元5包括工具api组件501、工具管理组件502和工具包503;所述工具api组件501用于接收平台中心单元1的管理请求或场景中心单元3的编排请求或执行中心单元4的执行请求;所述工具管理组件502用于对工具包503进行管理;所述工具包503用于提供运维管理的工具。

低耦合自动化运维系统的一个实施例中,所述管理入口采用web前端或cli命令行,由client组件发送restfulapi请求给所述平台中心单元1、权限中心单元2、场景中心单元3、执行中心单元4和工具中心单元5的api组件。

低耦合自动化运维系统的一个实施例中,所述平台中心单元1还包括支撑类组件,所述支撑类组件包括消息队列组件106、分布式任务组件107和日志管理组件108;所述消息队列组件106用于在运维自动化系统内提供消息总线服务,组件之间、中心之间通过消息总线进行通信;所述分布式任务组件107用于接收各组件提交的任务,对任务进行分布式调度,由相应的组件执行任务,并对结果进行管理;所述日志管理组件108用于完成系统组件的日志任务,建立统一的日志中心对整个平台的日志信息进行管理。

低耦合自动化运维系统的一个实施例中,所述executor组件403中,如果是同步任务,任务的执行结果在执行完成后由executor组件403交给result组件405,最后由执行api组件401返回;如果是异步任务,任务的执行结果在执行完成后由工具中心单元5直接返回给result组件405,由api组件返回给场景中心。

低耦合自动化运维系统的一个实施例中,所述运维系统还包括关系数据库6,所述关系数据库6用于采用开源多用户的关系数据库存储执行中心的数据,关系数据库6与所述平台中心单元1、权限中心单元2、场景中心单元3、执行中心单元4和工具中心单元5建立连接关系。

再次参见图1至图6,本发明还提供一种低耦合自动化运维方法,所述运维方法包括:

用户将平台中心单元1的管理请求发送到平台api组件101,由平台api组件101对管理请求进行路由发送给相应的功能模块执行;由平台api组件101发起部署指令给容器部署组件103,再启动相应组件的容器镜像提供服务;

用户将权限中心单元2的管理请求发送到权限api组件201,由权限api组件201对管理请求进行路由发送给管理组件202和认证组件203,管理组件202收到请求,对系统中的用户、运维对象进行权限的认证,同时还对平台中心单元1、场景中心单元3、执行中心单元4和工具中心单元5的组件进行管理,并返回结果;

场景中心单元3通过读取运维对象信息,调用工具、通过场景编排组件301生成场景;场景注册到场景库后根据场景监控功能,判断场景的触发条件,当达到条件时自动触发场景的执行,场景执行之前读取配置信息库,交给执行中心单元4调用工具执行场景中定义的任务;

执行中心单元4接收场景中心单元3的请求,与工具中心单元5和运维对象进行交互,完成运维自动化平台的指挥工作。

低耦合自动化运维方法的一个实施例中,所述用户中心单元通过消息队列组件106在运维自动化系统内提供消息总线服务,组件之间、中心之间通过消息总线进行通信;分布式任务组件107接收各组件提交的任务,对任务进行分布式调度,由相应的组件执行任务,并对结果进行管理;日志管理组件108完成所有组件的日志任务,建立统一的日志中心,实现整个系统的日志信息管理。

低耦合自动化运维方法的一个实施例中,所述执行中心单元4通过执行api组件401开启运维任务的执行过程,执行api组件401调用scheduler组件402进行任务的调度,决定执行运维任务的服务器和工具,并将调度结果发送给executor组件403,exucutor组件与具体的工具交互,执行任务,如巡检任务,调用巡检工具,进行运维对象的巡检。如果是同步任务,任务的执行结果在执行完成后由executor交给result组件405,最后由执行api组件401返回;如果是异步任务,任务的执行结果在执行完成后由工具中心直接返回给result组件405,由执行api组件401返回给场景中心单元3。

低耦合自动化运维方法的一个实施例中,所述平台中心单元1对工具中心单元5的管理包括两个层面,一个是运营层面,建立工具从注册上线、买卖直至下线的整个生命周期;二是执行层面,将工具在平台环境中上线启动,通过场景中心单元3进行调用。工具中心单元5对工具包的管理从注册开始,经由管理员审核工具的合规性和可用性,审核通过进行工具的发布,完成工具的上架;工具开始运行后,普通用户可以对其功能和性能等方面进行评价,如果有过多的负面评价,工具会被执行下架操作,结束其生命周期。工具包的管理主要是指工具的上传和下载等存储操作,并定期进行工具包的校验。场景中心单元的编排任务会发送到工具包管理,从中进行工具和功能的选择,再由场景中心调用完成运维操作。

本发明的一个实施例中设计技术路线如下:

本发明中,平台中心单元1提供自动化运维系统的整体控制能力,支撑系统平台的正常运行,为其他中心提供基础服务,如消息队列服务。权限中心单元2管理平台中的基本对象的权限,包括用户的权限、场景的权限、工具的权限、运维对象的权限等。场景中心单元3根据运维工作的具体业务需求,将工作任务的处理过程进行编排,组合工具中心中的不同运维工具,形成工作流程线,更加便利的实现运维功能。执行中心单元4对具体的运维操作进行管理,从运维动作的启动,到运维动作的结束,提供完整的生命周期的控制。工具中心单元5将所有的运维功能集合以工具为基本单位对外提供服务,对各运维工具进管理。本发明立足于传统的数据中心架构,并能更好的支持私有云和公有云平台,做到传统运维和云运维的结合,根据“平台化、组件化、松耦合、全开放”设计原则,以平台化、模块化实现工具集成、功能聚合,改变原有运检工具分散独立运行的现状,将运维工作全部整合在统一的平台中,并且各模块均提供标准化接口,满足组件化、松耦合的原则,可以与其他系统的功能模块方便地集成;其核心是从配置管理着手,配合监控工具,对各类应用系统进行从基础资源的部署到应用发布,再到运行维护的全生命周期的管理,最终实现运维的自动化、可视化、智能化。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

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